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: I763357049f0ee1961cc69e58dc7616369cd6300f
131 lines
5.5 KiB
Django/Jinja
131 lines
5.5 KiB
Django/Jinja
# {{ ansible_managed }}
|
|
|
|
[DEFAULT]
|
|
# Disable stderr logging
|
|
use_stderr = False
|
|
debug = {{ debug }}
|
|
fatal_deprecations = {{ heat_fatal_deprecations }}
|
|
|
|
use_journal = True
|
|
|
|
stack_domain_admin_password = {{ heat_stack_domain_admin_password }}
|
|
stack_domain_admin = {{ heat_stack_domain_admin }}
|
|
stack_user_domain_name = {{ heat_stack_user_domain_name }}
|
|
max_nested_stack_depth = {{ heat_max_nested_stack_depth }}
|
|
heat_waitcondition_server_url = {{ heat_waitcondition_server_url }}
|
|
heat_metadata_server_url = {{ heat_metadata_server_url }}
|
|
server_keystone_endpoint_type = public
|
|
|
|
trusts_delegated_roles = {{ heat_trusts_delegated_roles | join(',') }}
|
|
|
|
auth_encryption_key = {{ heat_auth_encryption_key }}
|
|
|
|
num_engine_workers = {{ heat_engine_workers | default(heat_api_threads) }}
|
|
|
|
## RPC Backend
|
|
transport_url = {{ heat_oslomsg_rpc_transport }}://{% for host in heat_oslomsg_rpc_servers.split(',') %}{{ heat_oslomsg_rpc_userid }}:{{ heat_oslomsg_rpc_password }}@{{ host }}:{{ heat_oslomsg_rpc_port }}{% if not loop.last %},{% else %}/{{ _heat_oslomsg_rpc_vhost_conf }}{% if heat_oslomsg_rpc_use_ssl | bool %}?ssl=1&ssl_version={{ heat_oslomsg_rpc_ssl_version }}&ssl_ca_file={{ heat_oslomsg_rpc_ssl_ca_file }}{% else %}?ssl=0{% endif %}{% endif %}{% endfor %}
|
|
|
|
## Plugin dirs
|
|
plugin_dirs = {{ heat_plugin_dirs | join(',') }}
|
|
|
|
# Default region name used to get services endpoints.
|
|
region_name_for_services = {{ heat_service_region }}
|
|
|
|
default_software_config_transport = POLL_SERVER_HEAT
|
|
default_deployment_signal_transport = HEAT_SIGNAL
|
|
|
|
[clients]
|
|
endpoint_type = {{ heat_clients_endpoint }}
|
|
|
|
[clients_heat]
|
|
endpoint_type = {{ heat_clients_heat_endpoint }}
|
|
|
|
[clients_keystone]
|
|
insecure = {{ keystone_service_internaluri_insecure | bool }}
|
|
endpoint_type = {{ heat_clients_endpoint }}
|
|
auth_uri = {{ keystone_service_internaluri }}
|
|
|
|
[database]
|
|
connection = mysql+pymysql://{{ heat_galera_user }}:{{ heat_container_mysql_password }}@{{ heat_galera_address }}:{{ heat_galera_port }}/{{ heat_galera_database }}?charset=utf8{% if heat_galera_use_ssl | bool %}&ssl_verify_cert=true{% if heat_galera_ssl_ca_cert | length > 0 %}&ssl_ca={{ heat_galera_ssl_ca_cert }}{% endif %}{% endif +%}
|
|
max_overflow = {{ heat_db_max_overflow }}
|
|
max_pool_size = {{ heat_db_max_pool_size }}
|
|
pool_timeout = {{ heat_db_pool_timeout }}
|
|
connection_recycle_time = {{ heat_db_connection_recycle_time }}
|
|
|
|
[ec2authtoken]
|
|
auth_uri = {{ keystone_service_internaluri }}
|
|
|
|
[heat_api]
|
|
bind_port = {{ heat_service_port }}
|
|
workers = {{ heat_api_workers | default(heat_api_threads) }}
|
|
|
|
[heat_api_cfn]
|
|
bind_port = {{ heat_cfn_service_port }}
|
|
|
|
[oslo_messaging_rabbit]
|
|
ssl = {{ heat_oslomsg_rpc_use_ssl }}
|
|
rabbit_quorum_queue = {{ heat_oslomsg_rabbit_quorum_queues }}
|
|
rabbit_transient_quorum_queue = {{ heat_oslomsg_rabbit_transient_quorum_queues }}
|
|
rabbit_qos_prefetch_count = {{ heat_oslomsg_rabbit_qos_prefetch_count }}
|
|
use_queue_manager = {{ heat_oslomsg_rabbit_queue_manager }}
|
|
{% if heat_oslomsg_rabbit_queue_manager %}
|
|
hostname = {{ [ansible_facts['hostname'], heat_service_name] | join('-') }}
|
|
{% endif %}
|
|
rabbit_stream_fanout = {{ heat_oslomsg_rabbit_stream_fanout }}
|
|
rabbit_quorum_delivery_limit = {{ heat_oslomsg_rabbit_quorum_delivery_limit }}
|
|
rabbit_quorum_max_memory_bytes = {{ heat_oslomsg_rabbit_quorum_max_memory_bytes }}
|
|
|
|
{% if heat_service_publicuri_proto != heat_service_internaluri_proto %}
|
|
[oslo_middleware]
|
|
enable_proxy_headers_parsing = True
|
|
{% endif %}
|
|
|
|
# Ceilometer options
|
|
[oslo_messaging_notifications]
|
|
driver = {{ (heat_oslomsg_notify_configure | bool) | ternary('messagingv2', 'noop') }}
|
|
transport_url = {{ heat_oslomsg_notify_transport }}://{% for host in heat_oslomsg_notify_servers.split(',') %}{{ heat_oslomsg_notify_userid }}:{{ heat_oslomsg_notify_password }}@{{ host }}:{{ heat_oslomsg_notify_port }}{% if not loop.last %},{% else %}/{{ _heat_oslomsg_notify_vhost_conf }}{% if heat_oslomsg_notify_use_ssl | bool %}?ssl=1&ssl_version={{ heat_oslomsg_notify_ssl_version }}&ssl_ca_file={{ heat_oslomsg_notify_ssl_ca_file }}{% else %}?ssl=0{% endif %}{% endif %}{% endfor %}
|
|
|
|
|
|
[profiler]
|
|
enabled = {{ heat_profiler_enabled }}
|
|
trace_sqlalchemy = {{ heat_profiler_trace_sqlalchemy }}
|
|
|
|
|
|
[keystone_authtoken]
|
|
insecure = {{ keystone_service_internaluri_insecure | bool }}
|
|
auth_type = {{ heat_keystone_auth_plugin }}
|
|
auth_url = {{ keystone_service_adminurl }}
|
|
www_authenticate_uri = {{ keystone_service_internaluri }}
|
|
project_domain_id = {{ heat_service_project_domain_id }}
|
|
user_domain_id = {{ heat_service_user_domain_id }}
|
|
project_name = {{ heat_service_project_name }}
|
|
username = {{ heat_service_user_name }}
|
|
password = {{ heat_service_password }}
|
|
region_name = {{ keystone_service_region }}
|
|
|
|
service_token_roles_required = {{ heat_service_token_roles_required | bool }}
|
|
service_token_roles = {{ heat_service_token_roles | join(',') }}
|
|
service_type = {{ heat_service_type }}
|
|
|
|
memcached_servers = {{ heat_memcached_servers }}
|
|
|
|
token_cache_time = 300
|
|
|
|
# if your memcached server is shared, use these settings to avoid cache poisoning
|
|
memcache_security_strategy = ENCRYPT
|
|
memcache_secret_key = {{ memcached_encryption_key }}
|
|
|
|
[trustee]
|
|
insecure = {{ keystone_service_internaluri_insecure | bool }}
|
|
auth_type = {{ heat_keystone_trustee_auth_plugin }}
|
|
auth_url = {{ keystone_service_adminurl }}
|
|
user_domain_id = {{ heat_service_trustee_user_domain_id }}
|
|
username = {{ heat_service_trustee_user_name }}
|
|
password = {{ heat_service_trustee_password }}
|
|
|
|
[volumes]
|
|
# Indicate if cinder-backup service is enabled. This is a temporary workaround
|
|
# until cinder-backup service becomes discoverable, see LP#1334856. (boolean
|
|
# value)
|
|
backups_enabled = {{ heat_cinder_backups_enabled }}
|