mirror of https://github.com/kubernetes/kops.git
Validate after updating bastion
This commit is contained in:
parent
2e36124f77
commit
1239c05e71
|
|
@ -189,11 +189,7 @@ func (r *RollingUpdateInstanceGroup) RollingUpdate(rollingUpdateData *RollingUpd
|
|||
klog.Infof("waiting for %v after terminating instance", sleepAfterTerminate)
|
||||
time.Sleep(sleepAfterTerminate)
|
||||
|
||||
if isBastion {
|
||||
klog.Infof("Deleted a bastion instance, %s, and continuing with rolling-update.", instanceId)
|
||||
|
||||
continue
|
||||
} else if rollingUpdateData.CloudOnly {
|
||||
if rollingUpdateData.CloudOnly {
|
||||
klog.Warningf("Not validating cluster as cloudonly flag is set.")
|
||||
|
||||
} else if featureflag.DrainAndValidateRollingUpdate.Enabled() {
|
||||
|
|
|
|||
|
|
@ -25,7 +25,6 @@ import (
|
|||
"github.com/aws/aws-sdk-go/aws"
|
||||
"github.com/aws/aws-sdk-go/service/autoscaling"
|
||||
"github.com/stretchr/testify/assert"
|
||||
|
||||
v1 "k8s.io/api/core/v1"
|
||||
v1meta "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
"k8s.io/client-go/kubernetes/fake"
|
||||
|
|
@ -500,6 +499,41 @@ func TestRollingUpdateClusterErrorsValidationAfterOneNode(t *testing.T) {
|
|||
assertGroupInstanceCount(t, cloud, "node-1", 1)
|
||||
}
|
||||
|
||||
type failThreeTimesClusterValidator struct {
|
||||
invocationCount int
|
||||
}
|
||||
|
||||
func (v *failThreeTimesClusterValidator) Validate() (*validation.ValidationCluster, error) {
|
||||
v.invocationCount++
|
||||
if v.invocationCount <= 3 {
|
||||
return &validation.ValidationCluster{
|
||||
Failures: []*validation.ValidationError{
|
||||
{
|
||||
Kind: "testing",
|
||||
Name: "testingfailure",
|
||||
Message: "testing failure",
|
||||
},
|
||||
},
|
||||
}, nil
|
||||
}
|
||||
return &validation.ValidationCluster{}, nil
|
||||
}
|
||||
|
||||
func TestRollingUpdateValidatesAfterBastion(t *testing.T) {
|
||||
c, cloud, cluster := getTestSetup()
|
||||
|
||||
c.ValidationTimeout = 10 * time.Millisecond
|
||||
c.ClusterValidator = &failThreeTimesClusterValidator{}
|
||||
|
||||
err := c.RollingUpdate(getGroupsAllNeedUpdate(), cluster, &kopsapi.InstanceGroupList{})
|
||||
assert.NoError(t, err, "rolling update")
|
||||
|
||||
assertGroupInstanceCount(t, cloud, "node-1", 0)
|
||||
assertGroupInstanceCount(t, cloud, "node-2", 0)
|
||||
assertGroupInstanceCount(t, cloud, "master-1", 0)
|
||||
assertGroupInstanceCount(t, cloud, "bastion-1", 0)
|
||||
}
|
||||
|
||||
func assertGroupInstanceCount(t *testing.T, cloud awsup.AWSCloud, groupName string, expected int) {
|
||||
asgGroups, _ := cloud.Autoscaling().DescribeAutoScalingGroups(&autoscaling.DescribeAutoScalingGroupsInput{
|
||||
AutoScalingGroupNames: []*string{aws.String(groupName)},
|
||||
|
|
|
|||
Loading…
Reference in New Issue