mirror of https://github.com/kubernetes/kops.git
extract CloudInstanceGroup setup in rollingupdate tests
This commit is contained in:
parent
3d6d6734e5
commit
7e8c77a8bf
|
@ -18,6 +18,7 @@ package instancegroups
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"errors"
|
"errors"
|
||||||
|
"fmt"
|
||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
@ -108,6 +109,112 @@ func (*erroringClusterValidator) Validate() (*validation.ValidationCluster, erro
|
||||||
return nil, errors.New("testing validation error")
|
return nil, errors.New("testing validation error")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func getGroups() map[string]*cloudinstances.CloudInstanceGroup {
|
||||||
|
groups := make(map[string]*cloudinstances.CloudInstanceGroup)
|
||||||
|
groups["node-1"] = &cloudinstances.CloudInstanceGroup{
|
||||||
|
InstanceGroup: &kopsapi.InstanceGroup{
|
||||||
|
ObjectMeta: v1meta.ObjectMeta{
|
||||||
|
Name: "node-1",
|
||||||
|
},
|
||||||
|
Spec: kopsapi.InstanceGroupSpec{
|
||||||
|
Role: kopsapi.InstanceGroupRoleNode,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Ready: []*cloudinstances.CloudInstanceGroupMember{
|
||||||
|
{
|
||||||
|
ID: "node-1a",
|
||||||
|
Node: &v1.Node{},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
ID: "node-1b",
|
||||||
|
Node: &v1.Node{},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
groups["node-2"] = &cloudinstances.CloudInstanceGroup{
|
||||||
|
InstanceGroup: &kopsapi.InstanceGroup{
|
||||||
|
ObjectMeta: v1meta.ObjectMeta{
|
||||||
|
Name: "node-2",
|
||||||
|
},
|
||||||
|
Spec: kopsapi.InstanceGroupSpec{
|
||||||
|
Role: kopsapi.InstanceGroupRoleNode,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Ready: []*cloudinstances.CloudInstanceGroupMember{
|
||||||
|
{
|
||||||
|
ID: "node-2a",
|
||||||
|
Node: &v1.Node{},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
ID: "node-2b",
|
||||||
|
Node: &v1.Node{},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
groups["master-1"] = &cloudinstances.CloudInstanceGroup{
|
||||||
|
InstanceGroup: &kopsapi.InstanceGroup{
|
||||||
|
ObjectMeta: v1meta.ObjectMeta{
|
||||||
|
Name: "master-1",
|
||||||
|
},
|
||||||
|
Spec: kopsapi.InstanceGroupSpec{
|
||||||
|
Role: kopsapi.InstanceGroupRoleMaster,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Ready: []*cloudinstances.CloudInstanceGroupMember{
|
||||||
|
{
|
||||||
|
ID: "master-1a",
|
||||||
|
Node: &v1.Node{},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
groups["bastion-1"] = &cloudinstances.CloudInstanceGroup{
|
||||||
|
InstanceGroup: &kopsapi.InstanceGroup{
|
||||||
|
ObjectMeta: v1meta.ObjectMeta{
|
||||||
|
Name: "bastion-1",
|
||||||
|
},
|
||||||
|
Spec: kopsapi.InstanceGroupSpec{
|
||||||
|
Role: kopsapi.InstanceGroupRoleBastion,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Ready: []*cloudinstances.CloudInstanceGroupMember{
|
||||||
|
{
|
||||||
|
ID: "bastion-1a",
|
||||||
|
Node: &v1.Node{},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
return groups
|
||||||
|
}
|
||||||
|
|
||||||
|
func markNeedUpdate(group *cloudinstances.CloudInstanceGroup, nodeIds ...string) {
|
||||||
|
for _, nodeId := range nodeIds {
|
||||||
|
found := false
|
||||||
|
for _, member := range group.Ready {
|
||||||
|
if member.ID == nodeId {
|
||||||
|
group.NeedUpdate = append(group.NeedUpdate, &cloudinstances.CloudInstanceGroupMember{
|
||||||
|
ID: member.ID,
|
||||||
|
Node: member.Node,
|
||||||
|
CloudInstanceGroup: member.CloudInstanceGroup,
|
||||||
|
})
|
||||||
|
found = true
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if !found {
|
||||||
|
panic(fmt.Sprintf("didn't find nodeId %s in ready list", nodeId))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func getGroupsAllNeedUpdate() map[string]*cloudinstances.CloudInstanceGroup {
|
||||||
|
groups := getGroups()
|
||||||
|
markNeedUpdate(groups["node-1"], "node-1a", "node-1b")
|
||||||
|
markNeedUpdate(groups["node-2"], "node-2a", "node-2b")
|
||||||
|
markNeedUpdate(groups["master-1"], "master-1a")
|
||||||
|
markNeedUpdate(groups["bastion-1"], "bastion-1a")
|
||||||
|
return groups
|
||||||
|
}
|
||||||
|
|
||||||
func TestRollingUpdateAllNeedUpdate(t *testing.T) {
|
func TestRollingUpdateAllNeedUpdate(t *testing.T) {
|
||||||
k8sClient := fake.NewSimpleClientset()
|
k8sClient := fake.NewSimpleClientset()
|
||||||
|
|
||||||
|
@ -131,116 +238,7 @@ func TestRollingUpdateAllNeedUpdate(t *testing.T) {
|
||||||
cloud := c.Cloud.(awsup.AWSCloud)
|
cloud := c.Cloud.(awsup.AWSCloud)
|
||||||
setUpCloud(c)
|
setUpCloud(c)
|
||||||
|
|
||||||
groups := make(map[string]*cloudinstances.CloudInstanceGroup)
|
err := c.RollingUpdate(getGroupsAllNeedUpdate(), cluster, &kopsapi.InstanceGroupList{})
|
||||||
groups["node-1"] = &cloudinstances.CloudInstanceGroup{
|
|
||||||
InstanceGroup: &kopsapi.InstanceGroup{
|
|
||||||
ObjectMeta: v1meta.ObjectMeta{
|
|
||||||
Name: "node-1",
|
|
||||||
},
|
|
||||||
Spec: kopsapi.InstanceGroupSpec{
|
|
||||||
Role: kopsapi.InstanceGroupRoleNode,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
Ready: []*cloudinstances.CloudInstanceGroupMember{
|
|
||||||
{
|
|
||||||
ID: "node-1a",
|
|
||||||
Node: &v1.Node{},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
ID: "node-1b",
|
|
||||||
Node: &v1.Node{},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
NeedUpdate: []*cloudinstances.CloudInstanceGroupMember{
|
|
||||||
{
|
|
||||||
ID: "node-1a",
|
|
||||||
Node: &v1.Node{},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
ID: "node-1b",
|
|
||||||
Node: &v1.Node{},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
groups["node-2"] = &cloudinstances.CloudInstanceGroup{
|
|
||||||
InstanceGroup: &kopsapi.InstanceGroup{
|
|
||||||
ObjectMeta: v1meta.ObjectMeta{
|
|
||||||
Name: "node-2",
|
|
||||||
},
|
|
||||||
Spec: kopsapi.InstanceGroupSpec{
|
|
||||||
Role: kopsapi.InstanceGroupRoleNode,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
Ready: []*cloudinstances.CloudInstanceGroupMember{
|
|
||||||
{
|
|
||||||
ID: "node-2a",
|
|
||||||
Node: &v1.Node{},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
ID: "node-2b",
|
|
||||||
Node: &v1.Node{},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
NeedUpdate: []*cloudinstances.CloudInstanceGroupMember{
|
|
||||||
{
|
|
||||||
ID: "node-2a",
|
|
||||||
Node: &v1.Node{},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
ID: "node-2b",
|
|
||||||
Node: &v1.Node{},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
groups["master-1"] = &cloudinstances.CloudInstanceGroup{
|
|
||||||
InstanceGroup: &kopsapi.InstanceGroup{
|
|
||||||
ObjectMeta: v1meta.ObjectMeta{
|
|
||||||
Name: "master-1",
|
|
||||||
},
|
|
||||||
Spec: kopsapi.InstanceGroupSpec{
|
|
||||||
Role: kopsapi.InstanceGroupRoleMaster,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
Ready: []*cloudinstances.CloudInstanceGroupMember{
|
|
||||||
{
|
|
||||||
ID: "master-1a",
|
|
||||||
Node: &v1.Node{},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
NeedUpdate: []*cloudinstances.CloudInstanceGroupMember{
|
|
||||||
{
|
|
||||||
ID: "master-1a",
|
|
||||||
Node: &v1.Node{},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
groups["bastion-1"] = &cloudinstances.CloudInstanceGroup{
|
|
||||||
InstanceGroup: &kopsapi.InstanceGroup{
|
|
||||||
ObjectMeta: v1meta.ObjectMeta{
|
|
||||||
Name: "bastion-1",
|
|
||||||
},
|
|
||||||
Spec: kopsapi.InstanceGroupSpec{
|
|
||||||
Role: kopsapi.InstanceGroupRoleBastion,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
Ready: []*cloudinstances.CloudInstanceGroupMember{
|
|
||||||
{
|
|
||||||
ID: "bastion-1a",
|
|
||||||
Node: &v1.Node{},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
NeedUpdate: []*cloudinstances.CloudInstanceGroupMember{
|
|
||||||
{
|
|
||||||
ID: "bastion-1a",
|
|
||||||
Node: &v1.Node{},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
err := c.RollingUpdate(groups, cluster, &kopsapi.InstanceGroupList{})
|
|
||||||
assert.NoError(t, err, "rolling update")
|
assert.NoError(t, err, "rolling update")
|
||||||
|
|
||||||
asgGroups, _ := cloud.Autoscaling().DescribeAutoScalingGroups(&autoscaling.DescribeAutoScalingGroupsInput{})
|
asgGroups, _ := cloud.Autoscaling().DescribeAutoScalingGroups(&autoscaling.DescribeAutoScalingGroupsInput{})
|
||||||
|
@ -272,84 +270,7 @@ func TestRollingUpdateNoneNeedUpdate(t *testing.T) {
|
||||||
cloud := c.Cloud.(awsup.AWSCloud)
|
cloud := c.Cloud.(awsup.AWSCloud)
|
||||||
setUpCloud(c)
|
setUpCloud(c)
|
||||||
|
|
||||||
groups := make(map[string]*cloudinstances.CloudInstanceGroup)
|
err := c.RollingUpdate(getGroups(), cluster, &kopsapi.InstanceGroupList{})
|
||||||
groups["node-1"] = &cloudinstances.CloudInstanceGroup{
|
|
||||||
InstanceGroup: &kopsapi.InstanceGroup{
|
|
||||||
ObjectMeta: v1meta.ObjectMeta{
|
|
||||||
Name: "node-1",
|
|
||||||
},
|
|
||||||
Spec: kopsapi.InstanceGroupSpec{
|
|
||||||
Role: kopsapi.InstanceGroupRoleNode,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
Ready: []*cloudinstances.CloudInstanceGroupMember{
|
|
||||||
{
|
|
||||||
ID: "node-1a",
|
|
||||||
Node: &v1.Node{},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
ID: "node-1b",
|
|
||||||
Node: &v1.Node{},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
groups["node-2"] = &cloudinstances.CloudInstanceGroup{
|
|
||||||
InstanceGroup: &kopsapi.InstanceGroup{
|
|
||||||
ObjectMeta: v1meta.ObjectMeta{
|
|
||||||
Name: "node-2",
|
|
||||||
},
|
|
||||||
Spec: kopsapi.InstanceGroupSpec{
|
|
||||||
Role: kopsapi.InstanceGroupRoleNode,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
Ready: []*cloudinstances.CloudInstanceGroupMember{
|
|
||||||
{
|
|
||||||
ID: "node-2a",
|
|
||||||
Node: &v1.Node{},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
ID: "node-2b",
|
|
||||||
Node: &v1.Node{},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
groups["master-1"] = &cloudinstances.CloudInstanceGroup{
|
|
||||||
InstanceGroup: &kopsapi.InstanceGroup{
|
|
||||||
ObjectMeta: v1meta.ObjectMeta{
|
|
||||||
Name: "master-1",
|
|
||||||
},
|
|
||||||
Spec: kopsapi.InstanceGroupSpec{
|
|
||||||
Role: kopsapi.InstanceGroupRoleMaster,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
Ready: []*cloudinstances.CloudInstanceGroupMember{
|
|
||||||
{
|
|
||||||
ID: "master-1a",
|
|
||||||
Node: &v1.Node{},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
groups["bastion-1"] = &cloudinstances.CloudInstanceGroup{
|
|
||||||
InstanceGroup: &kopsapi.InstanceGroup{
|
|
||||||
ObjectMeta: v1meta.ObjectMeta{
|
|
||||||
Name: "bastion-1",
|
|
||||||
},
|
|
||||||
Spec: kopsapi.InstanceGroupSpec{
|
|
||||||
Role: kopsapi.InstanceGroupRoleBastion,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
Ready: []*cloudinstances.CloudInstanceGroupMember{
|
|
||||||
{
|
|
||||||
ID: "bastion-1a",
|
|
||||||
Node: &v1.Node{},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
err := c.RollingUpdate(groups, cluster, &kopsapi.InstanceGroupList{})
|
|
||||||
assert.NoError(t, err, "rolling update")
|
assert.NoError(t, err, "rolling update")
|
||||||
|
|
||||||
assertGroupInstanceCount(t, cloud, "node-1", 2)
|
assertGroupInstanceCount(t, cloud, "node-1", 2)
|
||||||
|
@ -380,84 +301,7 @@ func TestRollingUpdateNoneNeedUpdateWithForce(t *testing.T) {
|
||||||
cloud := c.Cloud.(awsup.AWSCloud)
|
cloud := c.Cloud.(awsup.AWSCloud)
|
||||||
setUpCloud(c)
|
setUpCloud(c)
|
||||||
|
|
||||||
groups := make(map[string]*cloudinstances.CloudInstanceGroup)
|
err := c.RollingUpdate(getGroups(), cluster, &kopsapi.InstanceGroupList{})
|
||||||
groups["node-1"] = &cloudinstances.CloudInstanceGroup{
|
|
||||||
InstanceGroup: &kopsapi.InstanceGroup{
|
|
||||||
ObjectMeta: v1meta.ObjectMeta{
|
|
||||||
Name: "node-1",
|
|
||||||
},
|
|
||||||
Spec: kopsapi.InstanceGroupSpec{
|
|
||||||
Role: kopsapi.InstanceGroupRoleNode,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
Ready: []*cloudinstances.CloudInstanceGroupMember{
|
|
||||||
{
|
|
||||||
ID: "node-1a",
|
|
||||||
Node: &v1.Node{},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
ID: "node-1b",
|
|
||||||
Node: &v1.Node{},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
groups["node-2"] = &cloudinstances.CloudInstanceGroup{
|
|
||||||
InstanceGroup: &kopsapi.InstanceGroup{
|
|
||||||
ObjectMeta: v1meta.ObjectMeta{
|
|
||||||
Name: "node-2",
|
|
||||||
},
|
|
||||||
Spec: kopsapi.InstanceGroupSpec{
|
|
||||||
Role: kopsapi.InstanceGroupRoleNode,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
Ready: []*cloudinstances.CloudInstanceGroupMember{
|
|
||||||
{
|
|
||||||
ID: "node-2a",
|
|
||||||
Node: &v1.Node{},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
ID: "node-2b",
|
|
||||||
Node: &v1.Node{},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
groups["master-1"] = &cloudinstances.CloudInstanceGroup{
|
|
||||||
InstanceGroup: &kopsapi.InstanceGroup{
|
|
||||||
ObjectMeta: v1meta.ObjectMeta{
|
|
||||||
Name: "master-1",
|
|
||||||
},
|
|
||||||
Spec: kopsapi.InstanceGroupSpec{
|
|
||||||
Role: kopsapi.InstanceGroupRoleMaster,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
Ready: []*cloudinstances.CloudInstanceGroupMember{
|
|
||||||
{
|
|
||||||
ID: "master-1a",
|
|
||||||
Node: &v1.Node{},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
groups["bastion-1"] = &cloudinstances.CloudInstanceGroup{
|
|
||||||
InstanceGroup: &kopsapi.InstanceGroup{
|
|
||||||
ObjectMeta: v1meta.ObjectMeta{
|
|
||||||
Name: "bastion-1",
|
|
||||||
},
|
|
||||||
Spec: kopsapi.InstanceGroupSpec{
|
|
||||||
Role: kopsapi.InstanceGroupRoleBastion,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
Ready: []*cloudinstances.CloudInstanceGroupMember{
|
|
||||||
{
|
|
||||||
ID: "bastion-1a",
|
|
||||||
Node: &v1.Node{},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
err := c.RollingUpdate(groups, cluster, &kopsapi.InstanceGroupList{})
|
|
||||||
assert.NoError(t, err, "rolling update")
|
assert.NoError(t, err, "rolling update")
|
||||||
|
|
||||||
asgGroups, _ := cloud.Autoscaling().DescribeAutoScalingGroups(&autoscaling.DescribeAutoScalingGroupsInput{})
|
asgGroups, _ := cloud.Autoscaling().DescribeAutoScalingGroups(&autoscaling.DescribeAutoScalingGroupsInput{})
|
||||||
|
@ -518,82 +362,8 @@ func TestRollingUpdateUnknownRole(t *testing.T) {
|
||||||
cloud := c.Cloud.(awsup.AWSCloud)
|
cloud := c.Cloud.(awsup.AWSCloud)
|
||||||
setUpCloud(c)
|
setUpCloud(c)
|
||||||
|
|
||||||
groups := make(map[string]*cloudinstances.CloudInstanceGroup)
|
groups := getGroups()
|
||||||
groups["node-1"] = &cloudinstances.CloudInstanceGroup{
|
groups["node-1"].InstanceGroup.Spec.Role = "Unknown"
|
||||||
InstanceGroup: &kopsapi.InstanceGroup{
|
|
||||||
ObjectMeta: v1meta.ObjectMeta{
|
|
||||||
Name: "node-1",
|
|
||||||
},
|
|
||||||
Spec: kopsapi.InstanceGroupSpec{
|
|
||||||
Role: "Unknown",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
Ready: []*cloudinstances.CloudInstanceGroupMember{
|
|
||||||
{
|
|
||||||
ID: "node-1a",
|
|
||||||
Node: &v1.Node{},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
ID: "node-1b",
|
|
||||||
Node: &v1.Node{},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
groups["node-2"] = &cloudinstances.CloudInstanceGroup{
|
|
||||||
InstanceGroup: &kopsapi.InstanceGroup{
|
|
||||||
ObjectMeta: v1meta.ObjectMeta{
|
|
||||||
Name: "node-2",
|
|
||||||
},
|
|
||||||
Spec: kopsapi.InstanceGroupSpec{
|
|
||||||
Role: kopsapi.InstanceGroupRoleNode,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
Ready: []*cloudinstances.CloudInstanceGroupMember{
|
|
||||||
{
|
|
||||||
ID: "node-2a",
|
|
||||||
Node: &v1.Node{},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
ID: "node-2b",
|
|
||||||
Node: &v1.Node{},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
groups["master-1"] = &cloudinstances.CloudInstanceGroup{
|
|
||||||
InstanceGroup: &kopsapi.InstanceGroup{
|
|
||||||
ObjectMeta: v1meta.ObjectMeta{
|
|
||||||
Name: "master-1",
|
|
||||||
},
|
|
||||||
Spec: kopsapi.InstanceGroupSpec{
|
|
||||||
Role: kopsapi.InstanceGroupRoleMaster,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
Ready: []*cloudinstances.CloudInstanceGroupMember{
|
|
||||||
{
|
|
||||||
ID: "master-1a",
|
|
||||||
Node: &v1.Node{},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
groups["bastion-1"] = &cloudinstances.CloudInstanceGroup{
|
|
||||||
InstanceGroup: &kopsapi.InstanceGroup{
|
|
||||||
ObjectMeta: v1meta.ObjectMeta{
|
|
||||||
Name: "bastion-1",
|
|
||||||
},
|
|
||||||
Spec: kopsapi.InstanceGroupSpec{
|
|
||||||
Role: kopsapi.InstanceGroupRoleBastion,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
Ready: []*cloudinstances.CloudInstanceGroupMember{
|
|
||||||
{
|
|
||||||
ID: "bastion-1a",
|
|
||||||
Node: &v1.Node{},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
err := c.RollingUpdate(groups, cluster, &kopsapi.InstanceGroupList{})
|
err := c.RollingUpdate(groups, cluster, &kopsapi.InstanceGroupList{})
|
||||||
assert.Error(t, err, "rolling update")
|
assert.Error(t, err, "rolling update")
|
||||||
|
@ -605,53 +375,8 @@ func TestRollingUpdateUnknownRole(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func getGroupsNodes1NeedsUpdating() map[string]*cloudinstances.CloudInstanceGroup {
|
func getGroupsNodes1NeedsUpdating() map[string]*cloudinstances.CloudInstanceGroup {
|
||||||
groups := make(map[string]*cloudinstances.CloudInstanceGroup)
|
groups := getGroups()
|
||||||
groups["node-1"] = &cloudinstances.CloudInstanceGroup{
|
markNeedUpdate(groups["node-1"], "node-1a", "node-1b")
|
||||||
InstanceGroup: &kopsapi.InstanceGroup{
|
|
||||||
ObjectMeta: v1meta.ObjectMeta{
|
|
||||||
Name: "node-1",
|
|
||||||
},
|
|
||||||
Spec: kopsapi.InstanceGroupSpec{
|
|
||||||
Role: kopsapi.InstanceGroupRoleNode,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
Ready: []*cloudinstances.CloudInstanceGroupMember{
|
|
||||||
{
|
|
||||||
ID: "node-1a",
|
|
||||||
Node: &v1.Node{},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
ID: "node-1b",
|
|
||||||
Node: &v1.Node{},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
NeedUpdate: []*cloudinstances.CloudInstanceGroupMember{
|
|
||||||
{
|
|
||||||
ID: "node-1a",
|
|
||||||
Node: &v1.Node{},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
ID: "node-1b",
|
|
||||||
Node: &v1.Node{},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
groups["master-1"] = &cloudinstances.CloudInstanceGroup{
|
|
||||||
InstanceGroup: &kopsapi.InstanceGroup{
|
|
||||||
ObjectMeta: v1meta.ObjectMeta{
|
|
||||||
Name: "master-1",
|
|
||||||
},
|
|
||||||
Spec: kopsapi.InstanceGroupSpec{
|
|
||||||
Role: kopsapi.InstanceGroupRoleMaster,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
Ready: []*cloudinstances.CloudInstanceGroupMember{
|
|
||||||
{
|
|
||||||
ID: "master-1a",
|
|
||||||
Node: &v1.Node{},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
return groups
|
return groups
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue