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 { if err == nil {
return nil return nil
} }
if IsTimeout(err) && lastPod != nil { if IsTimeout(err) {
return TimeoutError(fmt.Sprintf("timed out while waiting for pod %s to be %s", podIdentifier(ns, podName), conditionDesc), if lastPod != nil {
lastPod, return TimeoutError(fmt.Sprintf("timed out while waiting for pod %s to be %s", podIdentifier(ns, podName), conditionDesc),
) lastPod,
} )
if lastPodError != nil { } else if lastPodError != nil {
// If the last API call was an error. // If the last API call was an error, propagate that instead of the timeout error.
err = lastPodError err = lastPodError
}
} }
return maybeTimeoutError(err, "waiting for pod %s to be %s", podIdentifier(ns, podName), conditionDesc) 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. // 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 return true, 0
} }