scaleHasDesiredReplicas returns a condition that will be true if and only if the desired replica count for a scale (Spec) equals its updated replicas count (Status)
(sClient scaleclient.ScalesGetter, gr schema.GroupResource, resourceName string, namespace string, desiredReplicas int32)
| 187 | // scaleHasDesiredReplicas returns a condition that will be true if and only if the desired replica |
| 188 | // count for a scale (Spec) equals its updated replicas count (Status) |
| 189 | func scaleHasDesiredReplicas(sClient scaleclient.ScalesGetter, gr schema.GroupResource, resourceName string, namespace string, desiredReplicas int32) wait.ConditionWithContextFunc { |
| 190 | return func(ctx context.Context) (bool, error) { |
| 191 | actualScale, err := sClient.Scales(namespace).Get(ctx, gr, resourceName, metav1.GetOptions{}) |
| 192 | if err != nil { |
| 193 | return false, err |
| 194 | } |
| 195 | // this means the desired scale target has been reset by something else |
| 196 | if actualScale.Spec.Replicas != desiredReplicas { |
| 197 | return true, nil |
| 198 | } |
| 199 | return actualScale.Spec.Replicas == actualScale.Status.Replicas && |
| 200 | desiredReplicas == actualScale.Status.Replicas, nil |
| 201 | } |
| 202 | } |
| 203 | |
| 204 | // WaitForScaleHasDesiredReplicas waits until condition scaleHasDesiredReplicas is satisfied |
| 205 | // or returns error when timeout happens |
no test coverage detected
searching dependent graphs…