Merge pull request #111555 from tallclair/pod-e2e-retry

Minor fixes to e2epod wait logic
This commit is contained in:
Kubernetes Prow Robot 2022-08-02 02:09:45 -07:00 committed by GitHub
commit 719f3cf8da
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -276,14 +276,15 @@ func WaitForPodCondition(c clientset.Interface, ns, podName, conditionDesc strin
if err == nil {
return nil
}
if IsTimeout(err) && lastPod != nil {
return TimeoutError(fmt.Sprintf("timed out while waiting for pod %s to be %s", podIdentifier(ns, podName), conditionDesc),
lastPod,
)
}
if lastPodError != nil {
// If the last API call was an error.
err = lastPodError
if IsTimeout(err) {
if lastPod != nil {
return TimeoutError(fmt.Sprintf("timed out while waiting for pod %s to be %s", podIdentifier(ns, podName), conditionDesc),
lastPod,
)
} else if lastPodError != nil {
// If the last API call was an error, propagate that instead of the timeout error.
err = lastPodError
}
}
return maybeTimeoutError(err, "waiting for pod %s to be %s", podIdentifier(ns, podName), conditionDesc)
}
@ -713,7 +714,7 @@ func shouldRetry(err error) (retry bool, retryAfter time.Duration) {
}
// these errors indicate a transient error that should be retried.
if apierrors.IsInternalError(err) || apierrors.IsTimeout(err) || apierrors.IsTooManyRequests(err) {
if apierrors.IsTimeout(err) || apierrors.IsTooManyRequests(err) {
return true, 0
}