diff --git a/test/e2e/kubectl.go b/test/e2e/kubectl.go index ae57e3baa3..b8cea271dc 100644 --- a/test/e2e/kubectl.go +++ b/test/e2e/kubectl.go @@ -676,10 +676,15 @@ var _ = framework.KubeDescribe("Kubectl client", func() { err := wait.Poll(framework.Poll, timeout, func() (bool, error) { endpoints, err := c.Endpoints(ns).Get(name) if err != nil { - if apierrs.IsNotFound(err) { + // log the real error + framework.Logf("Get endpoints failed (interval %v): %v", framework.Poll, err) + + // if the error is API not found or could not find default credentials or TLS handshake timeout, try again + if apierrs.IsNotFound(err) || + apierrs.IsUnauthorized(err) || + apierrs.IsServerTimeout(err) { err = nil } - framework.Logf("Get endpoints failed (interval %v): %v", framework.Poll, err) return false, err }