From 1e7384c99753d830b3886d1386a6ae3d9c3ac08f Mon Sep 17 00:00:00 2001 From: Kris Date: Tue, 27 Jun 2017 12:10:43 -0700 Subject: [PATCH] Adding a retry to the master version checking --- test/e2e/framework/BUILD | 1 + test/e2e/framework/upgrade_util.go | 12 ++++++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/test/e2e/framework/BUILD b/test/e2e/framework/BUILD index 4eddbf59951..e1b7222a209 100644 --- a/test/e2e/framework/BUILD +++ b/test/e2e/framework/BUILD @@ -128,6 +128,7 @@ go_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", + "//vendor/k8s.io/apimachinery/pkg/version:go_default_library", "//vendor/k8s.io/apimachinery/pkg/watch:go_default_library", "//vendor/k8s.io/client-go/discovery:go_default_library", "//vendor/k8s.io/client-go/dynamic:go_default_library", diff --git a/test/e2e/framework/upgrade_util.go b/test/e2e/framework/upgrade_util.go index 8e5f4609e05..ae8a3c98d3a 100644 --- a/test/e2e/framework/upgrade_util.go +++ b/test/e2e/framework/upgrade_util.go @@ -20,7 +20,10 @@ import ( "fmt" "path" "strings" + "time" + "k8s.io/apimachinery/pkg/util/wait" + "k8s.io/apimachinery/pkg/version" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" ) @@ -38,8 +41,13 @@ func RealVersion(s string) (string, error) { func CheckMasterVersion(c clientset.Interface, want string) error { Logf("Checking master version") - v, err := c.Discovery().ServerVersion() - if err != nil { + var err error + var v *version.Info + waitErr := wait.PollImmediate(5*time.Second, 2*time.Minute, func() (bool, error) { + v, err = c.Discovery().ServerVersion() + return err != nil, nil + }) + if waitErr != nil { return fmt.Errorf("CheckMasterVersion() couldn't get the master version: %v", err) } // We do prefix trimming and then matching because: