Adding a retry to the master version checking

This commit is contained in:
Kris 2017-06-27 12:10:43 -07:00
parent 9120d58fc9
commit 1e7384c997
2 changed files with 11 additions and 2 deletions

View File

@ -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",

View File

@ -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: