Browse Source

clientv3,v3client: add cluster embedded client

Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com>
Gyu-Ho Lee 8 years ago
parent
commit
7f2d6b3ef6
2 changed files with 9 additions and 0 deletions
  1. 4 0
      clientv3/cluster.go
  2. 5 0
      etcdserver/api/v3client/v3client.go

+ 4 - 0
clientv3/cluster.go

@@ -50,6 +50,10 @@ func NewCluster(c *Client) Cluster {
 	return &cluster{remote: RetryClusterClient(c)}
 	return &cluster{remote: RetryClusterClient(c)}
 }
 }
 
 
+func NewClusterFromClusterClient(remote pb.ClusterClient) Cluster {
+	return &cluster{remote: remote}
+}
+
 func (c *cluster) MemberAdd(ctx context.Context, peerAddrs []string) (*MemberAddResponse, error) {
 func (c *cluster) MemberAdd(ctx context.Context, peerAddrs []string) (*MemberAddResponse, error) {
 	r := &pb.MemberAddRequest{PeerURLs: peerAddrs}
 	r := &pb.MemberAddRequest{PeerURLs: peerAddrs}
 	resp, err := c.remote.MemberAdd(ctx, r)
 	resp, err := c.remote.MemberAdd(ctx, r)

+ 5 - 0
etcdserver/api/v3client/v3client.go

@@ -42,5 +42,10 @@ func New(s *etcdserver.EtcdServer) *clientv3.Client {
 	mc := adapter.MaintenanceServerToMaintenanceClient(v3rpc.NewMaintenanceServer(s))
 	mc := adapter.MaintenanceServerToMaintenanceClient(v3rpc.NewMaintenanceServer(s))
 	c.Maintenance = clientv3.NewMaintenanceFromMaintenanceClient(mc)
 	c.Maintenance = clientv3.NewMaintenanceFromMaintenanceClient(mc)
 
 
+	clc := adapter.ClusterServerToClusterClient(v3rpc.NewClusterServer(s))
+	c.Cluster = clientv3.NewClusterFromClusterClient(clc)
+
+	// TODO: implement clientv3.Auth interface?
+
 	return c
 	return c
 }
 }