diff options
Diffstat (limited to 'deps/rabbit/test/clustering_management_SUITE.erl')
-rw-r--r-- | deps/rabbit/test/clustering_management_SUITE.erl | 33 |
1 files changed, 32 insertions, 1 deletions
diff --git a/deps/rabbit/test/clustering_management_SUITE.erl b/deps/rabbit/test/clustering_management_SUITE.erl index 1f5e678887..5ee58a8d18 100644 --- a/deps/rabbit/test/clustering_management_SUITE.erl +++ b/deps/rabbit/test/clustering_management_SUITE.erl @@ -100,6 +100,11 @@ groups() -> start_nodes_in_stop_order, start_nodes_in_stop_order_with_force_boot ]} + ]}, + {clustered_3_nodes, [], + [{cluster_size_3, [], [ + force_standalone_boot + ]} ]} ]} ]. @@ -622,10 +627,16 @@ reset_in_minority(Config) -> ok = rpc:call(Rabbit, application, set_env, [rabbit, khepri_leader_wait_retry_limit, 3]), stop_app(Rabbit), - ?assertMatch({error, 69, _}, reset(Rabbit)), + + is_in_minority(reset(Rabbit)), ok. +is_in_minority(Ret) -> + ?assertMatch({error, 75, _}, Ret), + {error, _, Msg} = Ret, + ?assertMatch(match, re:run(Msg, ".*timed out.*minority.*", [{capture, none}])). + reset_last_disc_node(Config) -> Servers = [Rabbit, Hare | _] = cluster_members(Config), @@ -1216,6 +1227,23 @@ start_nodes_in_stop_order_with_force_boot(Config) -> ok = rabbit_ct_broker_helpers:start_node(Config, Bunny), assert_clustered([Rabbit, Hare, Bunny]). +%% TODO test force_standalone after restarting this last node +force_standalone_boot(Config) -> + [Rabbit, Hare, Bunny] = cluster_members(Config), + + assert_cluster_status({[Rabbit, Hare, Bunny], [Rabbit, Hare, Bunny], [Rabbit, Hare, Bunny]}, + [Rabbit, Hare, Bunny]), + + ok = rabbit_ct_broker_helpers:stop_node(Config, Hare), + ok = rabbit_ct_broker_helpers:stop_node(Config, Bunny), + ok = force_standalone_khepri_boot(Rabbit), + + assert_cluster_status({[Rabbit], [Rabbit], [Rabbit, Hare, Bunny], + [Rabbit, Hare, Bunny], [Rabbit]}, + [Rabbit]), + + ok. + %% ---------------------------------------------------------------------------- %% Internal utils %% ---------------------------------------------------------------------------- @@ -1362,6 +1390,9 @@ change_cluster_node_type(Node, Type) -> update_cluster_nodes(Node, DiscoveryNode) -> rabbit_control_helper:command(update_cluster_nodes, Node, [atom_to_list(DiscoveryNode)]). +force_standalone_khepri_boot(Node) -> + rabbit_control_helper:command(force_standalone_khepri_boot, Node, []). + stop_join_start(Node, ClusterTo, Ram) -> ok = stop_app(Node), ok = join_cluster(Node, ClusterTo, Ram), |