8000 CLI 'set-primary NODE_NAME': fix inconsistency with 'NODE_ID' · NVIDIA/aistore@a7354f0 · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Commit a7354f0

Browse files
committed
CLI 'set-primary NODE_NAME': fix inconsistency with 'NODE_ID'
Signed-off-by: Alex Aizman <alex.aizman@gmail.com>
1 parent de751b6 commit a7354f0

File tree

3 files changed

+25
-23
lines changed

3 files changed

+25
-23
lines changed

cmd/cli/cli/cluster_hdlr.go

Lines changed: 23 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -519,31 +519,32 @@ func setPrimaryHandler(c *cli.Context) error {
519519
if c.NArg() == 0 {
520520
return missingArgumentsError(c, c.Command.ArgsUsage)
521521
}
522+
node, sname, err := arg0Node(c)
523+
if err != nil {
524+
return err
525+
}
526+
if !node.IsProxy() {
527+
return incorrectUsageMsg(c, "%s is not a proxy", sname)
528+
}
529+
530+
// force
522531
var (
523-
toID = c.Args().Get(0)
524532
toURL = c.Args().Get(1)
525533
force = flagIsSet(c, forceFlag)
526534
)
527535
if force {
528-
err := api.SetPrimary(apiBP, toID, toURL, force)
529-
if err == nil {
530-
var s string
531-
if toURL != "" {
532-
s = " (at " + toURL + ")"
533-
}
534-
actionDone(c, fmt.Sprintf("%s%s is now a new primary", toID, s))
536+
if err := api.SetPrimary(apiBP, node.ID(), toURL, true /*force*/); err != nil {
537+
return err
535538
}
536-
return err
537-
}
538-
539-
node, sname, err := getNode(c, toID)
540-
if err != nil {
541-
return err
542-
}
543-
if !node.IsProxy() {
544-
return incorrectUsageMsg(c, "%s is not a proxy", sname)
539+
var s string
540+
if toURL != "" {
541+
s = " (at " + toURL + ")"
542+
}
543+
actionDone(c, fmt.Sprintf("%s%s is now a new primary", sname, s))
544+
return nil
545545
}
546546

547+
// regular
547548
switch {
548549
case node.Flags.IsSet(meta.SnodeMaint):
549550
return fmt.Errorf("%s is currently in maintenance", sname)
@@ -553,11 +554,12 @@ func setPrimaryHandler(c *cli.Context) error {
553554
return fmt.Errorf("%s is non-electable", sname)
554555
}
555556

556-
err = api.SetPrimary(apiBP, toID, toURL, force)
557-
if err == nil {
558-
actionDone(c, sname+" is now a new primary")
557+
if err := api.SetPrimary(apiBP, node.ID(), toURL, false /*force*/); err != nil {
558+
return err
559559
}
560-
return err
560+
561+
actionDone(c, sname+" is now a new primary")
562+
return nil
561563
}
562564

563565
func startRebHandler(c *cli.Context) (err error) {

cmd/cli/cli/smap.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ func getNode(c *cli.Context, arg string) (node *meta.Snode, sname string, err er
7373
err = &errDoesNotExist{
7474
what: "node",
7575
name: arg,
76-
suffix: " (" + tabHelpOpt + ", or see 'ais show cluster')",
76+
suffix: " (" + tabHelpOpt + ", check available nodes by running 'ais show cluster')",
7777
}
7878
return
7979
}

tools/node.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -299,7 +299,7 @@ func pidFromURL(smap *meta.Smap, proxyURL string) string {
299299
}
300300

301301
func WaitForNewSmap(proxyURL string, prevVersion int64) (newSmap *meta.Smap, err error) {
302-
return WaitForClusterState(proxyURL, "new smap version", prevVersion, 0, 0)
302+
return WaitForClusterState(proxyURL, "new Smap version", prevVersion, 0, 0)
303303
}
304304

305305
func WaitForResilvering(t *testing.T, bp api.BaseParams, target *meta.Snode) {

0 commit comments

Comments
 (0)
0