[DEFAULT]
{% if manila_enabled_backends %}
enabled_share_backends = {{ manila_enabled_backends|map(attribute='name')|join(',') }}
{% endif %}

default_share_type = default_share_type

[glance]
auth_url = {{ keystone_internal_url }}
auth_type = password
project_domain_id = {{ default_project_domain_id }}
user_domain_id = {{ default_user_domain_id }}
region_name = {{ openstack_region_name }}
endpoint_type = internalURL
project_name = service
username = {{ glance_keystone_user }}
password = {{ glance_keystone_password }}
cafile = {{ openstack_cacert }}

[cinder]
auth_uri = {{ keystone_internal_url }}
auth_url = {{ keystone_internal_url }}
auth_type = password
project_domain_id = {{ default_project_domain_id }}
user_domain_id = {{ default_user_domain_id }}
region_name = {{ openstack_region_name }}
endpoint_type = internalURL
project_name = service
username = {{ cinder_keystone_user }}
password = {{ cinder_keystone_password }}
cafile = {{ openstack_cacert }}

memcache_security_strategy = {{ memcache_security_strategy }}
memcache_secret_key = {{ memcache_secret_key }}
memcached_servers = {% for host in groups['memcached'] %}{{ 'api' | kolla_address(host) | put_address_in_context('memcache') }}:{{ memcached_port }}{% if not loop.last %},{% endif %}{% endfor %}

[nova]
auth_uri = {{ keystone_internal_url }}
auth_url = {{ keystone_internal_url }}
auth_type = password
project_domain_id = {{ default_project_domain_id }}
user_domain_id = {{ default_user_domain_id }}
region_name = {{ openstack_region_name }}
endpoint_type = internalURL
project_name = service
username = {{ nova_keystone_user }}
password = {{ nova_keystone_password }}
cafile = {{ openstack_cacert }}

memcache_security_strategy = {{ memcache_security_strategy }}
memcache_secret_key = {{ memcache_secret_key }}
memcached_servers = {% for host in groups['memcached'] %}{{ 'api' | kolla_address(host) | put_address_in_context('memcache') }}:{{ memcached_port }}{% if not loop.last %},{% endif %}{% endfor %}

[neutron]
auth_uri = {{ keystone_internal_url }}
url = {{ neutron_internal_endpoint }}
auth_url = {{ keystone_internal_url }}
auth_type = password
project_domain_id = {{ default_project_domain_id }}
user_domain_id = {{ default_user_domain_id }}
region_name = {{ openstack_region_name }}
endpoint_type = internalURL
project_name = service
username = {{ neutron_keystone_user }}
password = {{ neutron_keystone_password }}
cafile = {{ openstack_cacert }}

memcache_security_strategy = {{ memcache_security_strategy }}
memcache_secret_key = {{ memcache_secret_key }}
memcached_servers = {% for host in groups['memcached'] %}{{ 'api' | kolla_address(host) | put_address_in_context('memcache') }}:{{ memcached_port }}{% if not loop.last %},{% endif %}{% endfor %}

{% if enable_manila_backend_generic | bool %}
[generic]
share_driver = manila.share.drivers.generic.GenericShareDriver
{% if neutron_plugin_agent == "openvswitch" %}
interface_driver = manila.network.linux.interface.OVSInterfaceDriver
{% endif %}

driver_handles_share_servers = true

service_instance_password = {{ manila_service_instance_password }}
service_instance_user = {{ manila_service_instance_user }}
service_image_name = manila-service-image

share_backend_name = GENERIC
{% endif %}

{% if manila_policy_file is defined %}
[oslo_policy]
policy_file = {{ manila_policy_file }}
{% endif %}

{% if enable_manila_backend_flashblade | bool %}
[fb1]
share_backend_name = FB1
share_driver = manila.share.drivers.purestorage.flashblade.FlashBladeShareDriver
driver_handles_share_servers = False
flashblade_mgmt_vip = {{ manila_flashblade_mgmt_vip }}
flashblade_data_vip = {{ manila_flashblade_data_vip }}
flashblade_api = {{ manila_flashblade_api }}
{% endif %}

