Browse Source

Merge pull request #10121 from dannysauer/etcdctl_message_fix

etcdctl: More helpful error handling in member add
Gyuho Lee 7 years ago
parent
commit
a3e242d80a
1 changed files with 10 additions and 1 deletions
  1. 10 1
      etcdctl/ctlv3/command/member_command.go

+ 10 - 1
etcdctl/ctlv3/command/member_command.go

@@ -96,9 +96,18 @@ The items in the lists are ID, Status, Name, Peer Addrs, Client Addrs.
 
 // memberAddCommandFunc executes the "member add" command.
 func memberAddCommandFunc(cmd *cobra.Command, args []string) {
-	if len(args) != 1 {
+	if len(args) < 1 {
 		ExitWithError(ExitBadArgs, fmt.Errorf("member name not provided."))
 	}
+	if len(args) > 1 {
+		errorstring := "too many arguments"
+		for _, v := range args {
+			if strings.HasPrefix(strings.ToLower(v), "http"){
+				errorstring += ", did you mean \"--peer-urls " + v + "\""
+			}
+		}
+		ExitWithError(ExitBadArgs, fmt.Errorf(errorstring))
+	}
 	newMemberName := args[0]
 
 	if len(memberPeerURLs) == 0 {