Browse Source

Merge pull request #1352 from coreos/fix_main

main: fix default case
Xiang Li 11 years ago
parent
commit
d6a5dc9e61
1 changed files with 10 additions and 9 deletions
  1. 10 9
      main.go

+ 10 - 9
main.go

@@ -267,8 +267,6 @@ func startProxy() {
 // Returns the local member on success.
 // Returns the local member on success.
 func setupCluster() (*etcdserver.Member, error) {
 func setupCluster() (*etcdserver.Member, error) {
 	cluster = etcdserver.NewCluster(*initialClusterName)
 	cluster = etcdserver.NewCluster(*initialClusterName)
-	cluster.SetMembersFromString(*initialCluster)
-
 	set := make(map[string]bool)
 	set := make(map[string]bool)
 	flag.Visit(func(f *flag.Flag) {
 	flag.Visit(func(f *flag.Flag) {
 		set[f.Name] = true
 		set[f.Name] = true
@@ -280,18 +278,21 @@ func setupCluster() (*etcdserver.Member, error) {
 	if err != nil {
 	if err != nil {
 		return nil, err
 		return nil, err
 	}
 	}
-	if set["discovery"] {
+
+	switch {
+	case set["discovery"]:
 		cluster = etcdserver.NewCluster(*durl)
 		cluster = etcdserver.NewCluster(*durl)
 		return cluster.AddMemberFromURLs(*name, apurls)
 		return cluster.AddMemberFromURLs(*name, apurls)
-	} else if set["initial-cluster"] {
+	case set["initial-cluster"]:
+		fallthrough
+	default:
 		// We're statically configured, and cluster has appropriately been set.
 		// We're statically configured, and cluster has appropriately been set.
 		// Try to configure by indexing the static cluster by name.
 		// Try to configure by indexing the static cluster by name.
-		for _, c := range cluster.Members() {
-			if c.Name == *name {
-				return c, nil
-			}
+		cluster.SetMembersFromString(*initialCluster)
+		m := cluster.FindName(*name)
+		if m != nil {
+			return m, nil
 		}
 		}
 		return nil, fmt.Errorf("cannot find the passed name %s in --initial-cluster bootstrap list.", *name)
 		return nil, fmt.Errorf("cannot find the passed name %s in --initial-cluster bootstrap list.", *name)
 	}
 	}
-	return cluster.FindName(*name), nil
 }
 }