Add oslo.messaging Queue Manager
Adds the variable ``om_enable_queue_manager`` to configure enabling oslo.messaging Queue Manager for all services which use RabbitMQ. This is enabled by default. This is required before we can move away from transient queues (``rabbit_transient_quorum_queue``) as Queue Manager is needed to avoid consuming all erlang atoms after some time. It is also a useful feature for debugging, as queues are now named with hostnames and services included. Also setting ``lock_path`` and mounting ``dev/shm`` is dependent on ``om_enable_queue_manager``, these are now enabled too. This will allow us to backport these features to Caracal and Dalamation without enforcing the changes right away. Why is -t added for exec commands? When using Podman, behavior differs from Docker regarding exec commands. If -t (which allocates a pseudo-terminal) is not used, the process runs as a child of podman exec without a PTY. This causes Python inside the container to assign PGID=0 because the pseudo-terminal is missing, leading to issues with non-existent paths like /proc/0/.... Adding -t ensures proper PGID assignment, preventing these issues and ensuring consistent behavior across Docker and Podman. Side-notes: The quorum queue precheck needed to be updated as queue manager puts "_fanout" on the end of the name instead. We need to override the ``[oslo_messaging_rabbit] processname`` for services running udner wsgi, as they will otherwise all use the same processname ``mod_wsgi``. This will cause Permission Errors trying to access the same file in shared memory as services run with different users. Change-Id: Iae5f268e778fbbd2b744dc71a84253ec9e758a99
This commit is contained in:
parent
94765ab468
commit
4e0c0aa767
@ -277,7 +277,7 @@ om_rabbitmq_cacert: "{{ rabbitmq_cacert }}"
|
||||
om_enable_rabbitmq_high_availability: false
|
||||
# Only enable quorum queues if you disable om_enable_rabbitmq_high_availability
|
||||
om_enable_rabbitmq_quorum_queues: true
|
||||
om_enable_queue_manager: false
|
||||
om_enable_queue_manager: true
|
||||
|
||||
####################
|
||||
# Networking options
|
||||
|
@ -61,6 +61,12 @@ driver = noop
|
||||
{% endif %}
|
||||
|
||||
[oslo_messaging_rabbit]
|
||||
{% if om_enable_queue_manager | bool %}
|
||||
use_queue_manager = true
|
||||
{% if service_name == 'aodh-api' %}
|
||||
processname = {{ service_name }}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
heartbeat_in_pthread = {{ service_name == 'aodh-api' }}
|
||||
{% if om_enable_rabbitmq_tls | bool %}
|
||||
ssl = true
|
||||
|
@ -84,6 +84,9 @@ driver = noop
|
||||
{% endif %}
|
||||
|
||||
[oslo_messaging_rabbit]
|
||||
{% if om_enable_queue_manager | bool %}
|
||||
use_queue_manager = true
|
||||
{% endif %}
|
||||
heartbeat_in_pthread = false
|
||||
{% if om_enable_rabbitmq_tls | bool %}
|
||||
ssl = true
|
||||
|
@ -55,6 +55,9 @@ driver = noop
|
||||
{% endif %}
|
||||
|
||||
[oslo_messaging_rabbit]
|
||||
{% if om_enable_queue_manager | bool %}
|
||||
use_queue_manager = true
|
||||
{% endif %}
|
||||
heartbeat_in_pthread = false
|
||||
{% if om_enable_rabbitmq_tls | bool %}
|
||||
ssl = true
|
||||
|
@ -36,6 +36,9 @@ ca_file = /etc/ceilometer/vmware_ca
|
||||
transport_url = {{ notify_transport_url }}
|
||||
|
||||
[oslo_messaging_rabbit]
|
||||
{% if om_enable_queue_manager | bool %}
|
||||
use_queue_manager = true
|
||||
{% endif %}
|
||||
heartbeat_in_pthread = false
|
||||
{% if om_enable_rabbitmq_tls | bool %}
|
||||
ssl = true
|
||||
|
@ -79,6 +79,12 @@ driver = noop
|
||||
{% endif %}
|
||||
|
||||
[oslo_messaging_rabbit]
|
||||
{% if om_enable_queue_manager | bool %}
|
||||
use_queue_manager = true
|
||||
{% if service_name == 'cinder-api' %}
|
||||
processname = {{ service_name }}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
heartbeat_in_pthread = {{ service_name == 'cinder-api' }}
|
||||
{% if om_enable_rabbitmq_tls | bool %}
|
||||
ssl = true
|
||||
|
@ -45,6 +45,12 @@ policy_file = {{ cloudkitty_policy_file }}
|
||||
{% endif %}
|
||||
|
||||
[oslo_messaging_rabbit]
|
||||
{% if om_enable_queue_manager | bool %}
|
||||
use_queue_manager = true
|
||||
{% if service_name == 'cloudkitty-api' %}
|
||||
processname = {{ service_name }}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
heartbeat_in_pthread = {{ service_name == 'cloudkitty-api' }}
|
||||
{% if om_enable_rabbitmq_tls | bool %}
|
||||
ssl = true
|
||||
|
@ -70,6 +70,9 @@ driver = noop
|
||||
{% endif %}
|
||||
|
||||
[oslo_messaging_rabbit]
|
||||
{% if om_enable_queue_manager | bool %}
|
||||
use_queue_manager = true
|
||||
{% endif %}
|
||||
heartbeat_in_pthread = false
|
||||
{% if om_enable_rabbitmq_tls | bool %}
|
||||
ssl = true
|
||||
|
@ -93,6 +93,9 @@ driver = noop
|
||||
{% endif %}
|
||||
|
||||
[oslo_messaging_rabbit]
|
||||
{% if om_enable_queue_manager | bool %}
|
||||
use_queue_manager = true
|
||||
{% endif %}
|
||||
heartbeat_in_pthread = false
|
||||
{% if om_enable_rabbitmq_tls | bool %}
|
||||
ssl = true
|
||||
|
@ -125,6 +125,9 @@ driver = noop
|
||||
{% endif %}
|
||||
|
||||
[oslo_messaging_rabbit]
|
||||
{% if om_enable_queue_manager | bool %}
|
||||
use_queue_manager = true
|
||||
{% endif %}
|
||||
heartbeat_in_pthread = false
|
||||
{% if om_enable_rabbitmq_tls | bool %}
|
||||
ssl = true
|
||||
|
@ -72,6 +72,12 @@ driver = noop
|
||||
{% endif %}
|
||||
|
||||
[oslo_messaging_rabbit]
|
||||
{% if om_enable_queue_manager | bool %}
|
||||
use_queue_manager = true
|
||||
{% if service_name == 'heat-api' or service_name == 'heat-api-cfn' %}
|
||||
processname = {{ service_name }}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
heartbeat_in_pthread = {{ service_name == 'heat-api' or service_name == 'heat-api-cfn' }}
|
||||
{% if om_enable_rabbitmq_tls | bool %}
|
||||
ssl = true
|
||||
|
@ -13,6 +13,9 @@ transport_url = {{ rpc_transport_url }}
|
||||
transport_url = {{ notify_transport_url }}
|
||||
|
||||
[oslo_messaging_rabbit]
|
||||
{% if om_enable_queue_manager | bool %}
|
||||
use_queue_manager = true
|
||||
{% endif %}
|
||||
heartbeat_in_pthread = false
|
||||
{% if om_enable_rabbitmq_tls | bool %}
|
||||
ssl = true
|
||||
|
@ -43,6 +43,10 @@ backend = collector
|
||||
{% endif %}
|
||||
|
||||
[oslo_messaging_rabbit]
|
||||
{% if om_enable_queue_manager | bool %}
|
||||
use_queue_manager = true
|
||||
processname = {{ service_name }}
|
||||
{% endif %}
|
||||
heartbeat_in_pthread = {{ service_name == 'ironic-api' }}
|
||||
{% if om_enable_rabbitmq_tls | bool %}
|
||||
ssl = true
|
||||
|
@ -60,6 +60,12 @@ driver = noop
|
||||
{% endif %}
|
||||
|
||||
[oslo_messaging_rabbit]
|
||||
{% if om_enable_queue_manager | bool %}
|
||||
use_queue_manager = true
|
||||
{% if service_name == 'keystone-api' %}
|
||||
processname = {{ service_name }}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
heartbeat_in_pthread = {{ service_name == 'keystone' }}
|
||||
{% if om_enable_rabbitmq_tls | bool %}
|
||||
ssl = true
|
||||
|
@ -127,6 +127,9 @@ driver = noop
|
||||
{% endif %}
|
||||
|
||||
[oslo_messaging_rabbit]
|
||||
{% if om_enable_queue_manager | bool %}
|
||||
use_queue_manager = true
|
||||
{% endif %}
|
||||
heartbeat_in_pthread = false
|
||||
{% if om_enable_rabbitmq_tls | bool %}
|
||||
ssl = true
|
||||
|
@ -57,6 +57,9 @@ driver = noop
|
||||
{% endif %}
|
||||
|
||||
[oslo_messaging_rabbit]
|
||||
{% if om_enable_queue_manager | bool %}
|
||||
use_queue_manager = true
|
||||
{% endif %}
|
||||
heartbeat_in_pthread = false
|
||||
{% if om_enable_rabbitmq_tls | bool %}
|
||||
ssl = true
|
||||
|
@ -51,6 +51,12 @@ driver = noop
|
||||
{% endif %}
|
||||
|
||||
[oslo_messaging_rabbit]
|
||||
{% if om_enable_queue_manager | bool %}
|
||||
use_queue_manager = true
|
||||
{% if service_name == 'masakari-api' %}
|
||||
processname = {{ service_name }}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
heartbeat_in_pthread = {{ service_name == 'masakari-api' }}
|
||||
{% if om_enable_rabbitmq_tls | bool %}
|
||||
ssl = true
|
||||
|
@ -73,6 +73,9 @@ driver = noop
|
||||
{% endif %}
|
||||
|
||||
[oslo_messaging_rabbit]
|
||||
{% if om_enable_queue_manager | bool %}
|
||||
use_queue_manager = true
|
||||
{% endif %}
|
||||
heartbeat_in_pthread = false
|
||||
{% if om_enable_rabbitmq_tls | bool %}
|
||||
ssl = true
|
||||
|
@ -132,6 +132,9 @@ driver = noop
|
||||
{% endif %}
|
||||
|
||||
[oslo_messaging_rabbit]
|
||||
{% if om_enable_queue_manager | bool %}
|
||||
use_queue_manager = true
|
||||
{% endif %}
|
||||
heartbeat_in_pthread = false
|
||||
{% if om_enable_rabbitmq_tls | bool %}
|
||||
ssl = true
|
||||
|
@ -14,7 +14,7 @@
|
||||
- name: Discover nova hosts
|
||||
become: true
|
||||
command: >
|
||||
{{ kolla_container_engine }} exec nova_conductor nova-manage cell_v2 discover_hosts --by-service --cell_uuid {{ nova_cell_settings.cell_uuid }}
|
||||
{{ kolla_container_engine }} exec -t nova_conductor nova-manage cell_v2 discover_hosts --by-service --cell_uuid {{ nova_cell_settings.cell_uuid }}
|
||||
changed_when: False
|
||||
|
||||
# Delegate to a cell conductor.
|
||||
|
@ -189,6 +189,12 @@ driver = noop
|
||||
{% endif %}
|
||||
|
||||
[oslo_messaging_rabbit]
|
||||
{% if om_enable_queue_manager | bool %}
|
||||
use_queue_manager = true
|
||||
{% if service_name == "nova-compute-ironic" %}
|
||||
hostname = {{ nova_compute_ironic_custom_host | default(ansible_facts.hostname) }}-ironic
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
heartbeat_in_pthread = false
|
||||
{% if om_enable_rabbitmq_tls | bool %}
|
||||
ssl = true
|
||||
|
@ -139,6 +139,12 @@ driver = noop
|
||||
{% endif %}
|
||||
|
||||
[oslo_messaging_rabbit]
|
||||
{% if om_enable_queue_manager | bool %}
|
||||
use_queue_manager = true
|
||||
{% if service_name == 'nova-api' or service_name == 'nova-metadata' %}
|
||||
processname = {{ service_name }}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
heartbeat_in_pthread = {{ service_name == 'nova-api' }}
|
||||
{% if om_enable_rabbitmq_tls | bool %}
|
||||
ssl = true
|
||||
|
@ -123,6 +123,12 @@ rpc_thread_pool_size = 2
|
||||
transport_url = {{ notify_transport_url }}
|
||||
|
||||
[oslo_messaging_rabbit]
|
||||
{% if om_enable_queue_manager | bool %}
|
||||
use_queue_manager = true
|
||||
{% if service_name == 'octavia-api' %}
|
||||
processname = {{ service_name }}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
heartbeat_in_pthread = {{ service_name == 'octavia-api' }}
|
||||
{% if om_enable_rabbitmq_tls | bool %}
|
||||
ssl = true
|
||||
|
@ -150,7 +150,7 @@
|
||||
loop_control:
|
||||
label: "{{ item.name }}"
|
||||
# TODO(mattcress): remove skipping reply and fanout once https://review.opendev.org/c/openstack/oslo.messaging/+/888479 is merged.
|
||||
when: not (item.name is search('reply_') or item.name is search('_fanout_'))
|
||||
when: not (item.name is search('reply_') or item.name is search('_fanout'))
|
||||
|
||||
run_once: true
|
||||
when:
|
||||
|
@ -69,6 +69,9 @@ driver = noop
|
||||
{% endif %}
|
||||
|
||||
[oslo_messaging_rabbit]
|
||||
{% if om_enable_queue_manager | bool %}
|
||||
use_queue_manager = true
|
||||
{% endif %}
|
||||
heartbeat_in_pthread = false
|
||||
{% if om_enable_rabbitmq_tls | bool %}
|
||||
ssl = true
|
||||
|
@ -17,6 +17,9 @@ user_domain_name = {{ default_user_domain_name }}
|
||||
username = {{ trove_keystone_user }}
|
||||
|
||||
[oslo_messaging_rabbit]
|
||||
{% if om_enable_queue_manager | bool %}
|
||||
use_queue_manager = true
|
||||
{% endif %}
|
||||
heartbeat_in_pthread = false
|
||||
{% if om_enable_rabbitmq_high_availability | bool %}
|
||||
amqp_durable_queues = true
|
||||
|
@ -75,6 +75,9 @@ driver = noop
|
||||
{% endif %}
|
||||
|
||||
[oslo_messaging_rabbit]
|
||||
{% if om_enable_queue_manager | bool %}
|
||||
use_queue_manager = true
|
||||
{% endif %}
|
||||
heartbeat_in_pthread = false
|
||||
{% if om_enable_rabbitmq_tls | bool %}
|
||||
ssl = true
|
||||
|
@ -60,6 +60,9 @@ driver = noop
|
||||
{% endif %}
|
||||
|
||||
[oslo_messaging_rabbit]
|
||||
{% if om_enable_queue_manager | bool %}
|
||||
use_queue_manager = true
|
||||
{% endif %}
|
||||
heartbeat_in_pthread = false
|
||||
{% if om_enable_rabbitmq_tls | bool %}
|
||||
ssl = true
|
||||
|
@ -127,6 +127,12 @@ docker_remote_api_port = 2375
|
||||
cni_daemon_port = {{ zun_cni_daemon_port }}
|
||||
|
||||
[oslo_messaging_rabbit]
|
||||
{% if om_enable_queue_manager | bool %}
|
||||
use_queue_manager = true
|
||||
{% if service_name == 'zun-api' %}
|
||||
processname = {{ service_name }}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
heartbeat_in_pthread = {{ service_name == 'zun-api' }}
|
||||
{% if om_enable_rabbitmq_tls | bool %}
|
||||
ssl = true
|
||||
|
11
releasenotes/notes/add-queue-manager-3ce79655ac37c345.yaml
Normal file
11
releasenotes/notes/add-queue-manager-3ce79655ac37c345.yaml
Normal file
@ -0,0 +1,11 @@
|
||||
---
|
||||
features:
|
||||
- |
|
||||
Added support for using oslo.messaging Queue Manager to all services which
|
||||
use RabbitMQ. This is enabled by default, but can be configured using
|
||||
``om_enable_queue_manager``.
|
||||
upgrade:
|
||||
- |
|
||||
Added support for using oslo.messaging Queue Manager to all services which
|
||||
use RabbitMQ. This is enabled by default, but can be configured using
|
||||
``om_enable_queue_manager``.
|
Loading…
x
Reference in New Issue
Block a user