Skip to content

Commit d5063c7

Browse files
Merge pull request #12675 from rabbitmq/fix-check_if_any_deprecated_features_are_used-cli-command
CLI: Finish `check_if_any_deprecated_features_are_used` implementation
2 parents 15d3d5a + ddaea6f commit d5063c7

File tree

1 file changed

+18
-36
lines changed

1 file changed

+18
-36
lines changed

deps/rabbitmq_cli/lib/rabbitmq/cli/diagnostics/commands/check_if_any_deprecated_features_are_used_command.ex

Lines changed: 18 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -14,48 +14,30 @@ defmodule RabbitMQ.CLI.Diagnostics.Commands.CheckIfAnyDeprecatedFeaturesAreUsedC
1414
use RabbitMQ.CLI.Core.AcceptsNoPositionalArguments
1515
use RabbitMQ.CLI.Core.RequiresRabbitAppRunning
1616

17-
def run([], opts) do
18-
are_deprecated_features_used = %{
19-
:classic_queue_mirroring => is_used_classic_queue_mirroring(opts)
20-
}
21-
22-
deprecated_features_list =
23-
Enum.reduce(
24-
are_deprecated_features_used,
25-
[],
26-
fn
27-
{_feat, _result}, {:badrpc, _} = acc ->
28-
acc
29-
30-
{feat, result}, acc ->
31-
case result do
32-
{:badrpc, _} = err -> err
33-
{:error, _} = err -> err
34-
true -> [feat | acc]
35-
false -> acc
36-
end
37-
end
38-
)
17+
def run([], %{node: node_name, timeout: timeout}) do
18+
deprecated_features_list = :rabbit_misc.rpc_call(
19+
node_name,
20+
:rabbit_deprecated_features,
21+
:list,
22+
[:used],
23+
timeout
24+
)
3925

4026
# health checks return true if they pass
4127
case deprecated_features_list do
42-
{:badrpc, _} = err -> err
43-
{:error, _} = err -> err
44-
[] -> true
45-
xs when is_list(xs) -> {false, deprecated_features_list}
28+
{:badrpc, _} = err ->
29+
err
30+
{:error, _} = err ->
31+
err
32+
_ ->
33+
names = Enum.sort(Map.keys(deprecated_features_list))
34+
case names do
35+
[] -> true
36+
_ -> {false, names}
37+
end
4638
end
4739
end
4840

49-
def is_used_classic_queue_mirroring(%{node: node_name, timeout: timeout}) do
50-
:rabbit_misc.rpc_call(
51-
node_name,
52-
:rabbit_mirror_queue_misc,
53-
:are_cmqs_used,
54-
[:none],
55-
timeout
56-
)
57-
end
58-
5941
def output(true, %{formatter: "json"}) do
6042
{:ok, %{"result" => "ok"}}
6143
end

0 commit comments

Comments
 (0)