Simplify waitForStatusCurrentReplicas helper

This commit is contained in:
Maciej Szulik
2023-03-06 12:43:53 +01:00
parent 17117dc47d
commit 27d5cda811
3 changed files with 14 additions and 26 deletions

View File

@@ -1433,7 +1433,7 @@ var _ = SIGDescribe("StatefulSet", func() {
framework.ExpectNoError(err)
// wait for the pod to be recreated
e2estatefulset.WaitForStatusCurrentReplicas(c, ss, 1)
waitForStatusCurrentReplicas(ctx, c, ss, 1)
_, err = c.CoreV1().Pods(ns).Get(ctx, podName, metav1.GetOptions{})
framework.ExpectNoError(err)

View File

@@ -97,6 +97,19 @@ func waitForStatus(ctx context.Context, c clientset.Interface, set *appsv1.State
return set
}
// waitForStatus waits for the StatefulSetStatus's CurrentReplicas to be equal to expectedReplicas
// The returned StatefulSet contains such a StatefulSetStatus
func waitForStatusCurrentReplicas(ctx context.Context, c clientset.Interface, set *appsv1.StatefulSet, expectedReplicas int32) *appsv1.StatefulSet {
e2estatefulset.WaitForState(ctx, c, set, func(set2 *appsv1.StatefulSet, pods *v1.PodList) (bool, error) {
if set2.Status.ObservedGeneration >= set.Generation && set2.Status.CurrentReplicas == expectedReplicas {
set = set2
return true, nil
}
return false, nil
})
return set
}
// waitForPodNotReady waits for the Pod named podName in set to exist and to not have a Ready condition.
func waitForPodNotReady(ctx context.Context, c clientset.Interface, set *appsv1.StatefulSet, podName string) (*appsv1.StatefulSet, *v1.PodList) {
var pods *v1.PodList