From b6585fc50c7e8fe65d54043bee8e423a448cb93f Mon Sep 17 00:00:00 2001 From: Alex Dadgar Date: Fri, 22 Apr 2016 15:59:56 -0700 Subject: [PATCH] Better error handling --- command/server_members.go | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/command/server_members.go b/command/server_members.go index f0181c796..40e375f3f 100644 --- a/command/server_members.go +++ b/command/server_members.go @@ -74,7 +74,7 @@ func (c *ServerMembersCommand) Run(args []string) int { // Determine the leaders per region. leaders, err := regionLeaders(client, mem) - if err != nil && !strings.Contains(err.Error(), "No cluster leader") { + if err != nil { c.Ui.Error(fmt.Sprintf("Error determining leaders: %s", err)) return 1 } @@ -160,8 +160,13 @@ func regionLeaders(client *api.Client, mem []*api.AgentMember) (map[string]strin for reg := range regions { l, err := status.RegionLeader(reg) if err != nil { - return leaders, err + // This error means that region has no leader. + if strings.Contains(err.Error(), "No cluster leader") { + continue + } + return nil, err } + leaders[reg] = l }