diff --git a/test/e2e/framework/pod/wait.go b/test/e2e/framework/pod/wait.go index add50187cfa..076bdcc525f 100644 --- a/test/e2e/framework/pod/wait.go +++ b/test/e2e/framework/pod/wait.go @@ -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) }