
Due to the shortcoming of QManager implementation [1], in case of uWSGI usage on metal hosts, the flow ends up with having the same hostname/processname set, making services to fight over same file under SHM. In order to avoid this, we prepend the hostname with a service_name. We can not change processname instead, since it will lead to the fight between different processes of the same service. [1] https://bugs.launchpad.net/oslo.messaging/+bug/2065922 Change-Id: I5f7ed7090b0775e64bb9fc261f0c18cccdd4dfb2
84 lines
4.7 KiB
Django/Jinja
84 lines
4.7 KiB
Django/Jinja
[DEFAULT]
|
|
enabled_apis = masakari_api
|
|
transport_url = {{ masakari_oslomsg_rpc_transport }}://{% for host in masakari_oslomsg_rpc_servers.split(',') %}{{ masakari_oslomsg_rpc_userid }}:{{ masakari_oslomsg_rpc_password }}@{{ host }}:{{ masakari_oslomsg_rpc_port }}{% if not loop.last %},{% else %}/{{ _masakari_oslomsg_rpc_vhost_conf }}{% if masakari_oslomsg_rpc_use_ssl | bool %}?ssl=1&ssl_version={{ masakari_oslomsg_rpc_ssl_version }}&ssl_ca_file={{ masakari_oslomsg_rpc_ssl_ca_file }}{% else %}?ssl=0{% endif %}{% endif %}{% endfor %}
|
|
# Enable to specify listening IP other than default
|
|
masakari_api_listen = {{ masakari_api_bind_address }}
|
|
# Enable to specify port other than default
|
|
masakari_api_listen_port = {{ masakari_api_service_port }}
|
|
debug = False
|
|
use_journal = true
|
|
auth_strategy = keystone
|
|
notification_driver = taskflow_driver
|
|
# Nova endpoint
|
|
nova_catalog_admin_info = compute:nova:adminURL
|
|
nova_api_insecure = "{{ keystone_service_adminuri_insecure | default("false") }}"
|
|
# Privileged credentials to interact with nova
|
|
os_privileged_user_tenant = {{ masakari_service_project_name }}
|
|
os_privileged_user_auth_url = {{ keystone_service_adminuri }}
|
|
os_privileged_user_name = {{ masakari_service_user_name }}
|
|
os_privileged_user_password = {{ masakari_service_password }}
|
|
service_down_time = 60
|
|
periodic_enable = true
|
|
{% if masakari_backend_ssl | bool %}
|
|
use_ssl = True
|
|
ssl_cert_file = {{ masakari_ssl_cert }}
|
|
ssl_key_file = {{ masakari_ssl_key }}
|
|
{% endif %}
|
|
|
|
[wsgi]
|
|
# The paste configuration file path
|
|
api_paste_config = {{ masakari_etc_dir }}/api-paste.ini
|
|
|
|
[keystone_authtoken]
|
|
auth_url = {{ keystone_service_adminuri }}
|
|
www_authenticate_uri = {{ keystone_service_internaluri }}
|
|
auth_type = password
|
|
project_domain_id = {{ masakari_service_user_domain_id }}
|
|
user_domain_id = {{ masakari_service_project_domain_id }}
|
|
project_name = {{ masakari_service_project_name }}
|
|
username = {{ masakari_service_user_name }}
|
|
password = {{ masakari_service_password }}
|
|
|
|
service_token_roles = {{ masakari_service_token_roles | join(',') }}
|
|
service_token_roles_required = {{ masakari_service_token_roles_required | bool }}
|
|
service_type = {{ masakari_service_type }}
|
|
|
|
memcached_servers = {{ masakari_memcached_servers }}
|
|
memcache_security_strategy = ENCRYPT
|
|
memcache_secret_key = {{ memcached_encryption_key }}
|
|
|
|
[database]
|
|
connection = mysql+pymysql://{{ masakari_galera_user }}:{{ masakari_container_mysql_password }}@{{ masakari_galera_address }}:{{ masakari_galera_port }}/{{ masakari_galera_database }}?charset=utf8{% if masakari_galera_use_ssl | bool %}&ssl_verify_cert=true{% if masakari_galera_ssl_ca_cert | length > 0 %}&ssl_ca={{ masakari_galera_ssl_ca_cert }}{% endif %}{% endif +%}
|
|
max_overflow = {{ masakari_db_max_overflow }}
|
|
max_pool_size = {{ masakari_db_max_pool_size }}
|
|
pool_timeout = {{ masakari_db_pool_timeout }}
|
|
connection_recycle_time = {{ masakari_db_connection_recycle_time }}
|
|
|
|
[taskflow]
|
|
connection = mysql+pymysql://{{ masakari_galera_user }}:{{ masakari_container_mysql_password }}@{{ masakari_galera_address }}:{{ masakari_galera_port }}/{{ masakari_galera_database }}?charset=utf8{% if masakari_galera_use_ssl | bool %}&ssl_verify_cert=true{% if masakari_galera_ssl_ca_cert | length > 0 %}&ssl_ca={{ masakari_galera_ssl_ca_cert }}{% endif %}{% endif %}
|
|
|
|
[host_failure]
|
|
evacuate_all_instances = true
|
|
add_reserved_host_to_aggregate = false
|
|
ignore_instances_in_error_state = false
|
|
|
|
[instance_failure]
|
|
process_all_instances = false
|
|
|
|
[oslo_messaging_rabbit]
|
|
ssl = {{ masakari_oslomsg_notify_use_ssl | bool }}
|
|
rabbit_quorum_queue = {{ masakari_oslomsg_rabbit_quorum_queues }}
|
|
rabbit_transient_quorum_queue = {{ masakari_oslomsg_rabbit_transient_quorum_queues }}
|
|
rabbit_qos_prefetch_count = {{ masakari_oslomsg_rabbit_qos_prefetch_count }}
|
|
use_queue_manager = {{ masakari_oslomsg_rabbit_queue_manager }}
|
|
{% if masakari_oslomsg_rabbit_queue_manager %}
|
|
hostname = {{ [ansible_facts['hostname'], masakari_service_name] | join('-') }}
|
|
{% endif %}
|
|
rabbit_stream_fanout = {{ masakari_oslomsg_rabbit_stream_fanout }}
|
|
rabbit_quorum_delivery_limit = {{ masakari_oslomsg_rabbit_quorum_delivery_limit }}
|
|
rabbit_quorum_max_memory_bytes = {{ masakari_oslomsg_rabbit_quorum_max_memory_bytes }}
|
|
|
|
[oslo_messaging_notifications]
|
|
driver = {{ (masakari_oslomsg_notify_configure | bool) | ternary('messagingv2', 'noop') }}
|
|
transport_url = {{ masakari_oslomsg_notify_transport }}://{% for host in masakari_oslomsg_notify_servers.split(',') %}{{ masakari_oslomsg_notify_userid }}:{{ masakari_oslomsg_notify_password }}@{{ host }}:{{ masakari_oslomsg_notify_port }}{% if not loop.last %},{% else %}/{{ _masakari_oslomsg_notify_vhost_conf }}{% if masakari_oslomsg_notify_use_ssl | bool %}?ssl=1&ssl_version={{ masakari_oslomsg_notify_ssl_version }}&ssl_ca_file={{ masakari_oslomsg_notify_ssl_ca_file }}{% else %}?ssl=0{% endif %}{% endif %}{% endfor %}
|