From 5c2a58799340d4e1b435dcf01abc9e3d17e2ad27 Mon Sep 17 00:00:00 2001 From: Ashesh Vidyut Date: Thu, 8 Jun 2023 21:05:57 +0530 Subject: [PATCH] pr review comment changes --- .changelog/17582.txt | 4 +--- api/operator_raft.go | 17 ----------------- api/operator_raft_test.go | 19 ------------------- .../raft/listpeers/operator_raft_list.go | 10 +++++----- .../raft/listpeers/operator_raft_list_test.go | 2 +- 5 files changed, 7 insertions(+), 45 deletions(-) diff --git a/.changelog/17582.txt b/.changelog/17582.txt index 8f29e167f028..dce53703370f 100644 --- a/.changelog/17582.txt +++ b/.changelog/17582.txt @@ -1,5 +1,3 @@ ```release-note:feature -improved consul operator raft list-peers command added CommitIndex as well as Trails Leader By in the output table -Commit Index is the LastIndex from /v1/operator/autopilot/health and Trails Leader By is the difference from leader -last index and followers last index +raft list-peers shows the number of commits each follower is trailing the leader by to aid in troubleshooting. ``` diff --git a/api/operator_raft.go b/api/operator_raft.go index 6ee75c4d8bb0..393d6fb3c5f7 100644 --- a/api/operator_raft.go +++ b/api/operator_raft.go @@ -122,20 +122,3 @@ func (op *Operator) RaftRemovePeerByID(id string, q *WriteOptions) error { } return nil } - -// GetAutoPilotHealth is used to query the autopilot health. -func (op *Operator) GetAutoPilotHealth(q *QueryOptions) (*OperatorHealthReply, error) { - r := op.c.newRequest("GET", "/v1/operator/autopilot/health") - r.setQueryOptions(q) - _, resp, err := op.c.doRequest(r) - if err != nil { - return nil, err - } - defer closeResponseBody(resp) - - var out OperatorHealthReply - if err := decodeBody(resp, &out); err != nil { - return nil, err - } - return &out, nil -} diff --git a/api/operator_raft_test.go b/api/operator_raft_test.go index 57b50b745269..6e3b7fc0e310 100644 --- a/api/operator_raft_test.go +++ b/api/operator_raft_test.go @@ -57,22 +57,3 @@ func TestAPI_OperatorRaftLeaderTransfer(t *testing.T) { t.Fatalf("err:%v", transfer) } } - -func TestAPI_GetAutoPilotHealth(t *testing.T) { - t.Parallel() - c, s := makeClient(t) - defer s.Stop() - - operator := c.Operator() - out, err := operator.GetAutoPilotHealth(nil) - if err != nil { - t.Fatalf("err: %v", err) - } - - if len(out.Servers) != 1 || - !out.Servers[0].Leader || - !out.Servers[0].Voter || - out.Servers[0].LastIndex <= 0 { - t.Fatalf("bad: %v", out) - } -} diff --git a/command/operator/raft/listpeers/operator_raft_list.go b/command/operator/raft/listpeers/operator_raft_list.go index 23f12bf227c7..10c9c57b5a63 100644 --- a/command/operator/raft/listpeers/operator_raft_list.go +++ b/command/operator/raft/listpeers/operator_raft_list.go @@ -70,7 +70,7 @@ func raftListPeers(client *api.Client, stale bool) (string, error) { return "", fmt.Errorf("Failed to retrieve raft configuration: %v", err) } - autoPilotReply, err := client.Operator().GetAutoPilotHealth(q) + autoPilotReply, err := client.Operator().AutopilotServerHealth(q) if err != nil { return "", fmt.Errorf("Failed to retrieve autopilot health: %v", err) } @@ -107,17 +107,17 @@ func raftListPeers(client *api.Client, stale bool) (string, error) { serverHealthData, ok := serverHealthDataMap[s.ID] if ok { trailsLeaderBy := leaderLastCommitIndex - serverHealthData.LastIndex - trailsLeaderByText := fmt.Sprintf("%d Commits", trailsLeaderBy) + trailsLeaderByText := fmt.Sprintf("%d commits", trailsLeaderBy) if s.Leader { - trailsLeaderByText = "_" + trailsLeaderByText = "-" } else if trailsLeaderBy <= 1 { - trailsLeaderByText = fmt.Sprintf("%d Commit", trailsLeaderBy) + trailsLeaderByText = fmt.Sprintf("%d commit", trailsLeaderBy) } result = append(result, fmt.Sprintf("%s\x1f%s\x1f%s\x1f%s\x1f%v\x1f%s\x1f%v\x1f%s", s.Node, s.ID, s.Address, state, s.Voter, raftProtocol, serverHealthData.LastIndex, trailsLeaderByText)) } else { result = append(result, fmt.Sprintf("%s\x1f%s\x1f%s\x1f%s\x1f%v\x1f%s\x1f%v", - s.Node, s.ID, s.Address, state, s.Voter, raftProtocol, "_")) + s.Node, s.ID, s.Address, state, s.Voter, raftProtocol, "-")) } } diff --git a/command/operator/raft/listpeers/operator_raft_list_test.go b/command/operator/raft/listpeers/operator_raft_list_test.go index d3ab98df0ee8..0694e0dd1046 100644 --- a/command/operator/raft/listpeers/operator_raft_list_test.go +++ b/command/operator/raft/listpeers/operator_raft_list_test.go @@ -28,7 +28,7 @@ func TestOperatorRaftListPeersCommand(t *testing.T) { a := agent.NewTestAgent(t, ``) defer a.Shutdown() - expected := fmt.Sprintf("%s %s 127.0.0.1:%d leader true 3 1 _", + expected := fmt.Sprintf("%s %s 127.0.0.1:%d leader true 3 1 -", a.Config.NodeName, a.Config.NodeID, a.Config.ServerPort) // Test the list-peers subcommand directly