From 93fc71bb3777f14752f84c6ff2e5d410bf592fe1 Mon Sep 17 00:00:00 2001 From: Yethal <26117918+Yethal@users.noreply.github.com> Date: Thu, 18 May 2023 22:43:57 +0200 Subject: [PATCH] cli: show leader status in json output of server members (#17138) --- .changelog/17138.txt | 3 +++ command/server_members.go | 9 ++++++--- 2 files changed, 9 insertions(+), 3 deletions(-) create mode 100644 .changelog/17138.txt diff --git a/.changelog/17138.txt b/.changelog/17138.txt new file mode 100644 index 000000000..456e254d5 --- /dev/null +++ b/.changelog/17138.txt @@ -0,0 +1,3 @@ +```release-note:improvement +cli: Add leader status to output of `nomad server members -json` +``` diff --git a/command/server_members.go b/command/server_members.go index 88db710f2..3badbc5b4 100644 --- a/command/server_members.go +++ b/command/server_members.go @@ -118,7 +118,13 @@ func (c *ServerMembersCommand) Run(args []string) int { // Sort the members sort.Sort(api.AgentMembersNameSort(srvMembers.Members)) + // Determine the leaders per region. + leaders, leaderErr := regionLeaders(client, srvMembers.Members) + if json || len(tmpl) > 0 { + for _, member := range srvMembers.Members { + member.Tags["Leader"] = fmt.Sprintf("%t", isLeader(member, leaders)) + } out, err := Format(json, tmpl, srvMembers.Members) if err != nil { c.Ui.Error(err.Error()) @@ -129,9 +135,6 @@ func (c *ServerMembersCommand) Run(args []string) int { return 0 } - // Determine the leaders per region. - leaders, leaderErr := regionLeaders(client, srvMembers.Members) - // Format the list var out []string if verbose {