Merge pull request #7742 from cjcullen/cbr0

Make changes suggested in #7675
pull/6/head
Quinton Hoole 2015-05-05 08:00:24 -07:00
commit 74c07f1094
4 changed files with 17 additions and 17 deletions

View File

@ -34,6 +34,7 @@ import (
kfields "github.com/GoogleCloudPlatform/kubernetes/pkg/fields"
klabels "github.com/GoogleCloudPlatform/kubernetes/pkg/labels"
tools "github.com/GoogleCloudPlatform/kubernetes/pkg/tools"
"github.com/GoogleCloudPlatform/kubernetes/pkg/util/wait"
kwatch "github.com/GoogleCloudPlatform/kubernetes/pkg/watch"
etcd "github.com/coreos/go-etcd/etcd"
skymsg "github.com/skynetservices/skydns/msg"
@ -121,24 +122,21 @@ func newEtcdClient() (client *etcd.Client) {
}
}
// loop until we have > 0 machines && machines[0] != ""
timeout := false
go func() {
<-time.After(10 * time.Second)
timeout = true
}()
for !timeout {
client = etcd.NewClient([]string{*etcd_server})
if client == nil {
return nil
poll, timeout := 1*time.Second, 10*time.Second
if err := wait.Poll(poll, timeout, func() (bool, error) {
if client = etcd.NewClient([]string{*etcd_server}); client == nil {
log.Fatal("etcd.NewClient returned nil")
}
client.SyncCluster()
machines := client.GetCluster()
if len(machines) > 0 && len(machines[0]) > 0 {
return client
if len(machines) == 0 || len(machines[0]) == 0 {
return false, nil
}
return true, nil
}); err != nil {
log.Fatalf("Timed out after %s waiting for at least 1 synchronized etcd server in the cluster", timeout)
}
log.Fatal("Timed out waiting for correct response from etcd server")
return nil
return client
}
// TODO: evaluate using pkg/client/clientcmd

View File

@ -31,7 +31,7 @@ desiredState:
"-initial-cluster-token=skydns-etcd",
]
- name: kube2sky
image: gcr.io/google_containers/kube2sky:1.3
image: gcr.io/google_containers/kube2sky:1.4
volumeMounts:
- name: dns-token
mountPath: /etc/dns_token

View File

@ -517,7 +517,7 @@ func GetEtcdVersion(host string) (string, error) {
}
defer response.Body.Close()
if response.StatusCode != http.StatusOK {
return "", fmt.Errorf("Unsuccessful response from server: %v", err)
return "", fmt.Errorf("unsuccessful response from etcd server %q: %v", host, err)
}
versionBytes, err := ioutil.ReadAll(response.Body)
if err != nil {

View File

@ -35,6 +35,8 @@ import (
"github.com/stretchr/testify/assert"
)
const validEtcdVersion = "etcd 2.0.9"
type TestResource struct {
api.TypeMeta `json:",inline"`
api.ObjectMeta `json:"metadata"`
@ -685,7 +687,7 @@ func TestGuaranteedUpdate_CreateCollision(t *testing.T) {
func TestGetEtcdVersion_ValidVersion(t *testing.T) {
testServer := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
fmt.Fprint(w, "etcd 2.0.9")
fmt.Fprint(w, validEtcdVersion)
}))
defer testServer.Close()
@ -694,7 +696,7 @@ func TestGetEtcdVersion_ValidVersion(t *testing.T) {
if version, err = GetEtcdVersion(testServer.URL); err != nil {
t.Errorf("Unexpected error: %v", err)
}
assert.Equal(t, "etcd 2.0.9", version, "Unexpected version")
assert.Equal(t, validEtcdVersion, version, "Unexpected version")
assert.Nil(t, err)
}