
When both Glance and Nova are Ceph backed the instance snapshot path can do a direct snapshot which leaves image bits in the Ceph cluster. At Newton and Ocata levels this requires show_multiple_locations=True set in the glance API conf. See [1]. Despite the Ceph doc stating Mitaka also needs this, an OSA deployment of Mitaka has been found to work without it. Without this fix an OpenStack Ansible deployment wih Ceph backed Nova and Glance will fail with symptoms as documented in [2]. A similar fix was put into DevStack under [3]. [1] http://docs.ceph.com/docs/master/rbd/rbd-openstack/#for-mitaka-only [2] https://bugzilla.redhat.com/show_bug.cgi?id=1382737 [3] https://review.openstack.org/#/c/279630/ Change-Id: I52db9b5baf9209c72513da9c5f08e650ba6d43df
121 lines
4.7 KiB
Django/Jinja
121 lines
4.7 KiB
Django/Jinja
# {{ 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 }}
|
|
show_multiple_locations = {{ glance_show_multiple_locations }}
|
|
|
|
[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 }}
|
|
signing_dir = {{ glance_system_user_home }}/cache/api
|
|
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
|
|
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
|
|
|
|
[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 }}
|