Fix mixed version tests by enabling maintenance_mode_status

feature flag.

Feature flags are off by default for the RabbitMQ node(s) with the lower
version in mixed version clusters.
This commit is contained in:
David Ansari 2022-04-12 11:02:17 +02:00
parent 4f2e8f143f
commit 597d2d36e4
2 changed files with 8 additions and 4 deletions

View File

@ -212,6 +212,8 @@ init_per_group(Group, Config) ->
%% more time after clustering before running the %% more time after clustering before running the
%% tests. %% tests.
timer:sleep(ClusterSize * 1000), timer:sleep(ClusterSize * 1000),
ok = rabbit_ct_broker_helpers:enable_feature_flag(
Config2, maintenance_mode_status),
Config2; Config2;
Skip -> Skip ->
end_per_group(Group, Config2), end_per_group(Group, Config2),
@ -2650,7 +2652,7 @@ leader_locator_balanced_maintenance(Config) ->
?config(alt_queue_name, Config), ?config(alt_queue_name, Config),
<<"leader_locator_policy_q3">>], <<"leader_locator_policy_q3">>],
rabbit_ct_broker_helpers:mark_as_being_drained(Config, S2), true = rabbit_ct_broker_helpers:mark_as_being_drained(Config, S2),
Leaders = [begin Leaders = [begin
?assertMatch({'queue.declare_ok', Q, 0, 0}, ?assertMatch({'queue.declare_ok', Q, 0, 0},
declare(Ch, Q, declare(Ch, Q,
@ -2663,7 +2665,7 @@ leader_locator_balanced_maintenance(Config) ->
?assertNot(lists:member(S2, Leaders)), ?assertNot(lists:member(S2, Leaders)),
?assert(lists:member(S3, Leaders)), ?assert(lists:member(S3, Leaders)),
rabbit_ct_broker_helpers:unmark_as_being_drained(Config, S2), true = rabbit_ct_broker_helpers:unmark_as_being_drained(Config, S2),
[?assertMatch(#'queue.delete_ok'{}, [?assertMatch(#'queue.delete_ok'{},
amqp_channel:call(Ch, #'queue.delete'{queue = Q})) amqp_channel:call(Ch, #'queue.delete'{queue = Q}))
|| Q <- Qs]. || Q <- Qs].

View File

@ -184,6 +184,8 @@ init_per_group1(Group, Config) ->
ok = rabbit_ct_broker_helpers:rpc( ok = rabbit_ct_broker_helpers:rpc(
Config2, 0, application, set_env, Config2, 0, application, set_env,
[rabbit, channel_tick_interval, 100]), [rabbit, channel_tick_interval, 100]),
ok = rabbit_ct_broker_helpers:enable_feature_flag(
Config2, maintenance_mode_status),
Config2; Config2;
{skip, _} = Skip -> {skip, _} = Skip ->
end_per_group(Group, Config2), end_per_group(Group, Config2),
@ -1884,7 +1886,7 @@ leader_locator_balanced_maintenance(Config) ->
?assertEqual({'queue.declare_ok', Q2, 0, 0}, ?assertEqual({'queue.declare_ok', Q2, 0, 0},
declare(Ch2, Q2, [{<<"x-queue-type">>, longstr, <<"stream">>}, declare(Ch2, Q2, [{<<"x-queue-type">>, longstr, <<"stream">>},
{<<"x-queue-leader-locator">>, longstr, <<"client-local">>}])), {<<"x-queue-leader-locator">>, longstr, <<"client-local">>}])),
rabbit_ct_broker_helpers:mark_as_being_drained(Config, Server3), true = rabbit_ct_broker_helpers:mark_as_being_drained(Config, Server3),
?assertEqual({'queue.declare_ok', Q, 0, 0}, ?assertEqual({'queue.declare_ok', Q, 0, 0},
declare(Ch1, Q, [{<<"x-queue-type">>, longstr, <<"stream">>}, declare(Ch1, Q, [{<<"x-queue-type">>, longstr, <<"stream">>},
{<<"x-queue-leader-locator">>, longstr, <<"balanced">>}])), {<<"x-queue-leader-locator">>, longstr, <<"balanced">>}])),
@ -1893,7 +1895,7 @@ leader_locator_balanced_maintenance(Config) ->
Leader = proplists:get_value(leader, Info), Leader = proplists:get_value(leader, Info),
?assert(lists:member(Leader, [Server1, Server2])), ?assert(lists:member(Leader, [Server1, Server2])),
rabbit_ct_broker_helpers:unmark_as_being_drained(Config, Server3), true = rabbit_ct_broker_helpers:unmark_as_being_drained(Config, Server3),
rabbit_ct_broker_helpers:rpc(Config, 0, ?MODULE, delete_testcase_queue, [Q]). rabbit_ct_broker_helpers:rpc(Config, 0, ?MODULE, delete_testcase_queue, [Q]).
select_nodes_with_least_replicas(Config) -> select_nodes_with_least_replicas(Config) ->