# {{ ansible_managed }} {% set _api_threads = ansible_processor_vcpus|default(2) // 2 %} {% set api_threads = _api_threads if _api_threads > 0 else 1 %} [DEFAULT] verbose = {{ verbose }} debug = {{ debug }} log_file = /var/log/glance/glance-api.log use_syslog = False bind_host = {{ glance_api_bind_address }} bind_port = {{ glance_api_service_port }} backlog = 4096 workers = {{ glance_api_workers | default(api_threads) }} registry_host = {{ glance_registry_host }} registry_port = {{ glance_registry_service_port }} registry_client_protocol = {{ glance_service_proto }} cinder_catalog_info = volume:cinder:internalURL notification_driver = {{ glance_notification_driver }} {% if glance_notification_driver == "messaging" %} ##### RPC MESSAGING OPTIONS ##### rpc_backend = {{ glance_rpc_backend }} rabbit_hosts = {{ rabbitmq_servers }} rabbit_port = {{ rabbitmq_port }} rabbit_userid = {{ rabbitmq_userid }} rabbit_password = {{ rabbitmq_password }} rabbit_virtual_host = {{ rabbitmq_virtual_host }} rabbit_notification_exchange = glance rabbit_notification_topic = notifications rabbit_durable_queues = False {% endif %} delayed_delete = False scrub_time = 43200 scrubber_datadir = {{ glance_system_user_home }}/scrubber/ image_cache_dir = {{ glance_system_user_home }}/cache/ [database] connection = mysql://{{ glance_galera_user }}:{{ glance_container_mysql_password }}@{{ galera_address }}/{{ glance_galera_database }}?charset=utf8 [keystone_authtoken] signing_dir = {{ glance_system_user_home }}/cache/api identity_uri = {{ keystone_service_internaluri }} auth_uri = {{ keystone_service_internaluri }} admin_tenant_name = {{ glance_service_tenant_name }} admin_user = {{ glance_service_user_name }} admin_password = {{ glance_service_password }} memcached_servers = {{ memcached_servers }} token_cache_time = 300 revocation_cache_time = 60 # if your memcached server is shared, use these settings to avoid cache poisoning memcache_security_strategy = ENCRYPT memcache_secret_key = {{ memcached_encryption_key }} # if your keystone deployment uses PKI, and you value security over performance: check_revocations_for_cached = False [paste_deploy] flavor = {{ glance_flavor }} [glance_store] default_store = {{ glance_default_store }} stores = glance.store.filesystem.Store, glance.store.http.Store, glance.store.cinder.Store, glance.store.swift.Store {% if glance_default_store == "file" %} filesystem_store_datadir = {{ glance_system_user_home }}/images/ {% elif glance_default_store == "swift" %} swift_store_auth_version = 2 swift_store_auth_address = {{ glance_swift_store_auth_address }} swift_store_user = {{ glance_swift_store_user }} swift_store_key = {{ glance_swift_store_key }} swift_store_region = {{ glance_swift_store_region }} swift_store_container = {{ glance_swift_store_container }} swift_store_create_container_on_put = True swift_store_large_object_size = 5120 swift_store_large_object_chunk_size = 200 swift_store_retry_get_count = 5 swift_store_endpoint_type = {{ glance_swift_store_endpoint_type }} {% endif %}