# {{ ansible_managed }} {% set _api_threads = ansible_processor_vcpus|default(2) // 2 %} {% set api_threads = _api_threads if _api_threads > 0 else 1 %} [DEFAULT] # Disable stderr logging use_stderr = False debug = {{ debug }} log_file = /var/log/glance/glance-api.log fatal_deprecations = {{ glance_fatal_deprecations }} bind_host = {{ glance_api_bind_address }} bind_port = {{ glance_api_service_port }} http_keepalive = {{ glance_http_keepalive }} digest_algorithm = {{ glance_digest_algorithm }} 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_registry_proto }} cinder_catalog_info = volume:cinder:internalURL enable_v1_api = {{ glance_enable_v1_api }} enable_v1_registry = {{ glance_enable_v1_registry }} enable_v2_api = {{ glance_enable_v2_api }} enable_v2_registry = {{ glance_enable_v2_registry }} rpc_backend = {{ glance_rpc_backend }} transport_url = rabbit://{% for host in glance_rabbitmq_servers.split(',') %}{{ glance_rabbitmq_userid }}:{{ glance_rabbitmq_password }}@{{ host }}:{{ glance_rabbitmq_port }}{% if not loop.last %},{% else %}/{{ glance_rabbitmq_vhost }}{% endif %}{% endfor %} delayed_delete = False scrub_time = 43200 image_cache_dir = {{ glance_system_user_home }}/cache/ # defaults to true if RBD is used as default store show_image_direct_url = {{ glance_show_image_direct_url }} [task] task_executor = {{ glance_task_executor }} [database] connection = mysql+pymysql://{{ glance_galera_user }}:{{ glance_container_mysql_password }}@{{ glance_galera_address }}/{{ glance_galera_database }}?charset=utf8 [keystone_authtoken] insecure = {{ keystone_service_internaluri_insecure | bool }} auth_type = {{ glance_keystone_auth_plugin }} auth_url = {{ keystone_service_adminurl }} auth_uri = {{ keystone_service_internaluri }} project_domain_id = {{ glance_service_project_domain_id }} user_domain_id = {{ glance_service_user_domain_id }} project_name = {{ glance_service_project_name }} username = {{ glance_service_user_name }} password = {{ glance_service_password }} region_name = {{ keystone_service_region }} memcached_servers = {{ 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 }} [oslo_policy] policy_file = {{ glance_policy_file }} policy_default_rule = {{ glance_policy_default_rule }} policy_dirs = {{ glance_policy_dirs }} [oslo_messaging_rabbit] rabbit_use_ssl = {{ glance_rabbitmq_use_ssl }} rabbit_notification_exchange = glance rabbit_notification_topic = notifications {% if glance_ceilometer_enabled %} [oslo_messaging_notifications] driver = messagingv2 transport_url = rabbit://{% for host in glance_rabbitmq_telemetry_servers.split(',') %}{{ glance_rabbitmq_telemetry_userid }}:{{ glance_rabbitmq_telemetry_password }}@{{ host }}:{{ glance_rabbitmq_telemetry_port }}{% if not loop.last %},{% else %}/{{ glance_rabbitmq_telemetry_vhost }}{% endif %}{% endfor %} {% endif %} [paste_deploy] flavor = {{ glance_flavor }} [glance_store] default_store = {{ glance_default_store }} {% set glance_available_stores = [ glance_default_store ] + glance_additional_stores %} stores = {% for backend in glance_available_stores %}{{ backend }}{% if not loop.last %},{% endif %}{% endfor %} {% if 'file' in glance_available_stores %} filesystem_store_datadir = {{ glance_system_user_home }}/images/ {% endif %} {% if 'swift' in glance_available_stores %} swift_store_config_file = /etc/glance/glance-swift-store.conf default_swift_reference = swift1 swift_store_auth_insecure = {{ glance_swift_store_auth_insecure | bool }} 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 = {{ glance_swift_store_large_object_size }} swift_store_large_object_chunk_size = {{ glance_swift_store_large_object_chunk_size }} swift_store_retry_get_count = 5 swift_store_endpoint_type = {{ glance_swift_store_endpoint_type }} {% endif %} {% if 'rbd' in glance_available_stores %} rbd_store_pool = {{ glance_rbd_store_pool }} rbd_store_user = {{ glance_rbd_store_user }} rbd_store_ceph_conf = /etc/ceph/ceph.conf rbd_store_chunk_size = {{ glance_rbd_store_chunk_size }} {% endif %} [profiler] enabled = {{ glance_profiler_enabled }}