diff --git a/etcdserver/cluster.go b/etcdserver/cluster.go index cfb06a28a..b3d38ef7d 100644 --- a/etcdserver/cluster.go +++ b/etcdserver/cluster.go @@ -77,25 +77,6 @@ func NewClusterFromString(name string, cluster string) (*Cluster, error) { return c, nil } -type MemberInfo struct { - Name string - PeerURLs types.URLs -} - -// NewClusterFromMembers returns Cluster with the given members. -func NewClusterFromMemberInfos(name string, infos []MemberInfo) (*Cluster, error) { - c := newCluster(name) - for _, info := range infos { - m := NewMember(info.Name, info.PeerURLs, c.name, nil) - if _, ok := c.members[m.ID]; ok { - return nil, fmt.Errorf("Member exists with identical ID %v", m) - } - c.members[m.ID] = m - } - c.genID() - return c, nil -} - func NewClusterFromStore(name string, st store.Store) *Cluster { c := newCluster(name) c.store = st diff --git a/integration/cluster_test.go b/integration/cluster_test.go index 8742fedf4..8694dc456 100644 --- a/integration/cluster_test.go +++ b/integration/cluster_test.go @@ -85,17 +85,14 @@ func (c *cluster) Launch(t *testing.T) { } lns := make([]net.Listener, c.Size) - infos := make([]etcdserver.MemberInfo, c.Size) + addrs := make([]string, c.Size) for i := 0; i < c.Size; i++ { l := newLocalListener(t) // each member claims only one peer listener lns[i] = l - listenURLs, err := types.NewURLs([]string{"http://" + l.Addr().String()}) - if err != nil { - t.Fatal(err) - } - infos[i] = etcdserver.MemberInfo{Name: c.name(i), PeerURLs: listenURLs} + addrs[i] = fmt.Sprintf("%v=%v", c.name(i), "http://"+l.Addr().String()) } + clusterStr := strings.Join(addrs, ",") var err error for i := 0; i < c.Size; i++ { @@ -112,7 +109,7 @@ func (c *cluster) Launch(t *testing.T) { if err != nil { t.Fatal(err) } - m.Cluster, err = etcdserver.NewClusterFromMemberInfos(clusterName, infos) + m.Cluster, err = etcdserver.NewClusterFromString(clusterName, clusterStr) if err != nil { t.Fatal(err) } diff --git a/main.go b/main.go index aa0702791..995b376fa 100644 --- a/main.go +++ b/main.go @@ -277,8 +277,12 @@ func setupCluster() error { err = nil switch { case set["discovery"]: - infos := []etcdserver.MemberInfo{{Name: *name, PeerURLs: apurls}} - cluster, err = etcdserver.NewClusterFromMemberInfos(*durl, infos) + addrs := make([]string, 0) + for _, u := range apurls { + addrs = append(addrs, fmt.Sprintf("%v=%v", *name, u.String())) + } + clusterStr := strings.Join(addrs, ",") + cluster, err = etcdserver.NewClusterFromString(*durl, clusterStr) case set["initial-cluster"]: fallthrough default: