Fixed updating node labels in cluster autoscaler e2e test.
Fixed updating node labels in cluster autoscaler e2e test.
This commit is contained in:
		@@ -29,6 +29,7 @@ import (
 | 
			
		||||
	"k8s.io/kubernetes/pkg/api"
 | 
			
		||||
	client "k8s.io/kubernetes/pkg/client/unversioned"
 | 
			
		||||
	"k8s.io/kubernetes/pkg/fields"
 | 
			
		||||
	"k8s.io/kubernetes/pkg/util/sets"
 | 
			
		||||
	"k8s.io/kubernetes/test/e2e/framework"
 | 
			
		||||
 | 
			
		||||
	"github.com/golang/glog"
 | 
			
		||||
@@ -153,22 +154,17 @@ var _ = framework.KubeDescribe("Cluster size autoscaling [Slow]", func() {
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		removeLabels := func(nodesToClean []string) {
 | 
			
		||||
		removeLabels := func(nodesToClean sets.String) {
 | 
			
		||||
			By("Removing labels from nodes")
 | 
			
		||||
			for _, node := range nodesToClean {
 | 
			
		||||
				updateLabelsForNode(f, node, map[string]string{}, []string{"cluster-autoscaling-test.special-node"})
 | 
			
		||||
			}
 | 
			
		||||
			updateNodeLabels(c, nodesToClean, nil, labels)
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		nodes, err := GetGroupNodes(minMig)
 | 
			
		||||
		defer removeLabels(nodes)
 | 
			
		||||
		nodesMap := map[string]struct{}{}
 | 
			
		||||
		ExpectNoError(err)
 | 
			
		||||
		nodesSet := sets.NewString(nodes...)
 | 
			
		||||
		defer removeLabels(nodesSet)
 | 
			
		||||
		By(fmt.Sprintf("Annotating nodes of the smallest MIG(%s): %v", minMig, nodes))
 | 
			
		||||
		for _, node := range nodes {
 | 
			
		||||
			updateLabelsForNode(f, node, labels, nil)
 | 
			
		||||
			nodesMap[node] = struct{}{}
 | 
			
		||||
		}
 | 
			
		||||
		updateNodeLabels(c, nodesSet, labels, nil)
 | 
			
		||||
 | 
			
		||||
		CreateNodeSelectorPods(f, "node-selector", minSize+1, labels, false)
 | 
			
		||||
 | 
			
		||||
@@ -179,14 +175,12 @@ var _ = framework.KubeDescribe("Cluster size autoscaling [Slow]", func() {
 | 
			
		||||
			func(size int) bool { return size >= nodeCount+1 }, scaleUpTimeout))
 | 
			
		||||
 | 
			
		||||
		newNodes, err := GetGroupNodes(minMig)
 | 
			
		||||
		defer removeLabels(newNodes)
 | 
			
		||||
		ExpectNoError(err)
 | 
			
		||||
		By(fmt.Sprintf("Setting labels for new nodes: %v", newNodes))
 | 
			
		||||
		for _, node := range newNodes {
 | 
			
		||||
			if _, old := nodesMap[node]; !old {
 | 
			
		||||
				updateLabelsForNode(f, node, labels, nil)
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		newNodesSet := sets.NewString(newNodes...)
 | 
			
		||||
		newNodesSet.Delete(nodes...)
 | 
			
		||||
		defer removeLabels(newNodesSet)
 | 
			
		||||
		By(fmt.Sprintf("Setting labels for new nodes: %v", newNodesSet.List()))
 | 
			
		||||
		updateNodeLabels(c, newNodesSet, labels, nil)
 | 
			
		||||
 | 
			
		||||
		framework.ExpectNoError(WaitForClusterSizeFunc(f.Client,
 | 
			
		||||
			func(size int) bool { return size >= nodeCount+1 }, scaleUpTimeout))
 | 
			
		||||
@@ -463,17 +457,3 @@ func setMigSizes(sizes map[string]int) {
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func updateLabelsForNode(f *framework.Framework, node string, addLabels map[string]string, rmLabels []string) {
 | 
			
		||||
	n, err := f.Client.Nodes().Get(node)
 | 
			
		||||
	ExpectNoError(err)
 | 
			
		||||
	for _, label := range rmLabels {
 | 
			
		||||
		delete(n.Labels, label)
 | 
			
		||||
	}
 | 
			
		||||
	for label, value := range addLabels {
 | 
			
		||||
		n.Labels[label] = value
 | 
			
		||||
	}
 | 
			
		||||
	_, err = f.Client.Nodes().Update(n)
 | 
			
		||||
	ExpectNoError(err)
 | 
			
		||||
	By(fmt.Sprintf("Labels successfully updated for node %s", node))
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -114,7 +114,7 @@ func updateNodeLabels(c *client.Client, nodeNames sets.String, toAdd, toRemove m
 | 
			
		||||
					delete(node.ObjectMeta.Labels, k)
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
			_, err := c.Nodes().Update(node)
 | 
			
		||||
			_, err = c.Nodes().Update(node)
 | 
			
		||||
			if err != nil {
 | 
			
		||||
				framework.Logf("Error updating node %s: %v", nodeName, err)
 | 
			
		||||
			} else {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user