diff --git a/test/e2e/framework/util.go b/test/e2e/framework/util.go index 4f9d7a3f9c1..c57975f1e84 100644 --- a/test/e2e/framework/util.go +++ b/test/e2e/framework/util.go @@ -136,7 +136,7 @@ const ( // How long pods have to become scheduled onto nodes podScheduledBeforeTimeout = PodListTimeout + (20 * time.Second) - podRespondingTimeout = 2 * time.Minute + podRespondingTimeout = 15 * time.Minute ServiceRespondingTimeout = 2 * time.Minute EndpointRegisterTimeout = time.Minute @@ -1634,8 +1634,10 @@ func (r podProxyResponseChecker) CheckAllResponses() (done bool, err error) { } if err != nil { if ctx.Err() != nil { - Failf("Controller %s: Failed to Get from replica %d [%s]: %v\n pod status: %#v", r.controllerName, i+1, pod.Name, err, pod.Status) - return false, err + // We may encounter errors here because of a race between the pod readiness and apiserver + // proxy. So, we log the error and retry if this occurs. + Logf("Controller %s: Failed to Get from replica %d [%s]: %v\n pod status: %#v", r.controllerName, i+1, pod.Name, err, pod.Status) + return false, nil } Logf("Controller %s: Failed to GET from replica %d [%s]: %v\npod status: %#v", r.controllerName, i+1, pod.Name, err, pod.Status) continue