# {{ ansible_managed }} [DEFAULT] debug = {{ debug }} use_journal = true {% if trove_use_uwsgi | bool %} bind_host = {{ trove_service_host }} bind_port = {{ trove_service_port }} trove_api_workers={{ trove_api_workers }} {% endif %} trove_conductor_workers={{ trove_conductor_workers }} taskmanager_manager = trove.taskmanager.manager.Manager transport_url = {{ trove_oslomsg_rpc_transport }}://{% for host in trove_oslomsg_rpc_servers.split(',') %}{{ trove_oslomsg_rpc_userid }}:{{ trove_oslomsg_rpc_password }}@{{ host }}:{{ trove_oslomsg_rpc_port }}{% if not loop.last %},{% else %}/{{ _trove_oslomsg_rpc_vhost_conf }}{% if trove_oslomsg_rpc_use_ssl | bool %}?ssl=1&ssl_version={{ trove_oslomsg_rpc_ssl_version }}&ssl_ca_file={{ trove_oslomsg_rpc_ssl_ca_file }}{% else %}?ssl=0{% endif %}{% endif %}{% endfor %} {# There must be a blank line above or the following line will be appended to the previous. #} control_exchange = {{ trove_control_exchange }} enable_secure_rpc_messaging = {{ trove_enable_secure_rpc_messaging }} inst_rpc_key_encr_key = {{ trove_inst_rpc_key_encr_key }} taskmanager_rpc_encr_key = {{ trove_taskmanager_rpc_encr_key }} instance_rpc_encr_key = {{ trove_instance_rpc_encr_key }} nova_compute_endpoint_type = {{ trove_service_nova_endpoint_type }} nova_compute_service_type = compute glance_endpoint_type = {{ trove_service_glance_endpoint_type }} trove_endpoint_type = {{ trove_service_endpoint_type }} # Cinder trove_volume_support = {{ trove_cinder_enabled }} max_accepted_volume_size = 100 max_volumes_per_tenant = 1000 cinder_endpoint_type = {{ trove_service_cinder_endpoint_type }} cinder_service_type = volumev3 # Trove DNS trove_dns_support = {{ trove_designate_enabled | bool }} {% if trove_designate_enabled | bool %} dns_account_id = {{ trove_service_project_name }} dns_auth_url = {{ trove_auth_url }} dns_username = {{ trove_service_user_name }} dns_passkey = {{ trove_service_password }} dns_region = {{ keystone_service_region }} dns_user_domain_id = {{ trove_service_user_domain_id }} dns_project_domain_id = {{ trove_service_project_domain_id }} dns_ttl = 3600 dns_domain_name = {{ trove_dns_domain_name }} dns_domain_id = {{ trove_dns_domain_id }} dns_driver = trove.dns.designate.driver.DesignateDriver dns_instance_entry_factory = trove.dns.designate.driver.DesignateInstanceEntryFactory dns_service_type = dns {% endif %} # Neutron network_driver = trove.network.neutron.NeutronDriver management_networks = {{ trove_service_net_id }} neutron_endpoint_type = {{ trove_service_neutron_endpoint_type }} neutron_service_type = network {% if trove_management_security_groups | length > 0 %} management_security_groups = {{ trove_management_security_groups | join(',') }} {% endif %} {% if trove_swift_enabled is defined %} # Swift swift_service_type = object-store swift_endpoint_type = {{ trove_service_swift_endpoint_type }} {% endif %} # Guest related conf agent_heartbeat_time = 10 agent_call_low_timeout = 5 agent_call_high_timeout = 150 [keystone_authtoken] insecure = {{ keystone_service_internaluri_insecure | bool }} auth_type = {{ trove_keystone_auth_plugin }} auth_url = {{ keystone_service_adminuri }} www_authenticate_uri = {{ keystone_service_internaluri }} project_domain_id = {{ trove_service_project_domain_id }} user_domain_id = {{ trove_service_user_domain_id }} project_name = {{ trove_service_project_name }} username = {{ trove_service_user_name }} password = {{ trove_service_password }} region_name = {{ keystone_service_region }} interface = {{ trove_service_endpoint_type }} service_token_roles_required = {{ trove_service_token_roles_required | bool }} service_token_roles = {{ trove_service_token_roles | join(',') }} service_type = {{ trove_service_type }} memcached_servers = {{ trove_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 }} [service_credentials] auth_url = {{ trove_auth_url }} username = {{ trove_service_user_name }} password = {{ trove_service_password }} project_name = {{ trove_service_project_name }} region_name = {{ trove_service_region }} project_domain_name = {{ trove_service_project_domain_name }} user_domain_name = {{ trove_service_user_domain_name }} [database] connection = "{{ trove_galera_connection_string }}" max_overflow = {{ trove_db_max_overflow }} max_pool_size = {{ trove_db_max_pool_size }} pool_timeout = {{ trove_db_pool_timeout }} connection_recycle_time = {{ trove_db_connection_recycle_time }} [profiler] enabled = {{ trove_profiler_enabled }} #trace_sqlalchemy = True [ssl] #cert_file = /path/to/server.crt #key_file = /path/to/server.key #optional: #ca_file = /path/to/ca_file [oslo_messaging_rabbit] ssl = {{ trove_oslomsg_rpc_use_ssl }} rabbit_quorum_queue = {{ trove_oslomsg_rabbit_quorum_queues }} rabbit_transient_quorum_queue = {{ trove_oslomsg_rabbit_transient_quorum_queues }} rabbit_qos_prefetch_count = {{ trove_oslomsg_rabbit_qos_prefetch_count }} use_queue_manager = {{ trove_oslomsg_rabbit_queue_manager }} rabbit_stream_fanout = {{ trove_oslomsg_rabbit_stream_fanout }} rabbit_quorum_delivery_limit = {{ trove_oslomsg_rabbit_quorum_delivery_limit }} rabbit_quorum_max_memory_bytes = {{ trove_oslomsg_rabbit_quorum_max_memory_bytes }} [oslo_messaging_notifications] {% set notification_topics = [] %} {% if trove_oslomsg_notify_configure %} {% set _ = notification_topics.append('notifications') %} {% endif %} {% if trove_designate_enabled %} {% set _ = notification_topics.append(trove_notifications_designate) %} {% endif %} topics = {{ notification_topics | join(',') }} driver = {{ (notification_topics | length > 0) | ternary('messagingv2', 'noop') }} transport_url = {{ trove_oslomsg_notify_transport }}://{% for host in trove_oslomsg_notify_servers.split(',') %}{{ trove_oslomsg_notify_userid }}:{{ trove_oslomsg_notify_password }}@{{ host }}:{{ trove_oslomsg_notify_port }}{% if not loop.last %},{% else %}/{{ _trove_oslomsg_notify_vhost_conf }}{% if trove_oslomsg_notify_use_ssl | bool %}?ssl=1&ssl_version={{ trove_oslomsg_notify_ssl_version }}&ssl_ca_file={{ trove_oslomsg_notify_ssl_ca_file }}{% else %}?ssl=0{% endif %}{% endif %}{% endfor %}