From 4efc9a95695e27a912e4b070148338725c840146 Mon Sep 17 00:00:00 2001 From: Jan Safranek Date: Mon, 2 Aug 2021 17:56:28 +0200 Subject: [PATCH] Fix zone calculation - consider only untainted nodes Tests "Multi-AZ Cluster Volumes" should consider only nodes that are schedulable and *untainted* when computing AZ where to run the tests. GetReadySchedulableNodes() already filters schedulable + untainted nodes, no need to do it again in GetSchedulableClusterZones(). --- test/e2e/framework/node/resource.go | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/test/e2e/framework/node/resource.go b/test/e2e/framework/node/resource.go index 93bbaae48dc..a7444199a6d 100644 --- a/test/e2e/framework/node/resource.go +++ b/test/e2e/framework/node/resource.go @@ -563,18 +563,15 @@ func GetClusterZones(c clientset.Interface) (sets.String, error) { // GetSchedulableClusterZones returns the values of zone label collected from all nodes which are schedulable. func GetSchedulableClusterZones(c clientset.Interface) (sets.String, error) { - nodes, err := c.CoreV1().Nodes().List(context.TODO(), metav1.ListOptions{}) + // GetReadySchedulableNodes already filters our tainted and unschedulable nodes. + nodes, err := GetReadySchedulableNodes(c) if err != nil { - return nil, fmt.Errorf("Error getting nodes while attempting to list cluster zones: %v", err) + return nil, fmt.Errorf("error getting nodes while attempting to list cluster zones: %v", err) } // collect values of zone label from all nodes zones := sets.NewString() for _, node := range nodes.Items { - // We should have at least 1 node in the zone which is schedulable. - if !IsNodeSchedulable(&node) { - continue - } if zone, found := node.Labels[v1.LabelFailureDomainBetaZone]; found { zones.Insert(zone) }