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. # limitations under the License.
## Main ## Main
oslomsg_rabbit_quorum_queues: False
# RPC # RPC
oslomsg_rpc_transport: "{{ (groups[qdrouterd_host_group] | length > 0) | ternary('amqp', 'rabbit') }}" 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) }}" 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: upgrade:
- | - |
During upgrade HA policy for RabbitMQ will be disabled and replaced with In case deployer wants to switch into using RabbitMQ quorum queues instead
usage of quorum queues which is a new and more efficient way to ensure of traditional HA policies during OpenStack upgrade, they need to define
queues durability. variable ``oslomsg_rabbit_quorum_queues: True`` in user_variables.yml.
If you want to continue using HA queues instead of quorum queues, please If ``oslomsg_rabbit_quorum_queues`` is enabled,
specify in your user_variables.yml:
.. code-block:: yaml
oslomsg_rabbit_quorum_queues: False
If ``oslomsg_rabbit_quorum_queues`` is enabled (default behaviour),
RabbitMQ vhosts will be re-created without leading ``/``. Ensure to RabbitMQ vhosts will be re-created without leading ``/``. Ensure to
reflect these changes in your monitoring software if vhosts are not reflect these changes in your monitoring software if vhosts are not
auto-discovered. auto-discovered.

View File

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

View File

@ -437,6 +437,17 @@
nodeset: ubuntu-jammy nodeset: ubuntu-jammy
timeout: 10800 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: - job:
name: openstack-ansible-upgrade-aio_lxc-ubuntu-jammy name: openstack-ansible-upgrade-aio_lxc-ubuntu-jammy
parent: openstack-ansible-deploy-aio parent: openstack-ansible-deploy-aio

View File

@ -174,6 +174,7 @@
- openstack-ansible-deploy-aio_metal-ubuntu-jammy - openstack-ansible-deploy-aio_metal-ubuntu-jammy
- openstack-ansible-deploy-aio_metal_tls-rockylinux-9 - openstack-ansible-deploy-aio_metal_tls-rockylinux-9
- openstack-ansible-deploy-aio_metal_tls-ubuntu-jammy - 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-rockylinux-9
- openstack-ansible-upgrade-aio_metal-ubuntu-jammy - openstack-ansible-upgrade-aio_metal-ubuntu-jammy
- openstack-ansible-upgrade-aio_metal_tls-rockylinux-9 - openstack-ansible-upgrade-aio_metal_tls-rockylinux-9
@ -185,6 +186,7 @@
- openstack-ansible-deploy-aio_metal-debian-bookworm - openstack-ansible-deploy-aio_metal-debian-bookworm
- openstack-ansible-deploy-aio_metal-rockylinux-9 - openstack-ansible-deploy-aio_metal-rockylinux-9
- openstack-ansible-deploy-aio_metal-ubuntu-jammy - 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-rockylinux-9
- openstack-ansible-deploy-aio_metal_tls-ubuntu-jammy - openstack-ansible-deploy-aio_metal_tls-ubuntu-jammy