From 1d450ad3d1eeafb26d6b14fd10900770a77afdb2 Mon Sep 17 00:00:00 2001 From: Jerzy Szczepkowski Date: Wed, 2 Sep 2015 10:55:59 +0200 Subject: [PATCH] Fixed e2e test waitForClusterSize function to wait for not-ready nodes to go out. Fixed e2e test waitForClusterSize function to wait for not-ready nodes to go out. Fixes #13440. --- test/e2e/resize_nodes.go | 21 --------------------- test/e2e/util.go | 25 +++++++++++++++++++++++++ 2 files changed, 25 insertions(+), 21 deletions(-) diff --git a/test/e2e/resize_nodes.go b/test/e2e/resize_nodes.go index 6108bd585c2..7ae33f1ad75 100644 --- a/test/e2e/resize_nodes.go +++ b/test/e2e/resize_nodes.go @@ -110,27 +110,6 @@ func waitForGroupSize(size int) error { return fmt.Errorf("timeout waiting %v for node instance group size to be %d", timeout, size) } -func waitForClusterSize(c *client.Client, size int, timeout time.Duration) error { - for start := time.Now(); time.Since(start) < timeout; time.Sleep(20 * time.Second) { - nodes, err := c.Nodes().List(labels.Everything(), fields.Everything()) - if err != nil { - Logf("Failed to list nodes: %v", err) - continue - } - // Filter out not-ready nodes. - filterNodes(nodes, func(node api.Node) bool { - return isNodeReadySetAsExpected(&node, true) - }) - - if len(nodes.Items) == size { - Logf("Cluster has reached the desired size %d", size) - return nil - } - Logf("Waiting for cluster size %d, current size %d", size, len(nodes.Items)) - } - return fmt.Errorf("timeout waiting %v for cluster size to be %d", timeout, size) -} - func svcByName(name string) *api.Service { return &api.Service{ ObjectMeta: api.ObjectMeta{ diff --git a/test/e2e/util.go b/test/e2e/util.go index c514f4a3050..ed70d9855ae 100644 --- a/test/e2e/util.go +++ b/test/e2e/util.go @@ -2026,3 +2026,28 @@ func waitForApiserverUp(c *client.Client) error { } return fmt.Errorf("waiting for apiserver timed out") } + +// waitForClusterSize waits until the cluster has desired size and there is no not-ready nodes in it. +func waitForClusterSize(c *client.Client, size int, timeout time.Duration) error { + for start := time.Now(); time.Since(start) < timeout; time.Sleep(20 * time.Second) { + nodes, err := c.Nodes().List(labels.Everything(), fields.Everything()) + if err != nil { + Logf("Failed to list nodes: %v", err) + continue + } + numNodes := len(nodes.Items) + + // Filter out not-ready nodes. + filterNodes(nodes, func(node api.Node) bool { + return isNodeReadySetAsExpected(&node, true) + }) + numReady := len(nodes.Items) + + if numNodes == size && numReady == size { + Logf("Cluster has reached the desired size %d", size) + return nil + } + Logf("Waiting for cluster size %d, current size %d, not ready nodes %d", size, numNodes, numNodes-numReady) + } + return fmt.Errorf("timeout waiting %v for cluster size to be %d", timeout, size) +}