{% if enable_manila_backend_hnas | bool %}
[hnas1]
share_backend_name = HNAS1
share_driver = manila.share.drivers.hitachi.hnas.driver.HitachiHNASDriver
driver_handles_share_servers = false
hitachi_hnas_ip = {{ hnas_ip }}
hitachi_hnas_user = {{ hnas_user }}
hitachi_hnas_password = {{ hnas_password }}
hitachi_hnas_evs_id = {{ hnas_evs_id }}
hitachi_hnas_evs_ip = {{ hnas_evs_ip }}
hitachi_hnas_file_system_name = {{ hnas_file_system_name }}
{% endif %}

{% if enable_manila_backend_cephfs_native | bool %}
{% for backend in manila_ceph_backends %}
{% if backend.driver == 'cephfsnative' %}
[{{ backend.name }}]
driver_handles_share_servers = false
share_backend_name = {{ backend.share_name }}
share_driver = manila.share.drivers.cephfs.driver.CephFSDriver
cephfs_conf_path = /etc/ceph/{{ backend.cluster }}.conf
cephfs_auth_id = {{ ceph_manila_user }}
cephfs_cluster_name = {{ backend.cluster }}
{% if manila_cephfs_filesystem_name | length %}
cephfs_filesystem_name = {{ manila_cephfs_filesystem_name }}
{% endif %}
{% endif %}
{% endfor %}
{% endif %}

{% if enable_manila_backend_cephfs_nfs | bool %}
{% for backend in manila_ceph_backends %}
{% if backend.driver == 'cephfsnfs' %}
[{{ backend.name }}]
driver_handles_share_servers = false
share_backend_name = {{ backend.share_name }}
share_driver = manila.share.drivers.cephfs.driver.CephFSDriver
cephfs_protocol_helper_type = NFS
cephfs_conf_path = /etc/ceph/{{ backend.cluster }}.conf
cephfs_auth_id = {{ ceph_manila_user }}
cephfs_cluster_name = {{ backend.cluster }}
{% if manila_cephfs_filesystem_name | length %}
cephfs_filesystem_name = {{ manila_cephfs_filesystem_name }}
{% endif %}
cephfs_ganesha_server_is_remote= false
cephfs_ganesha_server_ip = {{ api_interface_address }}
{% endif %}
{% endfor %}
{% endif %}

{% if enable_manila_backend_glusterfs_nfs | bool %}
[glusterfsnfs1]
driver_handles_share_servers = false
share_backend_name = GLUSTERFSNFS1
share_driver = manila.share.drivers.glusterfs.GlusterfsShareDriver
glusterfs_share_layout = {{ manila_glusterfs_share_layout }}
glusterfs_nfs_server_type = {{ manila_glusterfs_nfs_server_type }}
{% if manila_glusterfs_servers is defined  %}
glusterfs_servers = {% for ip in manila_glusterfs_servers %}{% if manila_glusterfs_ssh_user is defined %}{{ manila_glusterfs_ssh_user }}@{% endif %}{{ ip }}{% if not loop.last %},{% endif %}{% endfor %}

{% endif %}
{% if manila_glusterfs_volume_pattern is defined %}glusterfs_volume_pattern = {{ manila_glusterfs_volume_pattern }}{% endif %}

{% if manila_glusterfs_target is defined %}glusterfs_target = {{ manila_glusterfs_target }}{% endif %}

{% if manila_glusterfs_mount_point_base is defined %}glusterfs_mount_point_base = {{ manila_glusterfs_mount_point_base }}{% endif %}

{% if manila_glusterfs_ssh_password is defined %}glusterfs_server_password = {{ manila_glusterfs_ssh_password }}{% endif %}
{% endif %}

[oslo_concurrency]
lock_path = /var/lib/manila/tmp
