summaryrefslogtreecommitdiff
path: root/deps/rabbit/test/clustering_management_SUITE.erl
diff options
context:
space:
mode:
Diffstat (limited to 'deps/rabbit/test/clustering_management_SUITE.erl')
-rw-r--r--deps/rabbit/test/clustering_management_SUITE.erl33
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),