
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
75 lines
2.4 KiB
YAML
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(',')
|
|
}}
|