Bläddra i källkod

ctlv3: support TLS endpoints for move-leader command

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
Gyuho Lee 7 år sedan
förälder
incheckning
e2cb9cbaec
2 ändrade filer med 12 tillägg och 16 borttagningar
  1. 6 5
      etcdctl/ctlv3/command/global.go
  2. 6 11
      etcdctl/ctlv3/command/move_leader_command.go

+ 6 - 5
etcdctl/ctlv3/command/global.go

@@ -109,11 +109,12 @@ func (*discardValue) Type() string     { return "" }
 
 
 func clientConfigFromCmd(cmd *cobra.Command) *clientConfig {
 func clientConfigFromCmd(cmd *cobra.Command) *clientConfig {
 	fs := cmd.InheritedFlags()
 	fs := cmd.InheritedFlags()
-
-	// silence "pkg/flags: unrecognized environment variable ETCDCTL_WATCH_KEY=foo" warnings
-	// silence "pkg/flags: unrecognized environment variable ETCDCTL_WATCH_RANGE_END=bar" warnings
-	fs.AddFlag(&pflag.Flag{Name: "watch-key", Value: &discardValue{}})
-	fs.AddFlag(&pflag.Flag{Name: "watch-range-end", Value: &discardValue{}})
+	if strings.HasPrefix(cmd.Use, "watch") {
+		// silence "pkg/flags: unrecognized environment variable ETCDCTL_WATCH_KEY=foo" warnings
+		// silence "pkg/flags: unrecognized environment variable ETCDCTL_WATCH_RANGE_END=bar" warnings
+		fs.AddFlag(&pflag.Flag{Name: "watch-key", Value: &discardValue{}})
+		fs.AddFlag(&pflag.Flag{Name: "watch-range-end", Value: &discardValue{}})
+	}
 	flags.SetPflagsFromEnv("ETCDCTL", fs)
 	flags.SetPflagsFromEnv("ETCDCTL", fs)
 
 
 	debug, err := cmd.Flags().GetBool("debug")
 	debug, err := cmd.Flags().GetBool("debug")

+ 6 - 11
etcdctl/ctlv3/command/move_leader_command.go

@@ -17,7 +17,6 @@ package command
 import (
 import (
 	"fmt"
 	"fmt"
 	"strconv"
 	"strconv"
-	"time"
 
 
 	"github.com/coreos/etcd/clientv3"
 	"github.com/coreos/etcd/clientv3"
 	"github.com/spf13/cobra"
 	"github.com/spf13/cobra"
@@ -53,16 +52,12 @@ func transferLeadershipCommandFunc(cmd *cobra.Command, args []string) {
 	var leaderCli *clientv3.Client
 	var leaderCli *clientv3.Client
 	var leaderID uint64
 	var leaderID uint64
 	for _, ep := range eps {
 	for _, ep := range eps {
-		cli, err := clientv3.New(clientv3.Config{
-			Endpoints:   []string{ep},
-			DialTimeout: 3 * time.Second,
-		})
-		if err != nil {
-			ExitWithError(ExitError, err)
-		}
-		resp, err := cli.Status(ctx, ep)
-		if err != nil {
-			ExitWithError(ExitError, err)
+		cfg := clientConfigFromCmd(cmd)
+		cfg.endpoints = []string{ep}
+		cli := cfg.mustClient()
+		resp, serr := cli.Status(ctx, ep)
+		if serr != nil {
+			ExitWithError(ExitError, serr)
 		}
 		}
 
 
 		if resp.Header.GetMemberId() == resp.Leader {
 		if resp.Header.GetMemberId() == resp.Leader {