Dmitriy Rabotyagov 7b4640d5fb Add variable to control queues redundancy
Since we have 2 redundancy scenarios that are controlled independnetly
and are exclusive, we add variable to disable any queues redundancy.
This also allows to adjust logic of classic queues versioning, since usage
of CQv2 with classic mirrored queues may result in reduced performance
as CQv2 do not have optimizations for mirrored queues [1]

[1] https://blog.rabbitmq.com/posts/2023/05/rabbitmq-3.12-performance-improvements/#classic-queues-massively-improved-classic-queues-v2-cqv2

Change-Id: I81c7e9ce0ed090d7b87ba865c7dd5b4b706701d5
2023-12-08 15:52:10 +00:00

75 lines
2.4 KiB
YAML

---
# Copyright 2017, Rackspace US, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
## Rabbit options
rabbitmq_host_group: "rabbitmq_all"
rabbitmq_port: "{{ (rabbitmq_use_ssl | bool) | ternary(5671, 5672) }}"
rabbitmq_use_ssl: True
rabbitmq_servers: >-
{{
groups[rabbitmq_host_group]
| map('extract', hostvars, 'management_address')
| list | join(',')
}}
# If you do not want to use neither quorum queues nor classic mirror queues,
# set rabbitmq_queue_replication to False
rabbitmq_queue_replication: True
oslomsg_rabbit_quorum_queues: False
rabbitmq_policies:
- name: "HA"
pattern: '^(?!(amq\.)|(.*_fanout_)|(reply_)).*'
priority: 0
tags: "ha-mode=all"
state: "{{ (oslomsg_rabbit_quorum_queues | default(True) or not rabbitmq_queue_replication) | ternary('absent', 'present') }}"
- name: CQv2
pattern: '.*'
priority: 0
tags:
queue-version: 2
state: "{{ (oslomsg_rabbit_quorum_queues | default(True) or not rabbitmq_queue_replication) | ternary('present', 'absent') }}"
## Galera options
galera_client_package_state: "{{ package_state }}"
galera_address: "{{ internal_lb_vip_address }}"
galera_root_user: "admin"
# Disable SSL for CentOS distro path due to https://bugzilla.redhat.com/show_bug.cgi?id=2074555
galera_use_ssl: "{{ not (ansible_facts['os_family'] | lower == 'redhat' and install_method == 'distro') }}"
## Memcached options
memcached_port: 11211
memcached_servers: >-
{{
(groups['memcached'] | map('extract', hostvars, 'management_address') | list)
| map('regex_replace', '(.+)' ,'\1:' ~ memcached_port)
| list
| join(',')
}}
## Qdrouterd options
qdrouterd_host_group: "qdrouterd_all"
qdrouterd_port: "{{ (qdrouterd_use_ssl | bool) | ternary(31459, 31460) }}"
qdrouterd_use_ssl: False
qdrouterd_servers: >-
{{
groups[qdrouterd_host_group]
| map('extract', hostvars, 'management_address')
| list | join(',')
}}