Commit 1a3ff078 authored by Mike Danese's avatar Mike Danese

retry oauth token fetch in gce cloudprovider

The ouath client fetches a token on it's first request. Let's warm the cache to avoid pesky flakes.
parent 83035a52
...@@ -28,8 +28,6 @@ import ( ...@@ -28,8 +28,6 @@ import (
"strings" "strings"
"time" "time"
"gopkg.in/gcfg.v1"
"k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api"
apiservice "k8s.io/kubernetes/pkg/api/service" apiservice "k8s.io/kubernetes/pkg/api/service"
"k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/api/unversioned"
...@@ -48,6 +46,7 @@ import ( ...@@ -48,6 +46,7 @@ import (
container "google.golang.org/api/container/v1" container "google.golang.org/api/container/v1"
"google.golang.org/api/googleapi" "google.golang.org/api/googleapi"
"google.golang.org/cloud/compute/metadata" "google.golang.org/cloud/compute/metadata"
"gopkg.in/gcfg.v1"
) )
const ( const (
...@@ -326,6 +325,16 @@ func CreateGCECloud(projectID, region, zone string, managedZones []string, netwo ...@@ -326,6 +325,16 @@ func CreateGCECloud(projectID, region, zone string, managedZones []string, netwo
glog.Infof("Using existing Token Source %#v", tokenSource) glog.Infof("Using existing Token Source %#v", tokenSource)
} }
if err := wait.PollImmediate(5*time.Second, 30*time.Second, func() (bool, error) {
if _, err := tokenSource.Token(); err != nil {
glog.Errorf("error fetching initial token: %v", err)
return false, nil
}
return true, nil
}); err != nil {
return nil, err
}
client := oauth2.NewClient(oauth2.NoContext, tokenSource) client := oauth2.NewClient(oauth2.NoContext, tokenSource)
svc, err := compute.New(client) svc, err := compute.New(client)
if err != nil { if err != nil {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment