From 36cc8446c7aae58893965f981d94f70becf3e4eb Mon Sep 17 00:00:00 2001 From: Xiang Li Date: Tue, 26 Jan 2016 16:49:11 -0800 Subject: [PATCH] *: finish member api implementation --- etcdctlv3/command/member_command.go | 219 ++++++++++++++++++ etcdctlv3/main.go | 1 + etcdmain/etcd.go | 1 + etcdserver/api/v3rpc/error.go | 5 + etcdserver/api/v3rpc/member.go | 116 ++++++++++ etcdserver/etcdserverpb/rpc.pb.go | 344 ++++++++++++++-------------- etcdserver/etcdserverpb/rpc.proto | 40 ++-- 7 files changed, 534 insertions(+), 192 deletions(-) create mode 100644 etcdctlv3/command/member_command.go create mode 100644 etcdserver/api/v3rpc/member.go diff --git a/etcdctlv3/command/member_command.go b/etcdctlv3/command/member_command.go new file mode 100644 index 000000000..abc6b1b44 --- /dev/null +++ b/etcdctlv3/command/member_command.go @@ -0,0 +1,219 @@ +// Copyright 2016 CoreOS, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package command + +import ( + "fmt" + "strconv" + "strings" + + "github.com/coreos/etcd/Godeps/_workspace/src/github.com/spf13/cobra" + "github.com/coreos/etcd/Godeps/_workspace/src/golang.org/x/net/context" + "github.com/coreos/etcd/Godeps/_workspace/src/google.golang.org/grpc" + pb "github.com/coreos/etcd/etcdserver/etcdserverpb" +) + +var ( + memberID uint64 + memberPeerURLs string +) + +// NewMemberCommand returns the cobra command for "member". +func NewMemberCommand() *cobra.Command { + mc := &cobra.Command{ + Use: "member", + Short: "member is used to manage membership in an etcd cluster.", + } + + mc.AddCommand(NewMemberAddCommand()) + mc.AddCommand(NewMemberRemoveCommand()) + mc.AddCommand(NewMemberUpdateCommand()) + mc.AddCommand(NewMemberListCommand()) + + return mc +} + +// NewMemberAddCommand returns the cobra command for "member add". +func NewMemberAddCommand() *cobra.Command { + cc := &cobra.Command{ + Use: "add", + Short: "add is used to add a member into the cluster", + + Run: memberAddCommandFunc, + } + + cc.Flags().StringVar(&memberPeerURLs, "peerURLs", "", "comma separated peer URLs for the new member.") + + return cc +} + +// NewMemberRemoveCommand returns the cobra command for "member remove". +func NewMemberRemoveCommand() *cobra.Command { + cc := &cobra.Command{ + Use: "remove", + Short: "remove is used to remove a member from the cluster", + + Run: memberRemoveCommandFunc, + } + + return cc +} + +// NewMemberUpdateCommand returns the cobra command for "member update". +func NewMemberUpdateCommand() *cobra.Command { + cc := &cobra.Command{ + Use: "update", + Short: "update is used to update a member in the cluster", + + Run: memberUpdateCommandFunc, + } + + cc.Flags().StringVar(&memberPeerURLs, "peerURLs", "", "comma separated peer URLs for the updated member.") + + return cc +} + +// NewMemberListCommand returns the cobra command for "member list". +func NewMemberListCommand() *cobra.Command { + cc := &cobra.Command{ + Use: "list", + Short: "list is used to list all members in the cluster", + + Run: memberListCommandFunc, + } + + return cc +} + +// memberAddCommandFunc executes the "member add" command. +func memberAddCommandFunc(cmd *cobra.Command, args []string) { + if len(args) != 1 { + ExitWithError(ExitBadArgs, fmt.Errorf("member name not provided.")) + } + + if len(memberPeerURLs) == 0 { + ExitWithError(ExitBadArgs, fmt.Errorf("member peer urls not provided.")) + } + + urls := strings.Split(memberPeerURLs, ",") + + endpoint, err := cmd.Flags().GetString("endpoint") + if err != nil { + ExitWithError(ExitError, err) + } + conn, err := grpc.Dial(endpoint) + if err != nil { + ExitWithError(ExitBadConnection, err) + } + mc := pb.NewClusterClient(conn) + + resp, err := mc.MemberAdd(context.TODO(), &pb.MemberAddRequest{PeerURLs: urls}) + if err != nil { + ExitWithError(ExitError, err) + } + + fmt.Printf("Member %16x added to cluster %16x\n", args[0], resp.Member.ID, resp.Header.ClusterId) +} + +// memberRemoveCommandFunc executes the "member remove" command. +func memberRemoveCommandFunc(cmd *cobra.Command, args []string) { + if len(args) != 1 { + ExitWithError(ExitBadArgs, fmt.Errorf("member ID is not provided")) + } + + id, err := strconv.ParseUint(args[0], 16, 64) + if err != nil { + ExitWithError(ExitBadArgs, fmt.Errorf("bad member ID arg (%v), expecting ID in Hex", err)) + } + + endpoint, err := cmd.Flags().GetString("endpoint") + if err != nil { + ExitWithError(ExitError, err) + } + conn, err := grpc.Dial(endpoint) + if err != nil { + ExitWithError(ExitBadConnection, err) + } + mc := pb.NewClusterClient(conn) + + resp, err := mc.MemberRemove(context.TODO(), &pb.MemberRemoveRequest{ID: uint64(id)}) + if err != nil { + ExitWithError(ExitError, err) + } + + fmt.Printf("Member %16x removed from cluster %16x\n", id, resp.Header.ClusterId) +} + +// memberUpdateCommandFunc executes the "member update" command. +func memberUpdateCommandFunc(cmd *cobra.Command, args []string) { + if len(args) != 1 { + ExitWithError(ExitBadArgs, fmt.Errorf("member ID is not provided")) + } + + id, err := strconv.ParseUint(args[0], 16, 64) + if err != nil { + ExitWithError(ExitBadArgs, fmt.Errorf("bad member ID arg (%v), expecting ID in Hex", err)) + } + + if len(memberPeerURLs) == 0 { + ExitWithError(ExitBadArgs, fmt.Errorf("member peer urls not provided.")) + } + + urls := strings.Split(memberPeerURLs, ",") + + endpoint, err := cmd.Flags().GetString("endpoint") + if err != nil { + ExitWithError(ExitError, err) + } + conn, err := grpc.Dial(endpoint) + if err != nil { + ExitWithError(ExitBadConnection, err) + } + mc := pb.NewClusterClient(conn) + + resp, err := mc.MemberUpdate(context.TODO(), &pb.MemberUpdateRequest{ID: uint64(id), PeerURLs: urls}) + if err != nil { + ExitWithError(ExitError, err) + } + + fmt.Printf("Member %16x updated in cluster %16x\n", id, resp.Header.ClusterId) +} + +// memberListCommandFunc executes the "member list" command. +func memberListCommandFunc(cmd *cobra.Command, args []string) { + endpoint, err := cmd.Flags().GetString("endpoint") + if err != nil { + ExitWithError(ExitError, err) + } + conn, err := grpc.Dial(endpoint) + if err != nil { + ExitWithError(ExitBadConnection, err) + } + mc := pb.NewClusterClient(conn) + + resp, err := mc.MemberList(context.TODO(), &pb.MemberListRequest{}) + if err != nil { + ExitWithError(ExitError, err) + } + + // use https://github.com/olekukonko/tablewriter to print out a pretty table? + for _, m := range resp.Members { + if len(m.Name) == 0 { + fmt.Printf("%16x[unstarted]: peerURLs=%s\n", m.ID, strings.Join(m.PeerURLs, ",")) + } else { + fmt.Printf("%16x: name=%s peerURLs=%s clientURLs=%s\n", m.ID, m.Name, strings.Join(m.PeerURLs, ","), strings.Join(m.ClientURLs, ",")) + } + } +} diff --git a/etcdctlv3/main.go b/etcdctlv3/main.go index 450196eb2..bfcde6c41 100644 --- a/etcdctlv3/main.go +++ b/etcdctlv3/main.go @@ -52,6 +52,7 @@ func init() { command.NewWatchCommand(), command.NewVersionCommand(), command.NewLeaseCommand(), + command.NewMemberCommand(), ) } diff --git a/etcdmain/etcd.go b/etcdmain/etcd.go index bf494cbe5..4af8bf122 100644 --- a/etcdmain/etcd.go +++ b/etcdmain/etcd.go @@ -334,6 +334,7 @@ func startEtcd(cfg *config) (<-chan struct{}, error) { etcdserverpb.RegisterKVServer(grpcServer, v3rpc.NewKVServer(s)) etcdserverpb.RegisterWatchServer(grpcServer, v3rpc.NewWatchServer(s)) etcdserverpb.RegisterLeaseServer(grpcServer, v3rpc.NewLeaseServer(s)) + etcdserverpb.RegisterClusterServer(grpcServer, v3rpc.NewClusterServer(s)) go func() { plog.Fatal(grpcServer.Serve(v3l)) }() } diff --git a/etcdserver/api/v3rpc/error.go b/etcdserver/api/v3rpc/error.go index fb148b83a..3b266ac1f 100644 --- a/etcdserver/api/v3rpc/error.go +++ b/etcdserver/api/v3rpc/error.go @@ -26,4 +26,9 @@ var ( ErrCompacted = grpc.Errorf(codes.OutOfRange, storage.ErrCompacted.Error()) ErrFutureRev = grpc.Errorf(codes.OutOfRange, storage.ErrFutureRev.Error()) ErrLeaseNotFound = grpc.Errorf(codes.NotFound, "requested lease not found") + + ErrMemberExist = grpc.Errorf(codes.FailedPrecondition, "member ID already exist") + ErrPeerURLExist = grpc.Errorf(codes.FailedPrecondition, "Peer URLs already exists") + ErrMemberBadURLs = grpc.Errorf(codes.InvalidArgument, "given member URLs are invalid") + ErrMemberNotFound = grpc.Errorf(codes.NotFound, "member not found") ) diff --git a/etcdserver/api/v3rpc/member.go b/etcdserver/api/v3rpc/member.go new file mode 100644 index 000000000..b25b6d4ee --- /dev/null +++ b/etcdserver/api/v3rpc/member.go @@ -0,0 +1,116 @@ +// Copyright 2016 CoreOS, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package v3rpc + +import ( + "time" + + "github.com/coreos/etcd/Godeps/_workspace/src/golang.org/x/net/context" + "github.com/coreos/etcd/Godeps/_workspace/src/google.golang.org/grpc" + "github.com/coreos/etcd/Godeps/_workspace/src/google.golang.org/grpc/codes" + "github.com/coreos/etcd/etcdserver" + pb "github.com/coreos/etcd/etcdserver/etcdserverpb" + "github.com/coreos/etcd/pkg/types" +) + +type ClusterServer struct { + cluster etcdserver.Cluster + server etcdserver.Server + raftTimer etcdserver.RaftTimer +} + +func NewClusterServer(s *etcdserver.EtcdServer) *ClusterServer { + return &ClusterServer{ + cluster: s.Cluster(), + server: s, + raftTimer: s, + } +} + +func (cs *ClusterServer) MemberAdd(ctx context.Context, r *pb.MemberAddRequest) (*pb.MemberAddResponse, error) { + urls, err := types.NewURLs(r.PeerURLs) + if err != nil { + return nil, ErrMemberBadURLs + } + + now := time.Now() + m := etcdserver.NewMember("", urls, "", &now) + err = cs.server.AddMember(ctx, *m) + switch { + case err == etcdserver.ErrIDExists: + return nil, ErrMemberExist + case err == etcdserver.ErrPeerURLexists: + return nil, ErrPeerURLExist + case err != nil: + return nil, grpc.Errorf(codes.Unknown, err.Error()) + } + + return &pb.MemberAddResponse{ + Header: cs.header(), + Member: &pb.Member{ID: uint64(m.ID), PeerURLs: m.PeerURLs}, + }, nil +} + +func (cs *ClusterServer) MemberRemove(ctx context.Context, r *pb.MemberRemoveRequest) (*pb.MemberRemoveResponse, error) { + err := cs.server.RemoveMember(ctx, r.ID) + switch { + case err == etcdserver.ErrIDRemoved: + fallthrough + case err == etcdserver.ErrIDNotFound: + return nil, ErrMemberNotFound + case err != nil: + return nil, grpc.Errorf(codes.Unknown, err.Error()) + } + + return &pb.MemberRemoveResponse{Header: cs.header()}, nil +} + +func (cs *ClusterServer) MemberUpdate(ctx context.Context, r *pb.MemberUpdateRequest) (*pb.MemberUpdateResponse, error) { + m := etcdserver.Member{ + ID: types.ID(r.ID), + RaftAttributes: etcdserver.RaftAttributes{PeerURLs: r.PeerURLs}, + } + err := cs.server.UpdateMember(ctx, m) + switch { + case err == etcdserver.ErrPeerURLexists: + return nil, ErrPeerURLExist + case err == etcdserver.ErrIDNotFound: + return nil, ErrMemberNotFound + case err != nil: + return nil, grpc.Errorf(codes.Unknown, err.Error()) + } + + return &pb.MemberUpdateResponse{Header: cs.header()}, nil +} + +func (cs *ClusterServer) MemberList(ctx context.Context, r *pb.MemberListRequest) (*pb.MemberListResponse, error) { + membs := cs.cluster.Members() + + protoMembs := make([]*pb.Member, len(membs)) + for i := range membs { + protoMembs[i] = &pb.Member{ + Name: membs[i].Name, + ID: uint64(membs[i].ID), + PeerURLs: membs[i].PeerURLs, + ClientURLs: membs[i].ClientURLs, + } + } + + return &pb.MemberListResponse{Header: cs.header(), Members: protoMembs}, nil +} + +func (cs *ClusterServer) header() *pb.ResponseHeader { + return &pb.ResponseHeader{ClusterId: uint64(cs.cluster.ID()), MemberId: uint64(cs.server.ID()), RaftTerm: cs.raftTimer.Term()} +} diff --git a/etcdserver/etcdserverpb/rpc.pb.go b/etcdserver/etcdserverpb/rpc.pb.go index 26fc53e79..abef5139e 100644 --- a/etcdserver/etcdserverpb/rpc.pb.go +++ b/etcdserver/etcdserverpb/rpc.pb.go @@ -978,119 +978,119 @@ func (m *LeaseKeepAliveResponse) GetHeader() *ResponseHeader { type Member struct { ID uint64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` // If the member is not started, name will be an empty string. - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - Peer_URLs []string `protobuf:"bytes,3,rep,name=peer_URLs" json:"peer_URLs,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + PeerURLs []string `protobuf:"bytes,3,rep,name=peerURLs" json:"peerURLs,omitempty"` // If the member is not started, client_URLs will be an zero length // string array. - Client_URLs []string `protobuf:"bytes,4,rep,name=client_URLs" json:"client_URLs,omitempty"` + ClientURLs []string `protobuf:"bytes,4,rep,name=clientURLs" json:"clientURLs,omitempty"` } func (m *Member) Reset() { *m = Member{} } func (m *Member) String() string { return proto.CompactTextString(m) } func (*Member) ProtoMessage() {} -type AddMemberRequest struct { - Peer_URLs []string `protobuf:"bytes,1,rep,name=peer_URLs" json:"peer_URLs,omitempty"` +type MemberAddRequest struct { + PeerURLs []string `protobuf:"bytes,1,rep,name=peerURLs" json:"peerURLs,omitempty"` } -func (m *AddMemberRequest) Reset() { *m = AddMemberRequest{} } -func (m *AddMemberRequest) String() string { return proto.CompactTextString(m) } -func (*AddMemberRequest) ProtoMessage() {} +func (m *MemberAddRequest) Reset() { *m = MemberAddRequest{} } +func (m *MemberAddRequest) String() string { return proto.CompactTextString(m) } +func (*MemberAddRequest) ProtoMessage() {} -type AddMemberResponse struct { +type MemberAddResponse struct { Header *ResponseHeader `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"` Member *Member `protobuf:"bytes,2,opt,name=member" json:"member,omitempty"` } -func (m *AddMemberResponse) Reset() { *m = AddMemberResponse{} } -func (m *AddMemberResponse) String() string { return proto.CompactTextString(m) } -func (*AddMemberResponse) ProtoMessage() {} +func (m *MemberAddResponse) Reset() { *m = MemberAddResponse{} } +func (m *MemberAddResponse) String() string { return proto.CompactTextString(m) } +func (*MemberAddResponse) ProtoMessage() {} -func (m *AddMemberResponse) GetHeader() *ResponseHeader { +func (m *MemberAddResponse) GetHeader() *ResponseHeader { if m != nil { return m.Header } return nil } -func (m *AddMemberResponse) GetMember() *Member { +func (m *MemberAddResponse) GetMember() *Member { if m != nil { return m.Member } return nil } -type RemoveMemberRequest struct { +type MemberRemoveRequest struct { ID uint64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` } -func (m *RemoveMemberRequest) Reset() { *m = RemoveMemberRequest{} } -func (m *RemoveMemberRequest) String() string { return proto.CompactTextString(m) } -func (*RemoveMemberRequest) ProtoMessage() {} +func (m *MemberRemoveRequest) Reset() { *m = MemberRemoveRequest{} } +func (m *MemberRemoveRequest) String() string { return proto.CompactTextString(m) } +func (*MemberRemoveRequest) ProtoMessage() {} -type RemoveMemberResponse struct { +type MemberRemoveResponse struct { Header *ResponseHeader `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"` } -func (m *RemoveMemberResponse) Reset() { *m = RemoveMemberResponse{} } -func (m *RemoveMemberResponse) String() string { return proto.CompactTextString(m) } -func (*RemoveMemberResponse) ProtoMessage() {} +func (m *MemberRemoveResponse) Reset() { *m = MemberRemoveResponse{} } +func (m *MemberRemoveResponse) String() string { return proto.CompactTextString(m) } +func (*MemberRemoveResponse) ProtoMessage() {} -func (m *RemoveMemberResponse) GetHeader() *ResponseHeader { +func (m *MemberRemoveResponse) GetHeader() *ResponseHeader { if m != nil { return m.Header } return nil } -type UpdateMemberRequest struct { - ID uint64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` - Peer_URLs []string `protobuf:"bytes,2,rep,name=peer_URLs" json:"peer_URLs,omitempty"` +type MemberUpdateRequest struct { + ID uint64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` + PeerURLs []string `protobuf:"bytes,2,rep,name=peerURLs" json:"peerURLs,omitempty"` } -func (m *UpdateMemberRequest) Reset() { *m = UpdateMemberRequest{} } -func (m *UpdateMemberRequest) String() string { return proto.CompactTextString(m) } -func (*UpdateMemberRequest) ProtoMessage() {} +func (m *MemberUpdateRequest) Reset() { *m = MemberUpdateRequest{} } +func (m *MemberUpdateRequest) String() string { return proto.CompactTextString(m) } +func (*MemberUpdateRequest) ProtoMessage() {} -type UpdateMemberResponse struct { +type MemberUpdateResponse struct { Header *ResponseHeader `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"` } -func (m *UpdateMemberResponse) Reset() { *m = UpdateMemberResponse{} } -func (m *UpdateMemberResponse) String() string { return proto.CompactTextString(m) } -func (*UpdateMemberResponse) ProtoMessage() {} +func (m *MemberUpdateResponse) Reset() { *m = MemberUpdateResponse{} } +func (m *MemberUpdateResponse) String() string { return proto.CompactTextString(m) } +func (*MemberUpdateResponse) ProtoMessage() {} -func (m *UpdateMemberResponse) GetHeader() *ResponseHeader { +func (m *MemberUpdateResponse) GetHeader() *ResponseHeader { if m != nil { return m.Header } return nil } -type ListMemberRequest struct { +type MemberListRequest struct { } -func (m *ListMemberRequest) Reset() { *m = ListMemberRequest{} } -func (m *ListMemberRequest) String() string { return proto.CompactTextString(m) } -func (*ListMemberRequest) ProtoMessage() {} +func (m *MemberListRequest) Reset() { *m = MemberListRequest{} } +func (m *MemberListRequest) String() string { return proto.CompactTextString(m) } +func (*MemberListRequest) ProtoMessage() {} -type ListMemberResponse struct { +type MemberListResponse struct { Header *ResponseHeader `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"` Members []*Member `protobuf:"bytes,2,rep,name=members" json:"members,omitempty"` } -func (m *ListMemberResponse) Reset() { *m = ListMemberResponse{} } -func (m *ListMemberResponse) String() string { return proto.CompactTextString(m) } -func (*ListMemberResponse) ProtoMessage() {} +func (m *MemberListResponse) Reset() { *m = MemberListResponse{} } +func (m *MemberListResponse) String() string { return proto.CompactTextString(m) } +func (*MemberListResponse) ProtoMessage() {} -func (m *ListMemberResponse) GetHeader() *ResponseHeader { +func (m *MemberListResponse) GetHeader() *ResponseHeader { if m != nil { return m.Header } return nil } -func (m *ListMemberResponse) GetMembers() []*Member { +func (m *MemberListResponse) GetMembers() []*Member { if m != nil { return m.Members } @@ -1123,14 +1123,14 @@ func init() { proto.RegisterType((*LeaseKeepAliveRequest)(nil), "etcdserverpb.LeaseKeepAliveRequest") proto.RegisterType((*LeaseKeepAliveResponse)(nil), "etcdserverpb.LeaseKeepAliveResponse") proto.RegisterType((*Member)(nil), "etcdserverpb.Member") - proto.RegisterType((*AddMemberRequest)(nil), "etcdserverpb.AddMemberRequest") - proto.RegisterType((*AddMemberResponse)(nil), "etcdserverpb.AddMemberResponse") - proto.RegisterType((*RemoveMemberRequest)(nil), "etcdserverpb.RemoveMemberRequest") - proto.RegisterType((*RemoveMemberResponse)(nil), "etcdserverpb.RemoveMemberResponse") - proto.RegisterType((*UpdateMemberRequest)(nil), "etcdserverpb.UpdateMemberRequest") - proto.RegisterType((*UpdateMemberResponse)(nil), "etcdserverpb.UpdateMemberResponse") - proto.RegisterType((*ListMemberRequest)(nil), "etcdserverpb.ListMemberRequest") - proto.RegisterType((*ListMemberResponse)(nil), "etcdserverpb.ListMemberResponse") + proto.RegisterType((*MemberAddRequest)(nil), "etcdserverpb.MemberAddRequest") + proto.RegisterType((*MemberAddResponse)(nil), "etcdserverpb.MemberAddResponse") + proto.RegisterType((*MemberRemoveRequest)(nil), "etcdserverpb.MemberRemoveRequest") + proto.RegisterType((*MemberRemoveResponse)(nil), "etcdserverpb.MemberRemoveResponse") + proto.RegisterType((*MemberUpdateRequest)(nil), "etcdserverpb.MemberUpdateRequest") + proto.RegisterType((*MemberUpdateResponse)(nil), "etcdserverpb.MemberUpdateResponse") + proto.RegisterType((*MemberListRequest)(nil), "etcdserverpb.MemberListRequest") + proto.RegisterType((*MemberListResponse)(nil), "etcdserverpb.MemberListResponse") proto.RegisterEnum("etcdserverpb.RangeRequest_SortOrder", RangeRequest_SortOrder_name, RangeRequest_SortOrder_value) proto.RegisterEnum("etcdserverpb.RangeRequest_SortTarget", RangeRequest_SortTarget_name, RangeRequest_SortTarget_value) proto.RegisterEnum("etcdserverpb.Compare_CompareResult", Compare_CompareResult_name, Compare_CompareResult_value) @@ -1600,14 +1600,14 @@ var _Lease_serviceDesc = grpc.ServiceDesc{ // Client API for Cluster service type ClusterClient interface { - // AddMember adds a member into the cluster. - AddMember(ctx context.Context, in *AddMemberRequest, opts ...grpc.CallOption) (*AddMemberResponse, error) - // RemoveMember removes an existing member from the cluster. - RemoveMember(ctx context.Context, in *RemoveMemberRequest, opts ...grpc.CallOption) (*RemoveMemberResponse, error) - // UpdateMember updates the member configuration. - UpdateMember(ctx context.Context, in *UpdateMemberRequest, opts ...grpc.CallOption) (*UpdateMemberResponse, error) - // ListMember lists all the members in the cluster. - ListMember(ctx context.Context, in *ListMemberRequest, opts ...grpc.CallOption) (*ListMemberResponse, error) + // MemberAdd adds a member into the cluster. + MemberAdd(ctx context.Context, in *MemberAddRequest, opts ...grpc.CallOption) (*MemberAddResponse, error) + // MemberRemove removes an existing member from the cluster. + MemberRemove(ctx context.Context, in *MemberRemoveRequest, opts ...grpc.CallOption) (*MemberRemoveResponse, error) + // MemberUpdate updates the member configuration. + MemberUpdate(ctx context.Context, in *MemberUpdateRequest, opts ...grpc.CallOption) (*MemberUpdateResponse, error) + // MemberList lists all the members in the cluster. + MemberList(ctx context.Context, in *MemberListRequest, opts ...grpc.CallOption) (*MemberListResponse, error) } type clusterClient struct { @@ -1618,36 +1618,36 @@ func NewClusterClient(cc *grpc.ClientConn) ClusterClient { return &clusterClient{cc} } -func (c *clusterClient) AddMember(ctx context.Context, in *AddMemberRequest, opts ...grpc.CallOption) (*AddMemberResponse, error) { - out := new(AddMemberResponse) - err := grpc.Invoke(ctx, "/etcdserverpb.Cluster/AddMember", in, out, c.cc, opts...) +func (c *clusterClient) MemberAdd(ctx context.Context, in *MemberAddRequest, opts ...grpc.CallOption) (*MemberAddResponse, error) { + out := new(MemberAddResponse) + err := grpc.Invoke(ctx, "/etcdserverpb.Cluster/MemberAdd", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } -func (c *clusterClient) RemoveMember(ctx context.Context, in *RemoveMemberRequest, opts ...grpc.CallOption) (*RemoveMemberResponse, error) { - out := new(RemoveMemberResponse) - err := grpc.Invoke(ctx, "/etcdserverpb.Cluster/RemoveMember", in, out, c.cc, opts...) +func (c *clusterClient) MemberRemove(ctx context.Context, in *MemberRemoveRequest, opts ...grpc.CallOption) (*MemberRemoveResponse, error) { + out := new(MemberRemoveResponse) + err := grpc.Invoke(ctx, "/etcdserverpb.Cluster/MemberRemove", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } -func (c *clusterClient) UpdateMember(ctx context.Context, in *UpdateMemberRequest, opts ...grpc.CallOption) (*UpdateMemberResponse, error) { - out := new(UpdateMemberResponse) - err := grpc.Invoke(ctx, "/etcdserverpb.Cluster/UpdateMember", in, out, c.cc, opts...) +func (c *clusterClient) MemberUpdate(ctx context.Context, in *MemberUpdateRequest, opts ...grpc.CallOption) (*MemberUpdateResponse, error) { + out := new(MemberUpdateResponse) + err := grpc.Invoke(ctx, "/etcdserverpb.Cluster/MemberUpdate", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } -func (c *clusterClient) ListMember(ctx context.Context, in *ListMemberRequest, opts ...grpc.CallOption) (*ListMemberResponse, error) { - out := new(ListMemberResponse) - err := grpc.Invoke(ctx, "/etcdserverpb.Cluster/ListMember", in, out, c.cc, opts...) +func (c *clusterClient) MemberList(ctx context.Context, in *MemberListRequest, opts ...grpc.CallOption) (*MemberListResponse, error) { + out := new(MemberListResponse) + err := grpc.Invoke(ctx, "/etcdserverpb.Cluster/MemberList", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -1657,62 +1657,62 @@ func (c *clusterClient) ListMember(ctx context.Context, in *ListMemberRequest, o // Server API for Cluster service type ClusterServer interface { - // AddMember adds a member into the cluster. - AddMember(context.Context, *AddMemberRequest) (*AddMemberResponse, error) - // RemoveMember removes an existing member from the cluster. - RemoveMember(context.Context, *RemoveMemberRequest) (*RemoveMemberResponse, error) - // UpdateMember updates the member configuration. - UpdateMember(context.Context, *UpdateMemberRequest) (*UpdateMemberResponse, error) - // ListMember lists all the members in the cluster. - ListMember(context.Context, *ListMemberRequest) (*ListMemberResponse, error) + // MemberAdd adds a member into the cluster. + MemberAdd(context.Context, *MemberAddRequest) (*MemberAddResponse, error) + // MemberRemove removes an existing member from the cluster. + MemberRemove(context.Context, *MemberRemoveRequest) (*MemberRemoveResponse, error) + // MemberUpdate updates the member configuration. + MemberUpdate(context.Context, *MemberUpdateRequest) (*MemberUpdateResponse, error) + // MemberList lists all the members in the cluster. + MemberList(context.Context, *MemberListRequest) (*MemberListResponse, error) } func RegisterClusterServer(s *grpc.Server, srv ClusterServer) { s.RegisterService(&_Cluster_serviceDesc, srv) } -func _Cluster_AddMember_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error) (interface{}, error) { - in := new(AddMemberRequest) +func _Cluster_MemberAdd_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error) (interface{}, error) { + in := new(MemberAddRequest) if err := dec(in); err != nil { return nil, err } - out, err := srv.(ClusterServer).AddMember(ctx, in) + out, err := srv.(ClusterServer).MemberAdd(ctx, in) if err != nil { return nil, err } return out, nil } -func _Cluster_RemoveMember_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error) (interface{}, error) { - in := new(RemoveMemberRequest) +func _Cluster_MemberRemove_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error) (interface{}, error) { + in := new(MemberRemoveRequest) if err := dec(in); err != nil { return nil, err } - out, err := srv.(ClusterServer).RemoveMember(ctx, in) + out, err := srv.(ClusterServer).MemberRemove(ctx, in) if err != nil { return nil, err } return out, nil } -func _Cluster_UpdateMember_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error) (interface{}, error) { - in := new(UpdateMemberRequest) +func _Cluster_MemberUpdate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error) (interface{}, error) { + in := new(MemberUpdateRequest) if err := dec(in); err != nil { return nil, err } - out, err := srv.(ClusterServer).UpdateMember(ctx, in) + out, err := srv.(ClusterServer).MemberUpdate(ctx, in) if err != nil { return nil, err } return out, nil } -func _Cluster_ListMember_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error) (interface{}, error) { - in := new(ListMemberRequest) +func _Cluster_MemberList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error) (interface{}, error) { + in := new(MemberListRequest) if err := dec(in); err != nil { return nil, err } - out, err := srv.(ClusterServer).ListMember(ctx, in) + out, err := srv.(ClusterServer).MemberList(ctx, in) if err != nil { return nil, err } @@ -1724,20 +1724,20 @@ var _Cluster_serviceDesc = grpc.ServiceDesc{ HandlerType: (*ClusterServer)(nil), Methods: []grpc.MethodDesc{ { - MethodName: "AddMember", - Handler: _Cluster_AddMember_Handler, + MethodName: "MemberAdd", + Handler: _Cluster_MemberAdd_Handler, }, { - MethodName: "RemoveMember", - Handler: _Cluster_RemoveMember_Handler, + MethodName: "MemberRemove", + Handler: _Cluster_MemberRemove_Handler, }, { - MethodName: "UpdateMember", - Handler: _Cluster_UpdateMember_Handler, + MethodName: "MemberUpdate", + Handler: _Cluster_MemberUpdate_Handler, }, { - MethodName: "ListMember", - Handler: _Cluster_ListMember_Handler, + MethodName: "MemberList", + Handler: _Cluster_MemberList_Handler, }, }, Streams: []grpc.StreamDesc{}, @@ -2777,8 +2777,8 @@ func (m *Member) MarshalTo(data []byte) (int, error) { i = encodeVarintRpc(data, i, uint64(len(m.Name))) i += copy(data[i:], m.Name) } - if len(m.Peer_URLs) > 0 { - for _, s := range m.Peer_URLs { + if len(m.PeerURLs) > 0 { + for _, s := range m.PeerURLs { data[i] = 0x1a i++ l = len(s) @@ -2792,8 +2792,8 @@ func (m *Member) MarshalTo(data []byte) (int, error) { i += copy(data[i:], s) } } - if len(m.Client_URLs) > 0 { - for _, s := range m.Client_URLs { + if len(m.ClientURLs) > 0 { + for _, s := range m.ClientURLs { data[i] = 0x22 i++ l = len(s) @@ -2810,7 +2810,7 @@ func (m *Member) MarshalTo(data []byte) (int, error) { return i, nil } -func (m *AddMemberRequest) Marshal() (data []byte, err error) { +func (m *MemberAddRequest) Marshal() (data []byte, err error) { size := m.Size() data = make([]byte, size) n, err := m.MarshalTo(data) @@ -2820,13 +2820,13 @@ func (m *AddMemberRequest) Marshal() (data []byte, err error) { return data[:n], nil } -func (m *AddMemberRequest) MarshalTo(data []byte) (int, error) { +func (m *MemberAddRequest) MarshalTo(data []byte) (int, error) { var i int _ = i var l int _ = l - if len(m.Peer_URLs) > 0 { - for _, s := range m.Peer_URLs { + if len(m.PeerURLs) > 0 { + for _, s := range m.PeerURLs { data[i] = 0xa i++ l = len(s) @@ -2843,7 +2843,7 @@ func (m *AddMemberRequest) MarshalTo(data []byte) (int, error) { return i, nil } -func (m *AddMemberResponse) Marshal() (data []byte, err error) { +func (m *MemberAddResponse) Marshal() (data []byte, err error) { size := m.Size() data = make([]byte, size) n, err := m.MarshalTo(data) @@ -2853,7 +2853,7 @@ func (m *AddMemberResponse) Marshal() (data []byte, err error) { return data[:n], nil } -func (m *AddMemberResponse) MarshalTo(data []byte) (int, error) { +func (m *MemberAddResponse) MarshalTo(data []byte) (int, error) { var i int _ = i var l int @@ -2881,7 +2881,7 @@ func (m *AddMemberResponse) MarshalTo(data []byte) (int, error) { return i, nil } -func (m *RemoveMemberRequest) Marshal() (data []byte, err error) { +func (m *MemberRemoveRequest) Marshal() (data []byte, err error) { size := m.Size() data = make([]byte, size) n, err := m.MarshalTo(data) @@ -2891,7 +2891,7 @@ func (m *RemoveMemberRequest) Marshal() (data []byte, err error) { return data[:n], nil } -func (m *RemoveMemberRequest) MarshalTo(data []byte) (int, error) { +func (m *MemberRemoveRequest) MarshalTo(data []byte) (int, error) { var i int _ = i var l int @@ -2904,7 +2904,7 @@ func (m *RemoveMemberRequest) MarshalTo(data []byte) (int, error) { return i, nil } -func (m *RemoveMemberResponse) Marshal() (data []byte, err error) { +func (m *MemberRemoveResponse) Marshal() (data []byte, err error) { size := m.Size() data = make([]byte, size) n, err := m.MarshalTo(data) @@ -2914,7 +2914,7 @@ func (m *RemoveMemberResponse) Marshal() (data []byte, err error) { return data[:n], nil } -func (m *RemoveMemberResponse) MarshalTo(data []byte) (int, error) { +func (m *MemberRemoveResponse) MarshalTo(data []byte) (int, error) { var i int _ = i var l int @@ -2932,7 +2932,7 @@ func (m *RemoveMemberResponse) MarshalTo(data []byte) (int, error) { return i, nil } -func (m *UpdateMemberRequest) Marshal() (data []byte, err error) { +func (m *MemberUpdateRequest) Marshal() (data []byte, err error) { size := m.Size() data = make([]byte, size) n, err := m.MarshalTo(data) @@ -2942,7 +2942,7 @@ func (m *UpdateMemberRequest) Marshal() (data []byte, err error) { return data[:n], nil } -func (m *UpdateMemberRequest) MarshalTo(data []byte) (int, error) { +func (m *MemberUpdateRequest) MarshalTo(data []byte) (int, error) { var i int _ = i var l int @@ -2952,8 +2952,8 @@ func (m *UpdateMemberRequest) MarshalTo(data []byte) (int, error) { i++ i = encodeVarintRpc(data, i, uint64(m.ID)) } - if len(m.Peer_URLs) > 0 { - for _, s := range m.Peer_URLs { + if len(m.PeerURLs) > 0 { + for _, s := range m.PeerURLs { data[i] = 0x12 i++ l = len(s) @@ -2970,7 +2970,7 @@ func (m *UpdateMemberRequest) MarshalTo(data []byte) (int, error) { return i, nil } -func (m *UpdateMemberResponse) Marshal() (data []byte, err error) { +func (m *MemberUpdateResponse) Marshal() (data []byte, err error) { size := m.Size() data = make([]byte, size) n, err := m.MarshalTo(data) @@ -2980,7 +2980,7 @@ func (m *UpdateMemberResponse) Marshal() (data []byte, err error) { return data[:n], nil } -func (m *UpdateMemberResponse) MarshalTo(data []byte) (int, error) { +func (m *MemberUpdateResponse) MarshalTo(data []byte) (int, error) { var i int _ = i var l int @@ -2998,7 +2998,7 @@ func (m *UpdateMemberResponse) MarshalTo(data []byte) (int, error) { return i, nil } -func (m *ListMemberRequest) Marshal() (data []byte, err error) { +func (m *MemberListRequest) Marshal() (data []byte, err error) { size := m.Size() data = make([]byte, size) n, err := m.MarshalTo(data) @@ -3008,7 +3008,7 @@ func (m *ListMemberRequest) Marshal() (data []byte, err error) { return data[:n], nil } -func (m *ListMemberRequest) MarshalTo(data []byte) (int, error) { +func (m *MemberListRequest) MarshalTo(data []byte) (int, error) { var i int _ = i var l int @@ -3016,7 +3016,7 @@ func (m *ListMemberRequest) MarshalTo(data []byte) (int, error) { return i, nil } -func (m *ListMemberResponse) Marshal() (data []byte, err error) { +func (m *MemberListResponse) Marshal() (data []byte, err error) { size := m.Size() data = make([]byte, size) n, err := m.MarshalTo(data) @@ -3026,7 +3026,7 @@ func (m *ListMemberResponse) Marshal() (data []byte, err error) { return data[:n], nil } -func (m *ListMemberResponse) MarshalTo(data []byte) (int, error) { +func (m *MemberListResponse) MarshalTo(data []byte) (int, error) { var i int _ = i var l int @@ -3562,14 +3562,14 @@ func (m *Member) Size() (n int) { if l > 0 { n += 1 + l + sovRpc(uint64(l)) } - if len(m.Peer_URLs) > 0 { - for _, s := range m.Peer_URLs { + if len(m.PeerURLs) > 0 { + for _, s := range m.PeerURLs { l = len(s) n += 1 + l + sovRpc(uint64(l)) } } - if len(m.Client_URLs) > 0 { - for _, s := range m.Client_URLs { + if len(m.ClientURLs) > 0 { + for _, s := range m.ClientURLs { l = len(s) n += 1 + l + sovRpc(uint64(l)) } @@ -3577,11 +3577,11 @@ func (m *Member) Size() (n int) { return n } -func (m *AddMemberRequest) Size() (n int) { +func (m *MemberAddRequest) Size() (n int) { var l int _ = l - if len(m.Peer_URLs) > 0 { - for _, s := range m.Peer_URLs { + if len(m.PeerURLs) > 0 { + for _, s := range m.PeerURLs { l = len(s) n += 1 + l + sovRpc(uint64(l)) } @@ -3589,7 +3589,7 @@ func (m *AddMemberRequest) Size() (n int) { return n } -func (m *AddMemberResponse) Size() (n int) { +func (m *MemberAddResponse) Size() (n int) { var l int _ = l if m.Header != nil { @@ -3603,7 +3603,7 @@ func (m *AddMemberResponse) Size() (n int) { return n } -func (m *RemoveMemberRequest) Size() (n int) { +func (m *MemberRemoveRequest) Size() (n int) { var l int _ = l if m.ID != 0 { @@ -3612,7 +3612,7 @@ func (m *RemoveMemberRequest) Size() (n int) { return n } -func (m *RemoveMemberResponse) Size() (n int) { +func (m *MemberRemoveResponse) Size() (n int) { var l int _ = l if m.Header != nil { @@ -3622,14 +3622,14 @@ func (m *RemoveMemberResponse) Size() (n int) { return n } -func (m *UpdateMemberRequest) Size() (n int) { +func (m *MemberUpdateRequest) Size() (n int) { var l int _ = l if m.ID != 0 { n += 1 + sovRpc(uint64(m.ID)) } - if len(m.Peer_URLs) > 0 { - for _, s := range m.Peer_URLs { + if len(m.PeerURLs) > 0 { + for _, s := range m.PeerURLs { l = len(s) n += 1 + l + sovRpc(uint64(l)) } @@ -3637,7 +3637,7 @@ func (m *UpdateMemberRequest) Size() (n int) { return n } -func (m *UpdateMemberResponse) Size() (n int) { +func (m *MemberUpdateResponse) Size() (n int) { var l int _ = l if m.Header != nil { @@ -3647,13 +3647,13 @@ func (m *UpdateMemberResponse) Size() (n int) { return n } -func (m *ListMemberRequest) Size() (n int) { +func (m *MemberListRequest) Size() (n int) { var l int _ = l return n } -func (m *ListMemberResponse) Size() (n int) { +func (m *MemberListResponse) Size() (n int) { var l int _ = l if m.Header != nil { @@ -6635,7 +6635,7 @@ func (m *Member) Unmarshal(data []byte) error { iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Peer_URLs", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field PeerURLs", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -6660,11 +6660,11 @@ func (m *Member) Unmarshal(data []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Peer_URLs = append(m.Peer_URLs, string(data[iNdEx:postIndex])) + m.PeerURLs = append(m.PeerURLs, string(data[iNdEx:postIndex])) iNdEx = postIndex case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Client_URLs", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ClientURLs", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -6689,7 +6689,7 @@ func (m *Member) Unmarshal(data []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Client_URLs = append(m.Client_URLs, string(data[iNdEx:postIndex])) + m.ClientURLs = append(m.ClientURLs, string(data[iNdEx:postIndex])) iNdEx = postIndex default: iNdEx = preIndex @@ -6712,7 +6712,7 @@ func (m *Member) Unmarshal(data []byte) error { } return nil } -func (m *AddMemberRequest) Unmarshal(data []byte) error { +func (m *MemberAddRequest) Unmarshal(data []byte) error { l := len(data) iNdEx := 0 for iNdEx < l { @@ -6735,15 +6735,15 @@ func (m *AddMemberRequest) Unmarshal(data []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: AddMemberRequest: wiretype end group for non-group") + return fmt.Errorf("proto: MemberAddRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: AddMemberRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MemberAddRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Peer_URLs", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field PeerURLs", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -6768,7 +6768,7 @@ func (m *AddMemberRequest) Unmarshal(data []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Peer_URLs = append(m.Peer_URLs, string(data[iNdEx:postIndex])) + m.PeerURLs = append(m.PeerURLs, string(data[iNdEx:postIndex])) iNdEx = postIndex default: iNdEx = preIndex @@ -6791,7 +6791,7 @@ func (m *AddMemberRequest) Unmarshal(data []byte) error { } return nil } -func (m *AddMemberResponse) Unmarshal(data []byte) error { +func (m *MemberAddResponse) Unmarshal(data []byte) error { l := len(data) iNdEx := 0 for iNdEx < l { @@ -6814,10 +6814,10 @@ func (m *AddMemberResponse) Unmarshal(data []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: AddMemberResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MemberAddResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: AddMemberResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MemberAddResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -6907,7 +6907,7 @@ func (m *AddMemberResponse) Unmarshal(data []byte) error { } return nil } -func (m *RemoveMemberRequest) Unmarshal(data []byte) error { +func (m *MemberRemoveRequest) Unmarshal(data []byte) error { l := len(data) iNdEx := 0 for iNdEx < l { @@ -6930,10 +6930,10 @@ func (m *RemoveMemberRequest) Unmarshal(data []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: RemoveMemberRequest: wiretype end group for non-group") + return fmt.Errorf("proto: MemberRemoveRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: RemoveMemberRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MemberRemoveRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -6976,7 +6976,7 @@ func (m *RemoveMemberRequest) Unmarshal(data []byte) error { } return nil } -func (m *RemoveMemberResponse) Unmarshal(data []byte) error { +func (m *MemberRemoveResponse) Unmarshal(data []byte) error { l := len(data) iNdEx := 0 for iNdEx < l { @@ -6999,10 +6999,10 @@ func (m *RemoveMemberResponse) Unmarshal(data []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: RemoveMemberResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MemberRemoveResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: RemoveMemberResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MemberRemoveResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -7059,7 +7059,7 @@ func (m *RemoveMemberResponse) Unmarshal(data []byte) error { } return nil } -func (m *UpdateMemberRequest) Unmarshal(data []byte) error { +func (m *MemberUpdateRequest) Unmarshal(data []byte) error { l := len(data) iNdEx := 0 for iNdEx < l { @@ -7082,10 +7082,10 @@ func (m *UpdateMemberRequest) Unmarshal(data []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: UpdateMemberRequest: wiretype end group for non-group") + return fmt.Errorf("proto: MemberUpdateRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: UpdateMemberRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MemberUpdateRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -7109,7 +7109,7 @@ func (m *UpdateMemberRequest) Unmarshal(data []byte) error { } case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Peer_URLs", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field PeerURLs", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -7134,7 +7134,7 @@ func (m *UpdateMemberRequest) Unmarshal(data []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Peer_URLs = append(m.Peer_URLs, string(data[iNdEx:postIndex])) + m.PeerURLs = append(m.PeerURLs, string(data[iNdEx:postIndex])) iNdEx = postIndex default: iNdEx = preIndex @@ -7157,7 +7157,7 @@ func (m *UpdateMemberRequest) Unmarshal(data []byte) error { } return nil } -func (m *UpdateMemberResponse) Unmarshal(data []byte) error { +func (m *MemberUpdateResponse) Unmarshal(data []byte) error { l := len(data) iNdEx := 0 for iNdEx < l { @@ -7180,10 +7180,10 @@ func (m *UpdateMemberResponse) Unmarshal(data []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: UpdateMemberResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MemberUpdateResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: UpdateMemberResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MemberUpdateResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -7240,7 +7240,7 @@ func (m *UpdateMemberResponse) Unmarshal(data []byte) error { } return nil } -func (m *ListMemberRequest) Unmarshal(data []byte) error { +func (m *MemberListRequest) Unmarshal(data []byte) error { l := len(data) iNdEx := 0 for iNdEx < l { @@ -7263,10 +7263,10 @@ func (m *ListMemberRequest) Unmarshal(data []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ListMemberRequest: wiretype end group for non-group") + return fmt.Errorf("proto: MemberListRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ListMemberRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MemberListRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -7290,7 +7290,7 @@ func (m *ListMemberRequest) Unmarshal(data []byte) error { } return nil } -func (m *ListMemberResponse) Unmarshal(data []byte) error { +func (m *MemberListResponse) Unmarshal(data []byte) error { l := len(data) iNdEx := 0 for iNdEx < l { @@ -7313,10 +7313,10 @@ func (m *ListMemberResponse) Unmarshal(data []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ListMemberResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MemberListResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ListMemberResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MemberListResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: diff --git a/etcdserver/etcdserverpb/rpc.proto b/etcdserver/etcdserverpb/rpc.proto index 1bbfa0486..7d75d2a0b 100644 --- a/etcdserver/etcdserverpb/rpc.proto +++ b/etcdserver/etcdserverpb/rpc.proto @@ -58,17 +58,17 @@ service Lease { } service Cluster { - // AddMember adds a member into the cluster. - rpc AddMember(AddMemberRequest) returns (AddMemberResponse) {} + // MemberAdd adds a member into the cluster. + rpc MemberAdd(MemberAddRequest) returns (MemberAddResponse) {} - // RemoveMember removes an existing member from the cluster. - rpc RemoveMember(RemoveMemberRequest) returns (RemoveMemberResponse) {} + // MemberRemove removes an existing member from the cluster. + rpc MemberRemove(MemberRemoveRequest) returns (MemberRemoveResponse) {} - // UpdateMember updates the member configuration. - rpc UpdateMember(UpdateMemberRequest) returns (UpdateMemberResponse) {} + // MemberUpdate updates the member configuration. + rpc MemberUpdate(MemberUpdateRequest) returns (MemberUpdateResponse) {} - // ListMember lists all the members in the cluster. - rpc ListMember(ListMemberRequest) returns (ListMemberResponse) {} + // MemberList lists all the members in the cluster. + rpc MemberList(MemberListRequest) returns (MemberListResponse) {} } message ResponseHeader { @@ -311,42 +311,42 @@ message Member { uint64 ID = 1; // If the member is not started, name will be an empty string. string name = 2; - repeated string peer_URLs = 3; + repeated string peerURLs = 3; // If the member is not started, client_URLs will be an zero length // string array. - repeated string client_URLs = 4; + repeated string clientURLs = 4; } -message AddMemberRequest { - repeated string peer_URLs = 1; +message MemberAddRequest { + repeated string peerURLs = 1; } -message AddMemberResponse { +message MemberAddResponse { ResponseHeader header = 1; Member member = 2; } -message RemoveMemberRequest { +message MemberRemoveRequest { uint64 ID = 1; } -message RemoveMemberResponse { +message MemberRemoveResponse { ResponseHeader header = 1; } -message UpdateMemberRequest { +message MemberUpdateRequest { uint64 ID = 1; - repeated string peer_URLs = 2; + repeated string peerURLs = 2; } -message UpdateMemberResponse{ +message MemberUpdateResponse{ ResponseHeader header = 1; } -message ListMemberRequest { +message MemberListRequest { } -message ListMemberResponse { +message MemberListResponse { ResponseHeader header = 1; repeated Member members = 2; }