mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-27 05:27:21 +00:00
Merge pull request #13502 from jszczepkowski/e2e-clustersize
e2e test function waitForClusterSize waits for not-ready nodes to go out.
This commit is contained in:
commit
473c51593a
@ -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)
|
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 {
|
func svcByName(name string) *api.Service {
|
||||||
return &api.Service{
|
return &api.Service{
|
||||||
ObjectMeta: api.ObjectMeta{
|
ObjectMeta: api.ObjectMeta{
|
||||||
|
@ -2048,3 +2048,28 @@ func waitForApiserverUp(c *client.Client) error {
|
|||||||
}
|
}
|
||||||
return fmt.Errorf("waiting for apiserver timed out")
|
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)
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user