Add flag to change RabbitMQ ha-mode definition
Adds the flag `rabbitmq_ha_replica_count` to change how many different nodes a queue should be mirrored across. If the value is not set, then it defaults to "ha-mode":"all". This value is unset by default to avoid any unexpected changes to the RabbitMQ definitions.json file, as that would trigger an unexpected restart of RabbitMQ during the next deploy. Change-Id: Iee98cd937197a73a3b04aa8501fa325e8ecfff24
This commit is contained in:
parent
94f3ce0c78
commit
e13072a98d
@ -89,6 +89,10 @@ rabbitmq_cluster_partition_handling: "pause_minority"
|
||||
# More details see:
|
||||
# https://www.rabbitmq.com/ha.html#promoting-unsynchronised-mirrors
|
||||
rabbitmq_ha_promote_on_shutdown:
|
||||
# If no replica count is specified, replicates across all nodes with definition
|
||||
# "ha-mode":"all". Otherwise, uses
|
||||
# "ha-mode":"exactly","ha-params":{{ rabbitmq_ha_replica_count | int }}
|
||||
rabbitmq_ha_replica_count:
|
||||
rabbitmq_extra_config: {}
|
||||
|
||||
####################
|
||||
|
@ -18,8 +18,8 @@
|
||||
],
|
||||
{% if om_enable_rabbitmq_high_availability | bool %}
|
||||
"policies":[
|
||||
{"vhost": "/", "name": "ha-all", "pattern": "^(?!(amq\\.)|(.*_fanout_)|(reply_)).*", "apply-to": "all", "definition": {"ha-mode":"all"{% if rabbitmq_ha_promote_on_shutdown is not none %},"ha-promote-on-shutdown":"{{ rabbitmq_ha_promote_on_shutdown }}"{% endif %}}, "priority":0}{% if project_name == 'outward_rabbitmq' %},
|
||||
{"vhost": "{{ murano_agent_rabbitmq_vhost }}", "name": "ha-all", "pattern": "^(?!(amq\\.)|(.*_fanout_)|(reply_)).*", "apply-to": "all", "definition": {"ha-mode":"all"{% if rabbitmq_ha_promote_on_shutdown is not none %},"ha-promote-on-shutdown":"{{ rabbitmq_ha_promote_on_shutdown }}"{% endif %}}, "priority":0}
|
||||
{"vhost": "/", "name": "ha-all", "pattern": "^(?!(amq\\.)|(.*_fanout_)|(reply_)).*", "apply-to": "all", "definition": {"ha-mode":{% if rabbitmq_ha_replica_count is not none %}"exactly","ha-params":{{ rabbitmq_ha_replica_count | int }}{% else %}"all"{% endif %}{% if rabbitmq_ha_promote_on_shutdown is not none %},"ha-promote-on-shutdown":"{{ rabbitmq_ha_promote_on_shutdown }}"{% endif %}}, "priority":0}{% if project_name == 'outward_rabbitmq' %},
|
||||
{"vhost": "{{ murano_agent_rabbitmq_vhost }}", "name": "ha-all", "pattern": "^(?!(amq\\.)|(.*_fanout_)|(reply_)).*", "apply-to": "all", "definition": {"ha-mode":{% if rabbitmq_ha_replica_count is not none %}"exactly","ha-params":{{ rabbitmq_ha_replica_count | int }}{% else %}"all"{% endif %}{% if rabbitmq_ha_promote_on_shutdown is not none %},"ha-promote-on-shutdown":"{{ rabbitmq_ha_promote_on_shutdown }}"{% endif %}}, "priority":0}
|
||||
{% endif %}
|
||||
]
|
||||
{% else %}
|
||||
|
@ -0,0 +1,9 @@
|
||||
---
|
||||
features:
|
||||
- |
|
||||
The config option `rabbitmq_ha_replica_count` is added, to allow for
|
||||
changing the replication factor of mirrored queues in RabbitMQ. While the
|
||||
flag is unset, the queues are mirrored across all nodes using
|
||||
"ha-mode":"all". Note that this only has an effect if the flag
|
||||
` om_enable_rabbitmq_high_availability` is set to `True`, as otherwise
|
||||
queues are not mirrored.
|
@ -127,6 +127,7 @@ def check_json_j2():
|
||||
'api_interface_address': '',
|
||||
'kolla_internal_fqdn': '',
|
||||
'octavia_provider_drivers': '',
|
||||
'rabbitmq_ha_replica_count': 2,
|
||||
}
|
||||
data = template.render(**context)
|
||||
json.loads(data)
|
||||
|
Loading…
Reference in New Issue
Block a user