Test that ha-promote-on-failure takes precedence over ha-promote-on-shutdown
This commit is contained in:
parent
0c6a4dc64b
commit
ae7bf1ffa4
|
|
@ -321,23 +321,28 @@ promote_on_failure(Config) ->
|
|||
durable = true}),
|
||||
ok.
|
||||
|
||||
|
||||
promote_on_shutdown(Config) ->
|
||||
[A, B] = rabbit_ct_broker_helpers:get_node_configs(Config, nodename),
|
||||
rabbit_ct_broker_helpers:set_ha_policy(Config, A, <<"^ha.promote">>,
|
||||
<<"all">>, [{<<"ha-promote-on-shutdown">>, <<"always">>}]),
|
||||
rabbit_ct_broker_helpers:set_ha_policy(Config, A, <<"^ha.nopromote">>,
|
||||
<<"all">>),
|
||||
rabbit_ct_broker_helpers:set_ha_policy(Config, A, <<"^ha.nopromoteonfailure">>,
|
||||
<<"all">>, [{<<"ha-promote-on-failure">>, <<"when-synced">>},
|
||||
{<<"ha-promote-on-shutdown">>, <<"always">>}]),
|
||||
|
||||
ACh = rabbit_ct_client_helpers:open_channel(Config, A),
|
||||
[begin
|
||||
amqp_channel:call(ACh, #'queue.declare'{queue = Q,
|
||||
durable = true}),
|
||||
rabbit_ct_client_helpers:publish(ACh, Q, 10)
|
||||
end || Q <- [<<"ha.promote.test">>, <<"ha.nopromote.test">>]],
|
||||
end || Q <- [<<"ha.promote.test">>,
|
||||
<<"ha.nopromote.test">>,
|
||||
<<"ha.nopromoteonfailure.test">>]],
|
||||
ok = rabbit_ct_broker_helpers:restart_node(Config, B),
|
||||
ok = rabbit_ct_broker_helpers:stop_node(Config, A),
|
||||
BCh = rabbit_ct_client_helpers:open_channel(Config, B),
|
||||
BCh1 = rabbit_ct_client_helpers:open_channel(Config, B),
|
||||
#'queue.declare_ok'{message_count = 0} =
|
||||
amqp_channel:call(
|
||||
BCh, #'queue.declare'{queue = <<"ha.promote.test">>,
|
||||
|
|
@ -347,12 +352,21 @@ promote_on_shutdown(Config) ->
|
|||
amqp_channel:call(
|
||||
BCh, #'queue.declare'{queue = <<"ha.nopromote.test">>,
|
||||
durable = true})),
|
||||
?assertExit(
|
||||
{{shutdown, {server_initiated_close, 404, _}}, _},
|
||||
amqp_channel:call(
|
||||
BCh1, #'queue.declare'{queue = <<"ha.nopromoteonfailure.test">>,
|
||||
durable = true})),
|
||||
ok = rabbit_ct_broker_helpers:start_node(Config, A),
|
||||
ACh2 = rabbit_ct_client_helpers:open_channel(Config, A),
|
||||
#'queue.declare_ok'{message_count = 10} =
|
||||
amqp_channel:call(
|
||||
ACh2, #'queue.declare'{queue = <<"ha.nopromote.test">>,
|
||||
durable = true}),
|
||||
#'queue.declare_ok'{message_count = 10} =
|
||||
amqp_channel:call(
|
||||
ACh2, #'queue.declare'{queue = <<"ha.nopromoteonfailure.test">>,
|
||||
durable = true}),
|
||||
ok.
|
||||
|
||||
nodes_policy_should_pick_master_from_its_params(Config) ->
|
||||
|
|
|
|||
Loading…
Reference in New Issue