0ce2bc01fd
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: I19484946c3049484f27e6e6029afd8152e1b835d
214 lines
9.0 KiB
Django/Jinja
214 lines
9.0 KiB
Django/Jinja
# {{ ansible_managed }}
|
|
|
|
[DEFAULT]
|
|
use_journal = True
|
|
# Disable stderr logging
|
|
use_stderr = False
|
|
debug = {{ debug }}
|
|
fatal_deprecations = {{ cinder_fatal_deprecations }}
|
|
my_ip = {{ cinder_management_address }}
|
|
|
|
osapi_volume_workers = {{ cinder_osapi_volume_workers }}
|
|
|
|
rootwrap_config = /etc/cinder/rootwrap.conf
|
|
api_paste_config = /etc/cinder/api-paste.ini
|
|
auth_strategy = {{ cinder_auth_strategy }}
|
|
|
|
{% if cinder_active_active_cluster | bool %}
|
|
cluster = {{ cinder_active_active_cluster_name }}
|
|
{% endif %}
|
|
|
|
## Cinder Scheduler
|
|
{% if cinder_scheduler_default_filters is defined %}
|
|
scheduler_default_filters={{ cinder_scheduler_default_filters | join(',') }}
|
|
{% endif %}
|
|
|
|
{% if cinder_services['cinder-volume']['group'] in group_names %}
|
|
{% if cinder_service_backup_program_enabled == true %}
|
|
|
|
## Cinder Backup
|
|
backup_driver = {{ cinder_service_backup_driver }}
|
|
backup_metadata_version = {{ cinder_service_backup_metadata_version }}
|
|
backup_compression_algorithm = {{ cinder_service_backup_compression_algorithm }}
|
|
{% if cinder_service_backup_driver == 'cinder.backup.drivers.swift.SwiftBackupDriver' %}
|
|
swift_catalog_info = {{ cinder_swift_catalog_info }}
|
|
backup_swift_auth = {{ cinder_service_backup_swift_auth }}
|
|
{% if cinder_service_backup_swift_auth == 'single_user' %}
|
|
backup_swift_url = {{ cinder_service_backup_swift_url }}
|
|
backup_swift_user = {{ cinder_service_backup_swift_user }}
|
|
backup_swift_tenant = {{ cinder_service_backup_swift_tenant }}
|
|
backup_swift_key = {{ cinder_service_backup_swift_key }}
|
|
backup_swift_auth_version = {{ cinder_service_backup_swift_auth_version }}
|
|
{% endif %}
|
|
backup_swift_container = {{ cinder_service_backup_swift_container }}
|
|
backup_swift_object_size = {{ cinder_service_backup_swift_object_size }}
|
|
backup_swift_retry_attempts = {{ cinder_service_backup_swift_retry_attempts }}
|
|
backup_swift_retry_backoff = {{ cinder_service_backup_swift_retry_backoff }}
|
|
{% elif cinder_service_backup_driver == 'cinder.backup.drivers.ceph.CephBackupDriver' %}
|
|
backup_ceph_user = {{ cinder_service_backup_ceph_user }}
|
|
backup_ceph_pool = {{ cinder_service_backup_ceph_pool }}
|
|
{% endif %}
|
|
{% endif %}
|
|
{% endif %}
|
|
|
|
## RabbitMQ RPC
|
|
executor_thread_pool_size = {{ cinder_rpc_executor_thread_pool_size }}
|
|
rpc_response_timeout = {{ cinder_rpc_response_timeout }}
|
|
|
|
transport_url = {{ cinder_oslomsg_rpc_transport }}://{% for host in cinder_oslomsg_rpc_servers.split(',') %}{{ cinder_oslomsg_rpc_userid }}:{{ cinder_oslomsg_rpc_password }}@{{ host }}:{{ cinder_oslomsg_rpc_port }}{% if not loop.last %},{% else %}/{{ _cinder_oslomsg_rpc_vhost_conf }}{% if cinder_oslomsg_rpc_use_ssl | bool %}?ssl=1&ssl_version={{ cinder_oslomsg_rpc_ssl_version }}&ssl_ca_file={{ cinder_oslomsg_rpc_ssl_ca_file }}{% else %}?ssl=0{% endif %}{% endif %}{% endfor %}
|
|
|
|
## Quota
|
|
quota_volumes = {{ cinder_quota_volumes }}
|
|
quota_snapshots = {{ cinder_quota_snapshots }}
|
|
quota_consistencygroups = {{ cinder_quota_consistencygroups }}
|
|
quota_gigabytes = {{ cinder_quota_gigabytes }}
|
|
quota_backups = {{ cinder_quota_backups }}
|
|
quota_backup_gigabytes = {{ cinder_quota_backup_gigabytes }}
|
|
|
|
## Nova
|
|
nova_catalog_info = {{ cinder_nova_catalog_info }}
|
|
nova_catalog_admin_info = {{ cinder_nova_catalog_admin_info }}
|
|
|
|
os_region_name = {{ cinder_service_region }}
|
|
|
|
## Glance
|
|
glance_api_servers = {{ cinder_glance_api_servers }}
|
|
glance_num_retries = 0
|
|
glance_api_version = 2
|
|
volume_clear = {{ cinder_volume_clear }}
|
|
volume_clear_size = {{ cinder_volume_clear_size }}
|
|
volume_clear_ionice = {{ cinder_volume_clear_ionice }}
|
|
volume_name_template = {{ cinder_volume_name_template }}
|
|
|
|
storage_availability_zone = {{ cinder_storage_availability_zone }}
|
|
default_availability_zone = {{ cinder_default_availability_zone }}
|
|
|
|
target_helper = {{ cinder_target_helper }}
|
|
iscsi_iotype = {{ cinder_iscsi_iotype }}
|
|
target_ip_address = {{ cinder_storage_address }}
|
|
iscsi_num_targets = {{ cinder_iscsi_num_targets }}
|
|
target_port = {{ cinder_iscsi_port }}
|
|
|
|
client_socket_timeout = {{ cinder_client_socket_timeout }}
|
|
|
|
{% if cinder_default_volume_type is defined %}
|
|
default_volume_type = {{ cinder_default_volume_type }}
|
|
{% endif %}
|
|
|
|
{% if cinder_backends is defined %}
|
|
enabled_backends={% for backend in cinder_backends|dictsort %}{{ backend.0 }}{% if not loop.last %},{% endif %}{% endfor %}
|
|
|
|
# Ensure that user can create a new volume by cloning image-volume
|
|
allowed_direct_url_schemes = cinder
|
|
|
|
# All given backend(s)
|
|
{% for backend_section in cinder_backends|dictsort %}
|
|
[{{ backend_section.0 }}]
|
|
{% for key, value in (backend_section.1 | dictsort) if key not in ['extra_volume_types', 'shares'] %}
|
|
{{ key }}={{ value }}
|
|
{% endfor %}
|
|
|
|
{% endfor %}
|
|
{% endif %}
|
|
|
|
{% if cinder_coordination_enable %}
|
|
[coordination]
|
|
backend_url = {{ cinder_coordination_url }}
|
|
{% endif %}
|
|
|
|
[backend_defaults]
|
|
target_helper = {{ cinder_target_helper }}
|
|
|
|
[database]
|
|
connection = mysql+pymysql://{{ cinder_galera_user }}:{{ cinder_container_mysql_password }}@{{ cinder_galera_address }}:{{ cinder_galera_port }}/{{ cinder_galera_database }}?charset=utf8{% if cinder_galera_use_ssl | bool %}&ssl_verify_cert=true{% if cinder_galera_ssl_ca_cert | length > 0 %}&ssl_ca={{ cinder_galera_ssl_ca_cert }}{% endif %}{% endif +%}
|
|
max_overflow = {{ cinder_db_max_overflow }}
|
|
max_pool_size = {{ cinder_db_max_pool_size }}
|
|
pool_timeout = {{ cinder_db_pool_timeout }}
|
|
connection_recycle_time = {{ cinder_db_connection_recycle_time }}
|
|
|
|
[oslo_messaging_rabbit]
|
|
heartbeat_in_pthread = {{ cinder_oslomsg_heartbeat_in_pthread }}
|
|
rabbit_quorum_queue = {{ cinder_oslomsg_rabbit_quorum_queues }}
|
|
rabbit_transient_quorum_queue = {{ cinder_oslomsg_rabbit_transient_quorum_queues }}
|
|
rabbit_qos_prefetch_count = {{ cinder_oslomsg_rabbit_qos_prefetch_count }}
|
|
use_queue_manager = {{ cinder_oslomsg_rabbit_queue_manager }}
|
|
{% if cinder_oslomsg_rabbit_queue_manager %}
|
|
hostname = {{ [ansible_facts['hostname'], cinder_service_name] | join('-') }}
|
|
{% endif %}
|
|
rabbit_stream_fanout = {{ cinder_oslomsg_rabbit_stream_fanout }}
|
|
rabbit_quorum_delivery_limit = {{ cinder_oslomsg_rabbit_quorum_delivery_limit }}
|
|
rabbit_quorum_max_memory_bytes = {{ cinder_oslomsg_rabbit_quorum_max_memory_bytes }}
|
|
|
|
[oslo_messaging_notifications]
|
|
driver = {{ (cinder_oslomsg_notify_configure | bool) | ternary('messagingv2', 'noop') }}
|
|
transport_url = {{ cinder_oslomsg_notify_transport }}://{% for host in cinder_oslomsg_notify_servers.split(',') %}{{ cinder_oslomsg_notify_userid }}:{{ cinder_oslomsg_notify_password }}@{{ host }}:{{ cinder_oslomsg_notify_port }}{% if not loop.last %},{% else %}/{{ _cinder_oslomsg_notify_vhost_conf }}{% if cinder_oslomsg_notify_use_ssl | bool %}?ssl=1&ssl_version={{ cinder_oslomsg_notify_ssl_version }}&ssl_ca_file={{ cinder_oslomsg_notify_ssl_ca_file }}{% else %}?ssl=0{% endif %}{% endif %}{% endfor %}
|
|
|
|
[oslo_concurrency]
|
|
lock_path = {{ cinder_lock_dir }}/{{ cinder_system_slice_name }}
|
|
|
|
[profiler]
|
|
enabled = {{ cinder_profiler_enabled }}
|
|
trace_sqlalchemy = {{ cinder_profiler_trace_sqlalchemy }}
|
|
hmac_keys = {{ cinder_profiler_hmac_key }}
|
|
|
|
{% if cinder_barbican_enabled %}
|
|
[barbican]
|
|
auth_endpoint = {{ keystone_service_internaluri }}/v3
|
|
barbican_endpoint_type = internal
|
|
send_service_user_token = {{ cinder_service_token_roles_required | bool }}
|
|
|
|
[barbican_service_user]
|
|
auth_section = keystone_authtoken
|
|
|
|
[key_manager]
|
|
backend = barbican
|
|
{% endif %}
|
|
|
|
[keystone_authtoken]
|
|
insecure = {{ keystone_service_internaluri_insecure | bool }}
|
|
auth_type = {{ cinder_keystone_auth_type }}
|
|
auth_url = {{ keystone_service_adminurl }}
|
|
www_authenticate_uri = {{ keystone_service_internaluri }}
|
|
project_domain_id = {{ cinder_service_project_domain_id }}
|
|
user_domain_id = {{ cinder_service_user_domain_id }}
|
|
project_name = {{ cinder_service_project_name }}
|
|
username = {{ cinder_service_user_name }}
|
|
password = {{ cinder_service_password }}
|
|
region_name = {{ keystone_service_region }}
|
|
|
|
memcached_servers = {{ cinder_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_token_roles_required = {{ cinder_service_token_roles_required | bool }}
|
|
service_token_roles = {{ cinder_service_token_roles | join(',') }}
|
|
service_type = {{ cinder_service_v3_type }}
|
|
|
|
[nova]
|
|
interface = internal
|
|
insecure = {{ keystone_service_internaluri_insecure | bool }}
|
|
auth_type = {{ cinder_keystone_auth_type }}
|
|
auth_url = {{ keystone_service_internalurl }}
|
|
password = {{ cinder_service_password }}
|
|
project_domain_id = {{ cinder_service_project_domain_id }}
|
|
project_name = {{ cinder_service_project_name }}
|
|
region_name = {{ keystone_service_region }}
|
|
user_domain_id = {{ cinder_service_user_domain_id }}
|
|
username = {{ cinder_service_user_name }}
|
|
|
|
[service_user]
|
|
send_service_user_token = {{ cinder_service_token_roles_required | bool }}
|
|
insecure = {{ keystone_service_internaluri_insecure | bool }}
|
|
auth_type = {{ cinder_keystone_auth_type }}
|
|
auth_url = {{ keystone_service_internalurl }}
|
|
password = {{ cinder_service_password }}
|
|
project_domain_id = {{ cinder_service_project_domain_id }}
|
|
project_name = {{ cinder_service_project_name }}
|
|
region_name = {{ keystone_service_region }}
|
|
user_domain_id = {{ cinder_service_user_domain_id }}
|
|
username = {{ cinder_service_user_name }}
|