@@ -163,29 +163,36 @@ declare_policy_all(Config) ->
163
163
declare_policy_exactly (Config ) ->
164
164
setup_test_environment (Config ),
165
165
unset_location_config (Config ),
166
- % Note:
167
- % Node0 has 15 queues, Node1 has 8 and Node2 has 1
168
166
Policy = [{<<" queue-master-locator" >>, <<" min-masters" >>},
169
167
{<<" ha-mode" >>, <<" exactly" >>},
170
168
{<<" ha-params" >>, 2 }],
171
169
ok = rabbit_ct_broker_helpers :set_policy (Config , 0 , ? POLICY ,
172
170
<<" .*" >>, <<" queues" >>, Policy ),
173
- QueueRec = rabbit_misc :r (<<" /" >>, queue , Q = <<" qm.test" >>),
174
- declare (Config , QueueRec , false , false , _Args = [], none ),
171
+ QueueRes = rabbit_misc :r (<<" /" >>, queue , Q = <<" qm.test" >>),
172
+ declare (Config , QueueRes , false , false , _Args = [], none ),
175
173
176
174
Node0 = rabbit_ct_broker_helpers :get_node_config (Config , 0 , nodename ),
177
175
rabbit_ct_broker_helpers :control_action (sync_queue , Node0 ,
178
176
[binary_to_list (Q )], [{" -p" , " /" }]),
179
- wait_for_sync (Config , Node0 , QueueRec , 1 ),
177
+ wait_for_sync (Config , Node0 , QueueRes , 1 ),
180
178
181
179
{ok , Queue } = rabbit_ct_broker_helpers :rpc (Config , Node0 ,
182
- rabbit_amqqueue , lookup , [QueueRec ]),
183
- ct :pal (" Queue after sync ~p~n " , [Queue ]),
184
- {MNode , SNodes , SSNodes } = rabbit_ct_broker_helpers :rpc (Config , Node0 ,
185
- rabbit_mirror_queue_misc ,
186
- actual_queue_nodes , [Queue ]),
187
- ct :pal (" MNode ~p SNodes ~p SSNodes ~p~n " , [MNode , SNodes , SSNodes ]),
188
- verify_min_master (Config , Q , Node0 ).
180
+ rabbit_amqqueue , lookup , [QueueRes ]),
181
+ {MNode0 , [SNode ], [SSNode ]} = rabbit_ct_broker_helpers :rpc (Config , Node0 ,
182
+ rabbit_mirror_queue_misc ,
183
+ actual_queue_nodes , [Queue ]),
184
+ ? assertEqual (SNode , SSNode ),
185
+ {ok , MNode1 } = rabbit_ct_broker_helpers :rpc (Config , 0 ,
186
+ rabbit_queue_master_location_misc ,
187
+ lookup_master , [Q , ? DEFAULT_VHOST_PATH ]),
188
+ ? assertEqual (MNode0 , MNode1 ),
189
+ MIdx = rabbit_ct_broker_helpers :nodename_to_index (Config , MNode1 ),
190
+ SIdx = rabbit_ct_broker_helpers :nodename_to_index (Config , SNode ),
191
+ % Note:
192
+ % We know that the nodes are indexed in the configuration in such a way
193
+ % that higher indexes have fewer queues assigned to them
194
+ % Node0 has 15 queues, Node1 has 8 and Node2 has 1
195
+ ? assert (MIdx > SIdx ).
189
196
190
197
declare_config (Config ) ->
191
198
setup_test_environment (Config ),
@@ -353,8 +360,8 @@ wait_for_sync(Config, Nodename, Q, ExpectedSSPidLen, N) ->
353
360
end .
354
361
355
362
synced (Config , Nodename , Q , ExpectedSSPidLen ) ->
363
+ Args = [<<" /" >>, [name , synchronised_slave_pids ]],
356
364
Info = rabbit_ct_broker_helpers :rpc (Config , Nodename ,
357
- rabbit_amqqueue , info_all , [<<" /" >>, [name , synchronised_slave_pids ]]),
358
- ct :pal (" synced Info: ~p~n " , [Info ]),
365
+ rabbit_amqqueue , info_all , Args ),
359
366
[SSPids ] = [Pids || [{name , Q1 }, {synchronised_slave_pids , Pids }] <- Info , Q =:= Q1 ],
360
367
length (SSPids ) =:= ExpectedSSPidLen .
0 commit comments