From d80f9e8076c6034878027dfb09a3c4cabeeaa1a8 Mon Sep 17 00:00:00 2001 From: Yu-Ju Hong Date: Mon, 14 Nov 2016 15:09:58 -0800 Subject: [PATCH] e2e pod cleanup test: restrict pods to be assigned to nodes observed initially The test checks the individual kubelet /runningPods endpoint based on the initial list of nodes it observes. It is important that all pods are scheduled only onto those nodes. Apply node labels to ensure no stray pods on other nodes. --- test/e2e/kubelet.go | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/test/e2e/kubelet.go b/test/e2e/kubelet.go index 0dca8b87b6c..981770cbaa0 100644 --- a/test/e2e/kubelet.go +++ b/test/e2e/kubelet.go @@ -137,19 +137,20 @@ var _ = framework.KubeDescribe("kubelet", func() { BeforeEach(func() { c = f.ClientSet + // Use node labels to restrict the pods to be assigned only to the + // nodes we observe initially. + nodeLabels = make(map[string]string) + nodeLabels["kubelet_cleanup"] = "true" + nodes := framework.GetReadySchedulableNodesOrDie(c) numNodes = len(nodes.Items) nodeNames = sets.NewString() // If there are a lot of nodes, we don't want to use all of them // (if there are 1000 nodes in the cluster, starting 10 pods/node // will take ~10 minutes today). And there is also deletion phase. - // - // Instead, we choose at most 10 nodes and will constraint pods - // that we are creating to be scheduled only on that nodes. + // Instead, we choose at most 10 nodes. if numNodes > maxNodesToCheck { numNodes = maxNodesToCheck - nodeLabels = make(map[string]string) - nodeLabels["kubelet_cleanup"] = "true" } for i := 0; i < numNodes; i++ { nodeNames.Insert(nodes.Items[i].Name)