Added some etcd retries to try to work around some flakes we see in Travis.
This commit is contained in:
@@ -111,15 +111,29 @@ func startComponents(manifestURL string) (apiServerURL string) {
|
||||
apiServer := httptest.NewServer(&handler)
|
||||
|
||||
etcdClient := etcd.NewClient(servers)
|
||||
sleep := 4 * time.Second
|
||||
ok := false
|
||||
for i := 0; i < 3; i++ {
|
||||
keys, err := etcdClient.Get("/", false, false)
|
||||
if err != nil {
|
||||
glog.Fatalf("Unable to list root etcd keys: %v", err)
|
||||
glog.Warningf("Unable to list root etcd keys: %v", err)
|
||||
if i < 2 {
|
||||
time.Sleep(sleep)
|
||||
sleep = sleep * sleep
|
||||
}
|
||||
continue
|
||||
}
|
||||
for _, node := range keys.Node.Nodes {
|
||||
if _, err := etcdClient.Delete(node.Key, true); err != nil {
|
||||
glog.Fatalf("Unable delete key: %v", err)
|
||||
}
|
||||
}
|
||||
ok = true
|
||||
break
|
||||
}
|
||||
if !ok {
|
||||
glog.Fatalf("Failed to connect to etcd")
|
||||
}
|
||||
|
||||
cl := client.NewOrDie(&client.Config{Host: apiServer.URL, Version: testapi.Version()})
|
||||
cl.PollPeriod = time.Millisecond * 100
|
||||
|
Reference in New Issue
Block a user