2121all () ->
2222 [
2323 {group , non_parallel },
24- {group , cluster_size_3 },
25- {group , cluster_size_5 },
26- {group , cluster_size_7 }
24+ {group , discovery }
2725 ].
2826
2927groups () ->
3028 [
3129 {non_parallel , [], [
3230 no_nodes_configured
3331 ]},
34- {cluster_size_3 , [], [
35- successful_discovery ,
36- successful_discovery_with_a_subset_of_nodes_coming_online
37- ]},
38- {cluster_size_5 , [], [
39- successful_discovery ,
40- successful_discovery_with_a_subset_of_nodes_coming_online
41- ]},
42- {cluster_size_7 , [], [
43- successful_discovery ,
44- successful_discovery_with_a_subset_of_nodes_coming_online
45- ]}
32+ {discovery , [],
33+ [
34+ {cluster_size_3 , [],
35+ [
36+ successful_discovery ,
37+ successful_discovery_with_a_subset_of_nodes_coming_online
38+ ]},
39+ {cluster_size_5 , [],
40+ [
41+ successful_discovery ,
42+ successful_discovery_with_a_subset_of_nodes_coming_online
43+ ]},
44+ {cluster_size_7 , [],
45+ [
46+ successful_discovery ,
47+ successful_discovery_with_a_subset_of_nodes_coming_online
48+ ]}
49+ ]}
4650 ].
4751
4852suite () ->
@@ -63,6 +67,24 @@ init_per_suite(Config) ->
6367end_per_suite (Config ) ->
6468 rabbit_ct_helpers :run_teardown_steps (Config ).
6569
70+ init_per_group (discovery , Config ) ->
71+ case rabbit_ct_helpers :is_mixed_versions (Config ) of
72+ false ->
73+ Config ;
74+ true ->
75+ % % We can't support the creation of a cluster because peer
76+ % % discovery might select a newer node as the seed node and ask an
77+ % % older node to join it. The creation of the cluster may fail of
78+ % % the cluster might be degraded. Examples:
79+ % % - a feature flag is enabled by the newer node but the older
80+ % % node doesn't know it
81+ % % - the newer node uses a newer Khepri machine version and the
82+ % % older node can join but won't be able to apply Khepri
83+ % % commands and progress.
84+ {skip ,
85+ " Peer discovery is unsupported with a mix of old and new "
86+ " RabbitMQ versions" }
87+ end ;
6688init_per_group (cluster_size_3 = Group , Config ) ->
6789 rabbit_ct_helpers :set_config (Config , [{rmq_nodes_count , 3 }, {group , Group }]);
6890init_per_group (cluster_size_5 = Group , Config ) ->
0 commit comments