etcdserver: GetClusterFromPeers -> GetClusterFromRemotePeers

This commit is contained in:
Xiang Li 2015-02-13 19:05:29 -08:00
parent f7540912d6
commit c5ca1218f3
4 changed files with 8 additions and 10 deletions

View File

@ -249,7 +249,7 @@ func startProxy(cfg *config) error {
} }
uf := func() []string { uf := func() []string {
gcls, err := etcdserver.GetClusterFromPeers(peerURLs, tr) gcls, err := etcdserver.GetClusterFromRemotePeers(peerURLs, tr)
// TODO: remove the 2nd check when we fix GetClusterFromPeers // TODO: remove the 2nd check when we fix GetClusterFromPeers
// GetClusterFromPeers should not return nil error with an invaild empty cluster // GetClusterFromPeers should not return nil error with an invaild empty cluster
if err != nil { if err != nil {

View File

@ -29,8 +29,7 @@ import (
// isMemberBootstrapped tries to check if the given member has been bootstrapped // isMemberBootstrapped tries to check if the given member has been bootstrapped
// in the given cluster. // in the given cluster.
func isMemberBootstrapped(cl *Cluster, member string, tr *http.Transport) bool { func isMemberBootstrapped(cl *Cluster, member string, tr *http.Transport) bool {
us := getRemotePeerURLs(cl, member) rcl, err := getClusterFromRemotePeers(getRemotePeerURLs(cl, member), false, tr)
rcl, err := getClusterFromPeers(us, false, tr)
if err != nil { if err != nil {
return false return false
} }
@ -45,17 +44,17 @@ func isMemberBootstrapped(cl *Cluster, member string, tr *http.Transport) bool {
return false return false
} }
// GetClusterFromPeers takes a set of URLs representing etcd peers, and // GetClusterFromRemotePeers takes a set of URLs representing etcd peers, and
// attempts to construct a Cluster by accessing the members endpoint on one of // attempts to construct a Cluster by accessing the members endpoint on one of
// these URLs. The first URL to provide a response is used. If no URLs provide // these URLs. The first URL to provide a response is used. If no URLs provide
// a response, or a Cluster cannot be successfully created from a received // a response, or a Cluster cannot be successfully created from a received
// response, an error is returned. // response, an error is returned.
func GetClusterFromPeers(urls []string, tr *http.Transport) (*Cluster, error) { func GetClusterFromRemotePeers(urls []string, tr *http.Transport) (*Cluster, error) {
return getClusterFromPeers(urls, true, tr) return getClusterFromRemotePeers(urls, true, tr)
} }
// If logerr is true, it prints out more error messages. // If logerr is true, it prints out more error messages.
func getClusterFromPeers(urls []string, logerr bool, tr *http.Transport) (*Cluster, error) { func getClusterFromRemotePeers(urls []string, logerr bool, tr *http.Transport) (*Cluster, error) {
cc := &http.Client{ cc := &http.Client{
Transport: tr, Transport: tr,
Timeout: time.Second, Timeout: time.Second,

View File

@ -157,8 +157,7 @@ func NewServer(cfg *ServerConfig) (*EtcdServer, error) {
switch { switch {
case !haveWAL && !cfg.NewCluster: case !haveWAL && !cfg.NewCluster:
us := getRemotePeerURLs(cfg.Cluster, cfg.Name) existingCluster, err := GetClusterFromRemotePeers(getRemotePeerURLs(cfg.Cluster, cfg.Name), cfg.Transport)
existingCluster, err := GetClusterFromPeers(us, cfg.Transport)
if err != nil { if err != nil {
return nil, fmt.Errorf("cannot fetch cluster info from peer urls: %v", err) return nil, fmt.Errorf("cannot fetch cluster info from peer urls: %v", err)
} }

View File

@ -1135,7 +1135,7 @@ func TestGetOtherPeerURLs(t *testing.T) {
} }
for i, tt := range tests { for i, tt := range tests {
cl := NewClusterFromMembers("", types.ID(0), tt.membs) cl := NewClusterFromMembers("", types.ID(0), tt.membs)
urls := getOtherPeerURLs(cl, tt.self) urls := getRemotePeerURLs(cl, tt.self)
if !reflect.DeepEqual(urls, tt.wurls) { if !reflect.DeepEqual(urls, tt.wurls) {
t.Errorf("#%d: urls = %+v, want %+v", i, urls, tt.wurls) t.Errorf("#%d: urls = %+v, want %+v", i, urls, tt.wurls)
} }