From 1177b0753542494a7ad1a4b79b2938783da703a6 Mon Sep 17 00:00:00 2001 From: Xiang Li Date: Sun, 12 Oct 2014 09:33:52 +0800 Subject: [PATCH] etcdserver: change machines endpoint to members --- etcdserver/cluster_store.go | 2 +- etcdserver/cluster_store_test.go | 6 +++--- etcdserver/etcdhttp/http.go | 12 +++++++----- etcdserver/etcdhttp/http_test.go | 4 ++-- etcdserver/member.go | 4 ++-- 5 files changed, 15 insertions(+), 13 deletions(-) diff --git a/etcdserver/cluster_store.go b/etcdserver/cluster_store.go index 14a17ae60..8ed63ee9d 100644 --- a/etcdserver/cluster_store.go +++ b/etcdserver/cluster_store.go @@ -61,7 +61,7 @@ func (s *clusterStore) Add(m Member) { // lock here. func (s *clusterStore) Get() Cluster { c := &Cluster{} - e, err := s.Store.Get(machineKVPrefix, true, true) + e, err := s.Store.Get(membersKVPrefix, true, true) if err != nil { if v, ok := err.(*etcdErr.Error); ok && v.ErrorCode == etcdErr.EcodeKeyNotFound { return *c diff --git a/etcdserver/cluster_store_test.go b/etcdserver/cluster_store_test.go index 3357d38df..116c839e1 100644 --- a/etcdserver/cluster_store_test.go +++ b/etcdserver/cluster_store_test.go @@ -18,7 +18,7 @@ func TestClusterStoreAdd(t *testing.T) { { name: "Create", params: []interface{}{ - machineKVPrefix + "1/raftAttributes", + membersKVPrefix + "1/raftAttributes", false, `{"PeerURLs":null}`, false, @@ -28,7 +28,7 @@ func TestClusterStoreAdd(t *testing.T) { { name: "Create", params: []interface{}{ - machineKVPrefix + "1/attributes", + membersKVPrefix + "1/attributes", false, `{"Name":"node1","ClientURLs":null}`, false, @@ -97,7 +97,7 @@ func TestClusterStoreDelete(t *testing.T) { cs := NewClusterStore(st, c) cs.Remove(1) - wdeletes := []string{machineKVPrefix + "1"} + wdeletes := []string{membersKVPrefix + "1"} if !reflect.DeepEqual(st.deletes, wdeletes) { t.Error("deletes = %v, want %v", st.deletes, wdeletes) } diff --git a/etcdserver/etcdhttp/http.go b/etcdserver/etcdhttp/http.go index d326214e2..093440b66 100644 --- a/etcdserver/etcdhttp/http.go +++ b/etcdserver/etcdhttp/http.go @@ -21,9 +21,10 @@ import ( ) const ( - keysPrefix = "/v2/keys" - machinesPrefix = "/v2/machines" - raftPrefix = "/raft" + keysPrefix = "/v2/keys" + membersPrefix = "/v2/members" + deprecatedMachinesPrefix = "/v2/machines" + raftPrefix = "/raft" // time to wait for response from EtcdServer requests defaultServerTimeout = 500 * time.Millisecond @@ -47,7 +48,9 @@ func NewClientHandler(server *etcdserver.EtcdServer) http.Handler { mux.HandleFunc(keysPrefix+"/", sh.serveKeys) // TODO: dynamic configuration may make this outdated. take care of it. // TODO: dynamic configuration may introduce race also. - mux.HandleFunc(machinesPrefix, sh.serveMachines) + // TODO: add serveMembers + mux.HandleFunc(membersPrefix, sh.serveMachines) + mux.HandleFunc(deprecatedMachinesPrefix, sh.serveMachines) mux.HandleFunc("/", http.NotFound) return mux } @@ -107,7 +110,6 @@ func (h serverHandler) serveKeys(w http.ResponseWriter, r *http.Request) { } // serveMachines responds address list in the format '0.0.0.0, 1.1.1.1'. -// TODO: rethink the format of machine list because it is not json format. func (h serverHandler) serveMachines(w http.ResponseWriter, r *http.Request) { if !allowMethod(w, r.Method, "GET", "HEAD") { return diff --git a/etcdserver/etcdhttp/http_test.go b/etcdserver/etcdhttp/http_test.go index 0233425be..48479df0c 100644 --- a/etcdserver/etcdhttp/http_test.go +++ b/etcdserver/etcdhttp/http_test.go @@ -581,7 +581,7 @@ func (w *dummyWatcher) EventChan() chan *store.Event { func (w *dummyWatcher) StartIndex() uint64 { return w.sidx } func (w *dummyWatcher) Remove() {} -func TestV2MachinesEndpoint(t *testing.T) { +func TestV2MembersEndpoint(t *testing.T) { tests := []struct { method string wcode int @@ -596,7 +596,7 @@ func TestV2MachinesEndpoint(t *testing.T) { defer s.Close() for _, tt := range tests { - req, err := http.NewRequest(tt.method, s.URL+machinesPrefix, nil) + req, err := http.NewRequest(tt.method, s.URL+membersPrefix, nil) if err != nil { t.Fatal(err) } diff --git a/etcdserver/member.go b/etcdserver/member.go index 510702cf0..5bce76b6d 100644 --- a/etcdserver/member.go +++ b/etcdserver/member.go @@ -12,7 +12,7 @@ import ( "github.com/coreos/etcd/pkg/types" ) -const machineKVPrefix = "/_etcd/machines/" +const membersKVPrefix = "/_etcd/members/" // RaftAttributes represents the raft related attributes of an etcd member. type RaftAttributes struct { @@ -55,7 +55,7 @@ func newMember(name string, peerURLs types.URLs, now *time.Time) *Member { } func (m Member) storeKey() string { - return path.Join(machineKVPrefix, strconv.FormatUint(m.ID, 16)) + return path.Join(membersKVPrefix, strconv.FormatUint(m.ID, 16)) } func parseMemberID(key string) uint64 {