Disable RabbitMQ quorum queues by default

During PTG we agreed to disable quorum queues by default during this
cycle and wait for improvements proposed as part of [1] before enabling
it by default.

This also adds a separate job that will test scenario with enabled quorum
queues.

[1] https://review.opendev.org/q/topic:bug-2031497

Change-Id: I0807cc1ed991fd85f9f74d4a360d3fd23cde227c
This commit is contained in:
Dmitriy Rabotyagov 2023-11-16 20:15:01 +01:00 committed by Dmitriy Rabotyagov
parent 22bc3a5fb1
commit f33a8b1836
5 changed files with 34 additions and 11 deletions

View File

@ -13,6 +13,8 @@
# limitations under the License.
## Main
oslomsg_rabbit_quorum_queues: False
# RPC
oslomsg_rpc_transport: "{{ (groups[qdrouterd_host_group] | length > 0) | ternary('amqp', 'rabbit') }}"
oslomsg_rpc_port: "{{ (groups[qdrouterd_host_group] | length > 0) | ternary(qdrouterd_port, rabbitmq_port) }}"

View File

@ -1,18 +1,22 @@
---
features:
- |
Added support for RabbitMQ quorum queues. Quorum queues are disabled
by default. Followingvariables were implemented to control the behaviour:
* oslomsg_rabbit_quorum_queues (default: false)
* oslomsg_rabbit_quorum_delivery_limit (default: 0)
* oslomsg_rabbit_quorum_max_memory_bytes (default: 0)
Simmilar variables were also implemented for each service, while variables
above aim to change behaviour globally.
upgrade:
- |
During upgrade HA policy for RabbitMQ will be disabled and replaced with
usage of quorum queues which is a new and more efficient way to ensure
queues durability.
In case deployer wants to switch into using RabbitMQ quorum queues instead
of traditional HA policies during OpenStack upgrade, they need to define
variable ``oslomsg_rabbit_quorum_queues: True`` in user_variables.yml.
If you want to continue using HA queues instead of quorum queues, please
specify in your user_variables.yml:
.. code-block:: yaml
oslomsg_rabbit_quorum_queues: False
If ``oslomsg_rabbit_quorum_queues`` is enabled (default behaviour),
If ``oslomsg_rabbit_quorum_queues`` is enabled,
RabbitMQ vhosts will be re-created without leading ``/``. Ensure to
reflect these changes in your monitoring software if vhosts are not
auto-discovered.

View File

@ -349,3 +349,7 @@ tempest_test_includelist:
- tempest.scenario.test_minimum_basic.TestMinimumBasicScenario.test_minimum_basic_scenario
{% endif %}
{% endif %}
{% if 'quorum' in bootstrap_host_scenarios_expanded %}
oslomsg_rabbit_quorum_queues: True
{% endif %}

View File

@ -437,6 +437,17 @@
nodeset: ubuntu-jammy
timeout: 10800
- job:
name: openstack-ansible-deploy-aio_metal_quorum-ubuntu-jammy
parent: openstack-ansible-deploy-aio
nodeset: ubuntu-jammy
- job:
name: openstack-ansible-upgrade-aio_metal_quorum-ubuntu-jammy
parent: openstack-ansible-deploy-aio
nodeset: ubuntu-jammy
timeout: 10800
- job:
name: openstack-ansible-upgrade-aio_lxc-ubuntu-jammy
parent: openstack-ansible-deploy-aio

View File

@ -174,6 +174,7 @@
- openstack-ansible-deploy-aio_metal-ubuntu-jammy
- openstack-ansible-deploy-aio_metal_tls-rockylinux-9
- openstack-ansible-deploy-aio_metal_tls-ubuntu-jammy
- openstack-ansible-deploy-aio_metal_quorum-ubuntu-jammy
- openstack-ansible-upgrade-aio_metal-rockylinux-9
- openstack-ansible-upgrade-aio_metal-ubuntu-jammy
- openstack-ansible-upgrade-aio_metal_tls-rockylinux-9
@ -185,6 +186,7 @@
- openstack-ansible-deploy-aio_metal-debian-bookworm
- openstack-ansible-deploy-aio_metal-rockylinux-9
- openstack-ansible-deploy-aio_metal-ubuntu-jammy
- openstack-ansible-deploy-aio_metal_quorum-ubuntu-jammy
- openstack-ansible-deploy-aio_metal_tls-rockylinux-9
- openstack-ansible-deploy-aio_metal_tls-ubuntu-jammy