mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-19 09:52:49 +00:00
Simplify waitForStatusCurrentReplicas helper
This commit is contained in:
parent
17117dc47d
commit
27d5cda811
@ -1433,7 +1433,7 @@ var _ = SIGDescribe("StatefulSet", func() {
|
|||||||
framework.ExpectNoError(err)
|
framework.ExpectNoError(err)
|
||||||
|
|
||||||
// wait for the pod to be recreated
|
// 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{})
|
_, err = c.CoreV1().Pods(ns).Get(ctx, podName, metav1.GetOptions{})
|
||||||
framework.ExpectNoError(err)
|
framework.ExpectNoError(err)
|
||||||
|
|
||||||
|
@ -97,6 +97,19 @@ func waitForStatus(ctx context.Context, c clientset.Interface, set *appsv1.State
|
|||||||
return set
|
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.
|
// 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) {
|
func waitForPodNotReady(ctx context.Context, c clientset.Interface, set *appsv1.StatefulSet, podName string) (*appsv1.StatefulSet, *v1.PodList) {
|
||||||
var pods *v1.PodList
|
var pods *v1.PodList
|
||||||
|
@ -171,31 +171,6 @@ func WaitForStatusReplicas(ctx context.Context, c clientset.Interface, ss *appsv
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// WaitForStatusCurrentReplicas waits for the ss.Status.CurrentReplicas to be equal to expectedReplicas
|
|
||||||
func WaitForStatusCurrentReplicas(c clientset.Interface, ss *appsv1.StatefulSet, expectedReplicas int32) {
|
|
||||||
framework.Logf("Waiting for statefulset status.currentReplicas updated to %d", expectedReplicas)
|
|
||||||
|
|
||||||
ns, name := ss.Namespace, ss.Name
|
|
||||||
pollErr := wait.PollImmediate(StatefulSetPoll, StatefulSetTimeout,
|
|
||||||
func() (bool, error) {
|
|
||||||
ssGet, err := c.AppsV1().StatefulSets(ns).Get(context.TODO(), name, metav1.GetOptions{})
|
|
||||||
if err != nil {
|
|
||||||
return false, err
|
|
||||||
}
|
|
||||||
if ssGet.Status.ObservedGeneration < ss.Generation {
|
|
||||||
return false, nil
|
|
||||||
}
|
|
||||||
if ssGet.Status.CurrentReplicas != expectedReplicas {
|
|
||||||
framework.Logf("Waiting for stateful set status.currentReplicas to become %d, currently %d", expectedReplicas, ssGet.Status.CurrentReplicas)
|
|
||||||
return false, nil
|
|
||||||
}
|
|
||||||
return true, nil
|
|
||||||
})
|
|
||||||
if pollErr != nil {
|
|
||||||
framework.Failf("Failed waiting for stateful set status.currentReplicas updated to %d: %v", expectedReplicas, pollErr)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Saturate waits for all Pods in ss to become Running and Ready.
|
// Saturate waits for all Pods in ss to become Running and Ready.
|
||||||
func Saturate(ctx context.Context, c clientset.Interface, ss *appsv1.StatefulSet) {
|
func Saturate(ctx context.Context, c clientset.Interface, ss *appsv1.StatefulSet) {
|
||||||
var i int32
|
var i int32
|
||||||
|
Loading…
Reference in New Issue
Block a user