@@ -225,7 +225,7 @@ public void testElectOnlyBetweenClusterManagerNodes() throws Exception {
225
225
equalTo (clusterManagerNodeName )
226
226
);
227
227
assertThat (
228
- internalCluster ().nonClusterManagerClient ()
228
+ internalCluster ().clusterManagerClient ()
229
229
.admin ()
230
230
.cluster ()
231
231
.prepareState ()
@@ -237,6 +237,31 @@ public void testElectOnlyBetweenClusterManagerNodes() throws Exception {
237
237
.getName (),
238
238
equalTo (clusterManagerNodeName )
239
239
);
240
+
241
+ logger .info ("--> closing cluster-manager node (1)" );
242
+ client ().execute (AddVotingConfigExclusionsAction .INSTANCE , new AddVotingConfigExclusionsRequest (clusterManagerNodeName )).get ();
243
+ // removing the cluster-manager from the voting configuration immediately triggers the cluster-manager to step down
244
+
245
+ // make sure `nextClusterManagerEligableNodeName` has been elected as the new cluster-manager
246
+ waitUntil (() -> {
247
+ try {
248
+ return nextClusterManagerEligableNodeName .equals (
249
+ internalCluster ().nonClusterManagerClient ()
250
+ .admin ()
251
+ .cluster ()
252
+ .prepareState ()
253
+ .execute ()
254
+ .actionGet ()
255
+ .getState ()
256
+ .nodes ()
257
+ .getClusterManagerNode ()
258
+ .getName ()
259
+ );
260
+ } catch (Exception e ) {
261
+ return false ;
262
+ }
263
+ });
264
+
240
265
assertThat (
241
266
internalCluster ().clusterManagerClient ()
242
267
.admin ()
@@ -248,40 +273,9 @@ public void testElectOnlyBetweenClusterManagerNodes() throws Exception {
248
273
.nodes ()
249
274
.getClusterManagerNode ()
250
275
.getName (),
251
- equalTo (clusterManagerNodeName )
276
+ equalTo (nextClusterManagerEligableNodeName )
252
277
);
253
278
254
- logger .info ("--> closing cluster-manager node (1)" );
255
- client ().execute (AddVotingConfigExclusionsAction .INSTANCE , new AddVotingConfigExclusionsRequest (clusterManagerNodeName )).get ();
256
- // removing the cluster-manager from the voting configuration immediately triggers the cluster-manager to step down
257
- assertBusy (() -> {
258
- assertThat (
259
- internalCluster ().nonClusterManagerClient ()
260
- .admin ()
261
- .cluster ()
262
- .prepareState ()
263
- .execute ()
264
- .actionGet ()
265
- .getState ()
266
- .nodes ()
267
- .getClusterManagerNode ()
268
- .getName (),
269
- equalTo (nextClusterManagerEligableNodeName )
270
- );
271
- assertThat (
272
- internalCluster ().clusterManagerClient ()
273
- .admin ()
274
- .cluster ()
275
- .prepareState ()
276
- .execute ()
277
- .actionGet ()
278
- .getState ()
279
- .nodes ()
280
- .getClusterManagerNode ()
281
- .getName (),
282
- equalTo (nextClusterManagerEligableNodeName )
283
- );
284
- });
285
279
internalCluster ().stopRandomNode (InternalTestCluster .nameFilter (clusterManagerNodeName ));
286
280
assertThat (
287
281
internalCluster ().nonClusterManagerClient ()
0 commit comments