Files
kolla-ansible/ansible/roles/masakari/templates/masakari.conf.j2
Sven Kieske 3c3a18aa5b Rabbitmq: enable quorum for transient queues
This helps to improve the reliability of openstack services when
a rabbitmq node has issues.

See also: https://bugs.launchpad.net/oslo.messaging/+bug/2031497

Adjust the upgrade tests similar to what was done
during the introduction of quorum queues in I6c033d460a5c9b93c346e9e47e93b159d3c27830

Closes-Bug: #2078339
Partial-Bug: #2077448
Depends-On: https://review.opendev.org/c/openstack/oslo.messaging/+/888479
Depends-On: https://review.opendev.org/c/openstack/kolla-ansible/+/924623
Signed-off-by: Sven Kieske <kieske@osism.tech>
Change-Id: Idb8a8d2e560206f7697c0771c9ae3913268fa6dd
2025-03-27 08:35:35 +00:00

99 lines
3.5 KiB
Django/Jinja

[DEFAULT]
debug = {{ masakari_logging_debug }}
log_dir = /var/log/kolla/masakari
masakari_api_listen = {{ api_interface_address }}
masakari_api_listen_port = {{ masakari_api_port }}
enabled_apis = masakari_api
state_path = /var/lib/masakari
transport_url = {{ rpc_transport_url }}
os_region_name = {{ openstack_region_name }}
os_user_domain_name = {{ default_user_domain_id }}
os_project_domain_name = {{ default_project_domain_id }}
os_privileged_user_tenant = service
os_privileged_user_auth_url = {{ keystone_internal_url }}
os_privileged_user_name = {{ nova_keystone_user }}
os_privileged_user_password = {{ nova_keystone_password }}
nova_ca_certificates_file = {{ openstack_cacert }}
[database]
connection = mysql+pymysql://{{ masakari_database_user }}:{{ masakari_database_password }}@{{ masakari_database_address }}/{{ masakari_database_name }}
connection_recycle_time = {{ database_connection_recycle_time }}
max_pool_size = {{ database_max_pool_size }}
max_retries = -1
[keystone_authtoken]
service_type = instance-ha
www_authenticate_uri = {{ keystone_public_url }}
auth_url = {{ keystone_internal_url }}
auth_type = password
project_domain_name = {{ default_project_domain_name }}
user_domain_name = {{ default_user_domain_name }}
project_name = service
username = {{ masakari_keystone_user }}
password = {{ masakari_keystone_password }}
service_token_roles_required = true
region_name = {{ openstack_region_name }}
cafile = {{ openstack_cacert }}
{% if enable_memcached | bool %}
memcache_security_strategy = {{ memcache_security_strategy }}
memcache_secret_key = {{ memcache_secret_key }}
memcached_servers = {% for host in groups['memcached'] %}{{ 'api' | kolla_address(host) | put_address_in_context('memcache') }}:{{ memcached_port }}{% if not loop.last %},{% endif %}{% endfor %}
{% endif %}
[oslo_messaging_notifications]
transport_url = {{ notify_transport_url }}
{% if enable_ceilometer | bool %}
driver = messagingv2
topics = notifications
{% else %}
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
ssl_ca_file = {{ om_rabbitmq_cacert }}
{% endif %}
{% if om_enable_rabbitmq_high_availability | bool %}
amqp_durable_queues = true
{% endif %}
{% if om_enable_rabbitmq_quorum_queues | bool %}
rabbit_quorum_queue = true
{% if om_enable_rabbitmq_transient_quorum_queue | bool %}
rabbit_transient_quorum_queue = true
{% endif %}
{% endif %}
[oslo_middleware]
enable_proxy_headers_parsing = true
{% if masakari_policy_file is defined %}
[oslo_policy]
policy_file = {{ masakari_policy_file }}
{% endif %}
[taskflow]
connection = mysql+pymysql://{{ masakari_database_user }}:{{ masakari_database_password }}@{{ masakari_database_address }}/{{ masakari_database_name }}
{% if service_name == 'masakari-api' %}
[coordination]
{% if masakari_coordination_backend == 'redis' %}
backend_url = {{ redis_connection_string }}
{% elif masakari_coordination_backend == 'etcd' %}
# NOTE(jan.gutter): etcd v3.4 removed the default `v3alpha` api_version. Until
# tooz defaults to a newer version, we should explicitly specify `v3`
backend_url = etcd3+{{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ etcd_client_port }}?api_version=v3{% if openstack_cacert %}?ca_cert={{ openstack_cacert }}{% endif %}
{% endif %}
{% endif %}
[oslo_concurrency]
lock_path = /var/lib/masakari/tmp