From b16a1b5fdf17e62ceaac18bda143100b4e58743e Mon Sep 17 00:00:00 2001 From: Shyam Jeedigunta Date: Tue, 27 Feb 2018 15:32:44 +0100 Subject: [PATCH] Include EOF errors also as retryable errors --- test/e2e/framework/util.go | 3 ++- test/utils/BUILD | 1 + test/utils/create_resources.go | 3 ++- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/test/e2e/framework/util.go b/test/e2e/framework/util.go index 165683ecada..3d7b0674214 100644 --- a/test/e2e/framework/util.go +++ b/test/e2e/framework/util.go @@ -62,6 +62,7 @@ import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/apimachinery/pkg/types" + utilnet "k8s.io/apimachinery/pkg/util/net" "k8s.io/apimachinery/pkg/util/sets" "k8s.io/apimachinery/pkg/util/uuid" "k8s.io/apimachinery/pkg/util/wait" @@ -5110,7 +5111,7 @@ func DumpDebugInfo(c clientset.Interface, ns string) { // TODO: Get rid of this duplicate function in favour of the one in test/utils. func IsRetryableAPIError(err error) bool { - return apierrs.IsTimeout(err) || apierrs.IsServerTimeout(err) || apierrs.IsTooManyRequests(err) + return apierrs.IsTimeout(err) || apierrs.IsServerTimeout(err) || apierrs.IsTooManyRequests(err) || utilnet.IsProbableEOF(err) } // DsFromManifest reads a .json/yaml file and returns the daemonset in it. diff --git a/test/utils/BUILD b/test/utils/BUILD index 1c7e63e0034..40b9aa02b15 100644 --- a/test/utils/BUILD +++ b/test/utils/BUILD @@ -42,6 +42,7 @@ go_library( "//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library", "//vendor/k8s.io/apimachinery/pkg/runtime/schema:go_default_library", "//vendor/k8s.io/apimachinery/pkg/types:go_default_library", + "//vendor/k8s.io/apimachinery/pkg/util/net:go_default_library", "//vendor/k8s.io/apimachinery/pkg/util/sets:go_default_library", "//vendor/k8s.io/apimachinery/pkg/util/uuid:go_default_library", "//vendor/k8s.io/apimachinery/pkg/util/wait:go_default_library", diff --git a/test/utils/create_resources.go b/test/utils/create_resources.go index 9ed33a734aa..7a1379826ef 100644 --- a/test/utils/create_resources.go +++ b/test/utils/create_resources.go @@ -26,6 +26,7 @@ import ( "k8s.io/api/core/v1" extensions "k8s.io/api/extensions/v1beta1" apierrs "k8s.io/apimachinery/pkg/api/errors" + utilnet "k8s.io/apimachinery/pkg/util/net" "k8s.io/apimachinery/pkg/util/wait" clientset "k8s.io/client-go/kubernetes" ) @@ -50,7 +51,7 @@ func RetryWithExponentialBackOff(fn wait.ConditionFunc) error { } func IsRetryableAPIError(err error) bool { - return apierrs.IsTimeout(err) || apierrs.IsServerTimeout(err) || apierrs.IsTooManyRequests(err) + return apierrs.IsTimeout(err) || apierrs.IsServerTimeout(err) || apierrs.IsTooManyRequests(err) || utilnet.IsProbableEOF(err) } func CreatePodWithRetries(c clientset.Interface, namespace string, obj *v1.Pod) error {