From a8d0a32b5dc3519f6d5e5f42a3daee79e0de162b Mon Sep 17 00:00:00 2001 From: Dmitriy Rabotyagov Date: Fri, 3 May 2024 19:46:31 +0200 Subject: [PATCH] Implement variables to address oslo.messaging improvements During last release cycle oslo.messaging has landed [1] series of extremely useful changes that are designed to implement modern messaging techniques for rabbitmq quorum queues. Since these changes are breaking and require queues being re-created, it makes total sense to align these with migration to quorum queues by default. [1] https://review.opendev.org/q/topic:%22bug-2031497%22 Change-Id: Ia0d7ac84ced77511b82f28e409477e4d1589adb6 --- defaults/main.yml | 4 ++++ templates/ironic.conf.j2 | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/defaults/main.yml b/defaults/main.yml index e36a98c3..55229ac3 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -311,6 +311,10 @@ ironic_oslomsg_notify_policies: [] ## RabbitMQ integration ironic_oslomsg_rabbit_quorum_queues: "{{ oslomsg_rabbit_quorum_queues | default(True) }}" +ironic_oslomsg_rabbit_stream_fanout: "{{ oslomsg_rabbit_stream_fanout | default(ironic_oslomsg_rabbit_quorum_queues) }}" +ironic_oslomsg_rabbit_transient_quorum_queues: "{{ oslomsg_rabbit_transient_quorum_queues | default(ironic_oslomsg_rabbit_stream_fanout) }}" +ironic_oslomsg_rabbit_qos_prefetch_count: "{{ oslomsg_rabbit_qos_prefetch_count | default(ironic_oslomsg_rabbit_stream_fanout | ternary(10, 0)) }}" +ironic_oslomsg_rabbit_queue_manager: "{{ oslomsg_rabbit_queue_manager | default(ironic_oslomsg_rabbit_quorum_queues) }}" ironic_oslomsg_rabbit_quorum_delivery_limit: "{{ oslomsg_rabbit_quorum_delivery_limit | default(0) }}" ironic_oslomsg_rabbit_quorum_max_memory_bytes: "{{ oslomsg_rabbit_quorum_max_memory_bytes | default(0) }}" diff --git a/templates/ironic.conf.j2 b/templates/ironic.conf.j2 index 7cf6ef61..6160ce00 100644 --- a/templates/ironic.conf.j2 +++ b/templates/ironic.conf.j2 @@ -197,6 +197,10 @@ transport_url = {{ ironic_oslomsg_notify_transport }}://{% for host in ironic_os ssl = {{ ironic_oslomsg_rpc_use_ssl }} pool_max_size = {{ ironic_wsgi_processes }} rabbit_quorum_queue = {{ ironic_oslomsg_rabbit_quorum_queues }} +rabbit_transient_quorum_queue = {{ ironic_oslomsg_rabbit_transient_quorum_queues }} +rabbit_qos_prefetch_count = {{ ironic_oslomsg_rabbit_qos_prefetch_count }} +use_queue_manager = {{ ironic_oslomsg_rabbit_queue_manager }} +rabbit_stream_fanout = {{ ironic_oslomsg_rabbit_stream_fanout }} rabbit_quorum_delivery_limit = {{ ironic_oslomsg_rabbit_quorum_delivery_limit }} rabbit_quorum_max_memory_bytes = {{ ironic_oslomsg_rabbit_quorum_max_memory_bytes }}