From a12fd9cc92d16435f7ca31c6ba33417ccff2dea4 Mon Sep 17 00:00:00 2001 From: Anthony Romano Date: Tue, 12 Apr 2016 10:26:40 -0700 Subject: [PATCH] etcdctl: print grant/revoke error instead of scanning roles for changes Fixes #5045 --- etcdctl/ctlv2/command/user_commands.go | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-) diff --git a/etcdctl/ctlv2/command/user_commands.go b/etcdctl/ctlv2/command/user_commands.go index 2ff6a9647..497ab4a2a 100644 --- a/etcdctl/ctlv2/command/user_commands.go +++ b/etcdctl/ctlv2/command/user_commands.go @@ -17,8 +17,6 @@ package command import ( "fmt" "os" - "reflect" - "sort" "strings" "github.com/bgentry/speakeasy" @@ -195,21 +193,12 @@ func userGrantRevoke(c *cli.Context, grant bool) { os.Exit(1) } - var newUser *client.User if grant { - newUser, err = api.GrantUser(ctx, user, roles) + _, err = api.GrantUser(ctx, user, roles) } else { - newUser, err = api.RevokeUser(ctx, user, roles) - } - sort.Strings(newUser.Roles) - sort.Strings(currentUser.Roles) - if reflect.DeepEqual(newUser.Roles, currentUser.Roles) { - if grant { - fmt.Printf("User unchanged; roles already granted") - } else { - fmt.Printf("User unchanged; roles already revoked") - } + _, err = api.RevokeUser(ctx, user, roles) } + if err != nil { fmt.Fprintln(os.Stderr, err.Error()) os.Exit(1)