From f249924d79bdc5b1ebecba26b07d3402fe2f4f4b Mon Sep 17 00:00:00 2001 From: kjnilsson Date: Wed, 20 Feb 2019 11:35:30 +0000 Subject: [PATCH 1/2] Helpers for rabbitmq-queues cli tool [#162782801] --- .../src/rabbit_ct_broker_helpers.erl | 24 +++++++++++++ .../src/rabbit_ct_helpers.erl | 36 +++++++++++++++++++ 2 files changed, 60 insertions(+) diff --git a/deps/rabbitmq_ct_helpers/src/rabbit_ct_broker_helpers.erl b/deps/rabbitmq_ct_helpers/src/rabbit_ct_broker_helpers.erl index ca8e87aadc..0d45f04c79 100644 --- a/deps/rabbitmq_ct_helpers/src/rabbit_ct_broker_helpers.erl +++ b/deps/rabbitmq_ct_helpers/src/rabbit_ct_broker_helpers.erl @@ -40,6 +40,7 @@ control_action/2, control_action/3, control_action/4, rabbitmqctl/3, rabbitmqctl_list/3, + rabbitmq_queues/3, add_code_path_to_node/2, add_code_path_to_all_nodes/2, @@ -936,6 +937,29 @@ rabbitmqctl_list(Config, Node, Args) -> | Rows] = re:split(StdOut, <<"\n">>, [trim]), [re:split(Row, <<"\t">>) || Row <- Rows]. +rabbitmq_queues(Config, Node, Args) -> + RabbitmqQueues = ?config(rabbitmq_queues_cmd, Config), + NodeConfig = rabbit_ct_broker_helpers:get_node_config(Config, Node), + Nodename = ?config(nodename, NodeConfig), + Env0 = [ + {"RABBITMQ_PID_FILE", ?config(pid_file, NodeConfig)}, + {"RABBITMQ_MNESIA_DIR", ?config(mnesia_dir, NodeConfig)}, + {"RABBITMQ_PLUGINS_DIR", ?config(plugins_dir, NodeConfig)}, + {"RABBITMQ_ENABLED_PLUGINS_FILE", + ?config(enabled_plugins_file, NodeConfig)} + ], + Ret = rabbit_ct_helpers:get_config( + NodeConfig, enabled_feature_flags_list_file), + Env = case Ret of + undefined -> + Env0; + EnabledFeatureFlagsFile -> + Env0 ++ + [{"RABBITMQ_FEATURE_FLAGS_FILE", EnabledFeatureFlagsFile}] + end, + Cmd = [RabbitmqQueues, "-n", Nodename | Args], + rabbit_ct_helpers:exec(Cmd, [{env, Env}]). + %% ------------------------------------------------------------------- %% Other helpers. %% ------------------------------------------------------------------- diff --git a/deps/rabbitmq_ct_helpers/src/rabbit_ct_helpers.erl b/deps/rabbitmq_ct_helpers/src/rabbit_ct_helpers.erl index a2744c61e6..0fc145c651 100644 --- a/deps/rabbitmq_ct_helpers/src/rabbit_ct_helpers.erl +++ b/deps/rabbitmq_ct_helpers/src/rabbit_ct_helpers.erl @@ -31,6 +31,7 @@ ensure_rabbitmqctl_cmd/1, ensure_rabbitmqctl_app/1, ensure_rabbitmq_plugins_cmd/1, + ensure_rabbitmq_queues_cmd/1, start_long_running_testsuite_monitor/1, stop_long_running_testsuite_monitor/1, config_to_testcase_name/2, @@ -436,6 +437,41 @@ ensure_rabbitmq_plugins_cmd(Config) -> end end. +ensure_rabbitmq_queues_cmd(Config) -> + RabbitmqQueues = case get_config(Config, rabbitmq_queues_cmd) of + undefined -> + SrcDir = ?config(rabbit_srcdir, Config), + R = filename:join(SrcDir, "scripts/rabbitmq-queues"), + ct:pal(?LOW_IMPORTANCE, "Using rabbitmq-queues at ~p~n", [R]), + case filelib:is_file(R) of + true -> R; + false -> false + end; + R -> + ct:pal(?LOW_IMPORTANCE, + "Using rabbitmq-queues from rabbitmq_queues_cmd: ~p~n", [R]), + R + end, + Error = {skip, "rabbitmq-queues required, " ++ + "please set 'rabbitmq_qeuues_cmd' in ct config"}, + case RabbitmqQueues of + false -> + Error; + _ -> + Cmd = [RabbitmqQueues], + case exec(Cmd, [drop_stdout]) of + {error, 64, _} -> + set_config(Config, + {rabbitmq_queues_cmd, + RabbitmqQueues}); + {error, Code, Reason} -> + ct:pal(?LOW_IMPORTANCE, "Exec failed with exit code ~d: ~p", [Code, Reason]), + Error; + _ -> + Error + end + end. + ensure_ssl_certs(Config) -> SrcDir = ?config(rabbitmq_ct_helpers_srcdir, Config), CertsMakeDir = filename:join([SrcDir, "tools", "tls-certs"]), From fbc45aad2718d2d53caba5d892615525f24dc8cb Mon Sep 17 00:00:00 2001 From: Michael Klishin Date: Thu, 21 Feb 2019 01:08:09 +0300 Subject: [PATCH 2/2] Log exec failures with regular importance; a typo --- deps/rabbitmq_ct_helpers/src/rabbit_ct_helpers.erl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/deps/rabbitmq_ct_helpers/src/rabbit_ct_helpers.erl b/deps/rabbitmq_ct_helpers/src/rabbit_ct_helpers.erl index 0fc145c651..c6c8387ad6 100644 --- a/deps/rabbitmq_ct_helpers/src/rabbit_ct_helpers.erl +++ b/deps/rabbitmq_ct_helpers/src/rabbit_ct_helpers.erl @@ -376,7 +376,7 @@ ensure_rabbitmqctl_cmd(Config) -> {error, 64, _} -> set_config(Config, {rabbitmqctl_cmd, Rabbitmqctl}); {error, Code, Reason} -> - ct:pal(?LOW_IMPORTANCE, "Exec failed with exit code ~d: ~p", [Code, Reason]), + ct:pal("Exec failed with exit code ~d: ~p", [Code, Reason]), Error; _ -> Error @@ -453,7 +453,7 @@ ensure_rabbitmq_queues_cmd(Config) -> R end, Error = {skip, "rabbitmq-queues required, " ++ - "please set 'rabbitmq_qeuues_cmd' in ct config"}, + "please set 'rabbitmq_queues_cmd' in ct config"}, case RabbitmqQueues of false -> Error; @@ -465,7 +465,7 @@ ensure_rabbitmq_queues_cmd(Config) -> {rabbitmq_queues_cmd, RabbitmqQueues}); {error, Code, Reason} -> - ct:pal(?LOW_IMPORTANCE, "Exec failed with exit code ~d: ~p", [Code, Reason]), + ct:pal("Exec failed with exit code ~d: ~p", [Code, Reason]), Error; _ -> Error