From a03b24bd0374c781ed374d7999dbe773827c8583 Mon Sep 17 00:00:00 2001 From: Shyam Jeedigunta Date: Tue, 13 Feb 2018 18:51:01 +0100 Subject: [PATCH] Add retries to PrepareNodes utility function --- test/e2e/framework/util.go | 2 +- test/integration/framework/perf_utils.go | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/test/e2e/framework/util.go b/test/e2e/framework/util.go index c34d8b43688..964b42862b2 100644 --- a/test/e2e/framework/util.go +++ b/test/e2e/framework/util.go @@ -5059,7 +5059,7 @@ func DumpDebugInfo(c clientset.Interface, ns string) { } func IsRetryableAPIError(err error) bool { - return apierrs.IsTimeout(err) || apierrs.IsServerTimeout(err) || apierrs.IsTooManyRequests(err) || apierrs.IsInternalError(err) + return apierrs.IsTimeout(err) || apierrs.IsServerTimeout(err) || apierrs.IsTooManyRequests(err) } // DsFromManifest reads a .json/yaml file and returns the daemonset in it. diff --git a/test/integration/framework/perf_utils.go b/test/integration/framework/perf_utils.go index e6d91e71498..2336b2a5a8a 100644 --- a/test/integration/framework/perf_utils.go +++ b/test/integration/framework/perf_utils.go @@ -73,7 +73,14 @@ func (p *IntegrationTestNodePreparer) PrepareNodes() error { }, } for i := 0; i < numNodes; i++ { - if _, err := p.client.CoreV1().Nodes().Create(baseNode); err != nil { + var err error + for retry := 0; retry < retries; retry++ { + _, err = p.client.CoreV1().Nodes().Create(baseNode) + if err == nil || !e2eframework.IsRetryableAPIError(err) { + break + } + } + if err != nil { glog.Fatalf("Error creating node: %v", err) } }