Skip to content

Commit 239a69b

Browse files
committed
Improve output formatting for healthy leaders and support
silent mode in rabbitmq-queues leader_health_check command
1 parent 96b8bce commit 239a69b

File tree

1 file changed

+29
-3
lines changed

1 file changed

+29
-3
lines changed

deps/rabbitmq_cli/lib/rabbitmq/cli/queues/commands/leader_health_check_command.ex

Lines changed: 29 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,37 @@ defmodule RabbitMQ.CLI.Queues.Commands.LeaderHealthCheckCommand do
2828
end
2929
end
3030

31-
def output(:ok, %{formatter: "json"}) do
32-
{:error, :check_passed}
31+
def output(:ok, %{node: node_name, formatter: "json"}) do
32+
{:ok,
33+
%{
34+
"result" => "ok",
35+
"message" =>
36+
"Node #{node_name} reported all quorum queue leaders as healthy"
37+
}}
3338
end
3439

35-
def output({:error, unhealthy_queues}, %{vhost: _vhost, formatter: "json"}) when is_list(unhealthy_queues) do
40+
def output(:ok, %{silent: true}) do
41+
{:ok, :check_passed}
42+
end
43+
44+
def output(:ok, %{node: node_name}) do
45+
{:ok, "Node #{node_name} reported all quorum queue leaders as healthy"}
46+
end
47+
48+
def output({:error, unhealthy_queues}, %{node: node_name, formatter: "json"}) when is_list(unhealthy_queues) do
49+
{:error, :check_failed,
50+
%{
51+
"result" => "error",
52+
"queues" => unhealthy_queues,
53+
"message" => "Node #{node_name} reported unhealthy quorum queue leaders"
54+
}}
55+
end
56+
57+
def output({:error, unhealthy_queues}, %{silent: true}) when is_list(unhealthy_queues) do
58+
{:error, :check_failed}
59+
end
60+
61+
def output({:error, unhealthy_queues}, %{vhost: _vhost}) when is_list(unhealthy_queues) do
3662
lines = queue_lines(unhealthy_queues)
3763

3864
{:error, :check_failed, Enum.join(lines, line_separator())}

0 commit comments

Comments
 (0)