@@ -519,31 +519,32 @@ func setPrimaryHandler(c *cli.Context) error {
519
519
if c .NArg () == 0 {
520
520
return missingArgumentsError (c , c .Command .ArgsUsage )
521
521
}
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
522
531
var (
523
- toID = c .Args ().Get (0 )
524
532
toURL = c .Args ().Get (1 )
525
533
force = flagIsSet (c , forceFlag )
526
534
)
527
535
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
535
538
}
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
545
545
}
546
546
547
+ // regular
547
548
switch {
548
549
case node .Flags .IsSet (meta .SnodeMaint ):
549
550
return fmt .Errorf ("%s is currently in maintenance" , sname )
@@ -553,11 +554,12 @@ func setPrimaryHandler(c *cli.Context) error {
553
554
return fmt .Errorf ("%s is non-electable" , sname )
554
555
}
555
556
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
559
559
}
560
- return err
560
+
561
+ actionDone (c , sname + " is now a new primary" )
562
+ return nil
561
563
}
562
564
563
565
func startRebHandler (c * cli.Context ) (err error ) {
0 commit comments