diff --git a/manila/files/queens/_backend_general.conf b/manila/files/queens/_backend_general.conf
new file mode 100644
index 0000000..9554749
--- /dev/null
+++ b/manila/files/queens/_backend_general.conf
@@ -0,0 +1,23 @@
+{%- if backend.dhss is defined %}
+driver_handles_share_servers = {{ backend.dhss }}
+{%- endif %}
+
+{%- if backend.share_backend_name is defined %}
+share_backend_name = {{ backend.share_backend_name }}
+{%- endif %}
+
+{%- if backend.share_driver is defined %}
+share_driver = {{ backend.share_driver }}
+{%- endif %}
+
+{%- if backend.service_instance_password is defined %}
+service_instance_password = {{ backend.service_instance_password }}
+{%- endif %}
+
+{%- if backend.service_instance_user is defined %}
+service_instance_user = {{ backend.service_instance_user }}
+{%- endif %}
+
+{%- if backend.service_image_name is defined %}
+service_image_name = {{ backend.service_image_name }}
+{%- endif %}
diff --git a/manila/files/queens/_backend_glusterfs.conf b/manila/files/queens/_backend_glusterfs.conf
new file mode 100644
index 0000000..a584d3d
--- /dev/null
+++ b/manila/files/queens/_backend_glusterfs.conf
@@ -0,0 +1,33 @@
+{%- if backend.glusterfs_server_password is defined %}
+glusterfs_server_password = {{ backend.glusterfs_server_password }}
+{%- endif %}
+{%- if backend.glusterfs_path_to_private_key is defined %}
+glusterfs_path_to_private_key = {{ backend.glusterfs_path_to_private_key }}
+{%- endif %}
+{%- if backend.glusterfs_nfs_server_type is defined %}
+glusterfs_nfs_server_type = {{ backend.glusterfs_nfs_server_type }}
+{%- endif %}
+{%- if backend.glusterfs_ganesha_server_ip is defined %}
+glusterfs_ganesha_server_ip = {{ backend.glusterfs_ganesha_server_ip }}
+{%- endif %}
+{%- if backend.glusterfs_ganesha_server_username is defined %}
+glusterfs_ganesha_server_username = {{ backend.glusterfs_ganesha_server_username }}
+{%- endif %}
+{%- if backend.glusterfs_ganesha_server_password is defined %}
+glusterfs_ganesha_server_password = {{ backend.glusterfs_ganesha_server_password }}
+{%- endif %}
+{%- if backend.glusterfs_share_layout is defined %}
+glusterfs_share_layout = {{ backend.glusterfs_share_layout }}
+{%- endif %}
+{%- if backend.glusterfs_target is defined %}
+glusterfs_target = {{ backend.glusterfs_target }}
+{%- endif %}
+{%- if backend.glusterfs_mount_point_base is defined %}
+glusterfs_mount_point_base = {{ backend.glusterfs_mount_point_base }}
+{%- endif %}
+{%- if backend.glusterfs_servers is defined %}
+glusterfs_servers = {{ ','.join(backend.glusterfs_servers) }}
+{%- endif %}
+{%- if backend.glusterfs_volume_pattern is defined %}
+glusterfs_volume_pattern = {{ backend.glusterfs_volume_pattern }}
+{%- endif %}
diff --git a/manila/files/queens/_backend_lvm.conf b/manila/files/queens/_backend_lvm.conf
new file mode 100644
index 0000000..ab31b62
--- /dev/null
+++ b/manila/files/queens/_backend_lvm.conf
@@ -0,0 +1,15 @@
+{%- if backend.lvm_share_export_root is defined %}
+lvm_share_export_root = {{ backend.lvm_share_export_root }}
+{%- endif %}
+{%- if backend.lvm_share_export_ips is defined %}
+lvm_share_export_ips = {{ ','.join(backend.lvm_share_export_ips) }}
+{%- endif %}
+{%- if backend.lvm_share_mirrors is defined %}
+lvm_share_mirrors = {{ backend.lvm_share_mirrors }}
+{%- endif %}
+{%- if backend.lvm_share_volume_group is defined %}
+lvm_share_volume_group = {{ backend.lvm_share_volume_group }}
+{%- endif %}
+{%- if backend.lvm_share_helpers is defined %}
+lvm_share_helpers = {{ backend.lvm_share_helpers }}
+{%- endif %}
diff --git a/manila/files/queens/_backend_nexenta.conf b/manila/files/queens/_backend_nexenta.conf
new file mode 100644
index 0000000..02926ac
--- /dev/null
+++ b/manila/files/queens/_backend_nexenta.conf
@@ -0,0 +1,42 @@
+{%- if backend.nexenta_host is defined %}
+nexenta_host = {{ backend.nexenta_host }}
+{%- endif %}
+{%- if backend.nexenta_rest_port is defined %}
+nexenta_rest_port = {{ backend.nexenta_rest_port }}
+{%- endif %}
+{%- if backend.nexenta_retry_count is defined %}
+nexenta_retry_count = {{ backend.nexenta_retry_count }}
+{%- endif %}
+{%- if backend.nexenta_rest_protocol is defined %}
+nexenta_rest_protocol = {{ backend.nexenta_rest_protocol }}
+{%- endif %}
+{%- if backend.nexenta_user is defined %}
+nexenta_user = {{ backend.nexenta_user }}
+{%- endif %}
+{%- if backend.nexenta_password is defined %}
+nexenta_password = {{ backend.nexenta_password }}
+{%- endif %}
+{%- if backend.nexenta_volume is defined %}
+nexenta_volume = {{ backend.nexenta_volume }}
+{%- endif %}
+{%- if backend.nexenta_pool is defined %}
+nexenta_pool = {{ backend.nexenta_pool }}
+{%- endif %}
+{%- if backend.nexenta_nfs is defined %}
+nexenta_nfs = {{ backend.nexenta_nfs }}
+{%- endif %}
+{%- if backend.nexenta_nfs_share is defined %}
+nexenta_nfs_share = {{ backend.nexenta_nfs_share }}
+{%- endif %}
+{%- if backend.nexenta_dataset_compression is defined %}
+nexenta_dataset_compression = {{ backend.nexenta_dataset_compression }}
+{%- endif %}
+{%- if backend.nexenta_dataset_dedupe is defined %}
+nexenta_dataset_dedupe = {{ backend.nexenta_dataset_dedupe }}
+{%- endif %}
+{%- if backend.nexenta_thin_provisioning is defined %}
+nexenta_thin_provisioning = {{ backend.nexenta_thin_provisioning }}
+{%- endif %}
+{%- if backend.nexenta_mount_point_base is defined %}
+nexenta_mount_point_base = {{ backend.nexenta_mount_point_base }}
+{%- endif %}
diff --git a/manila/files/queens/api-paste.ini b/manila/files/queens/api-paste.ini
new file mode 100644
index 0000000..42395c1
--- /dev/null
+++ b/manila/files/queens/api-paste.ini
@@ -0,0 +1,59 @@
+#############
+# OpenStack #
+#############
+
+[composite:osapi_share]
+use = call:manila.api:root_app_factory
+/: apiversions
+/v1: openstack_share_api
+/v2: openstack_share_api_v2
+
+[composite:openstack_share_api]
+use = call:manila.api.middleware.auth:pipeline_factory
+noauth = cors faultwrap http_proxy_to_wsgi sizelimit noauth api
+keystone = cors faultwrap http_proxy_to_wsgi sizelimit authtoken keystonecontext api
+keystone_nolimit = cors faultwrap http_proxy_to_wsgi sizelimit authtoken keystonecontext api
+
+[composite:openstack_share_api_v2]
+use = call:manila.api.middleware.auth:pipeline_factory
+noauth = cors faultwrap http_proxy_to_wsgi sizelimit noauth apiv2
+keystone = cors faultwrap http_proxy_to_wsgi sizelimit authtoken keystonecontext apiv2
+keystone_nolimit = cors faultwrap http_proxy_to_wsgi sizelimit authtoken keystonecontext apiv2
+
+[filter:faultwrap]
+paste.filter_factory = manila.api.middleware.fault:FaultWrapper.factory
+
+[filter:noauth]
+paste.filter_factory = manila.api.middleware.auth:NoAuthMiddleware.factory
+
+[filter:sizelimit]
+paste.filter_factory = oslo_middleware.sizelimit:RequestBodySizeLimiter.factory
+
+[filter:http_proxy_to_wsgi]
+paste.filter_factory = oslo_middleware.http_proxy_to_wsgi:HTTPProxyToWSGI.factory
+
+[app:api]
+paste.app_factory = manila.api.v1.router:APIRouter.factory
+
+[app:apiv2]
+paste.app_factory = manila.api.v2.router:APIRouter.factory
+
+[pipeline:apiversions]
+pipeline = cors faultwrap http_proxy_to_wsgi osshareversionapp
+
+[app:osshareversionapp]
+paste.app_factory = manila.api.versions:VersionsRouter.factory
+
+##########
+# Shared #
+##########
+
+[filter:keystonecontext]
+paste.filter_factory = manila.api.middleware.auth:ManilaKeystoneContext.factory
+
+[filter:authtoken]
+paste.filter_factory = keystonemiddleware.auth_token:filter_factory
+
+[filter:cors]
+paste.filter_factory = oslo_middleware.cors:filter_factory
+oslo_config_project = manila
diff --git a/manila/files/queens/manila.conf b/manila/files/queens/manila.conf
new file mode 100644
index 0000000..5dd3417
--- /dev/null
+++ b/manila/files/queens/manila.conf
@@ -0,0 +1,1738 @@
+{%- from "manila/map.jinja" import cfg,scheduler,share,data with context -%}
+[DEFAULT]
+
+#
+# From manila
+#
+
+# The maximum number of items returned in a single response from a
+# collection resource. (integer value)
+#osapi_max_limit = 1000
+{%- if cfg.osapi_max_limit is defined %}
+osapi_max_limit = {{ cfg.osapi_max_limit }}
+{%- endif %}
+
+# Base URL to be presented to users in links to the Share API (string
+# value)
+#osapi_share_base_URL = <None>
+{%- if cfg.osapi_share_base_url is defined %}
+osapi_share_base_URL = {{ cfg.osapi_share_base_url }}
+{%- endif %}
+
+# Treat X-Forwarded-For as the canonical remote address. Only enable
+# this if you have a sanitizing proxy. (boolean value)
+#use_forwarded_for = false
+{%- if cfg.use_forwarded_for is defined %}
+use_forwarded_for = {{ cfg.use_forwarded_for }}
+{%- endif %}
+
+# Top-level directory for maintaining manila's state. (string value)
+#state_path = /var/lib/manila
+
+# IP address of this host. (unknown value)
+#my_ip = <your_ip>
+
+# The topic scheduler nodes listen on. (string value)
+#scheduler_topic = manila-scheduler
+
+# The topic share nodes listen on. (string value)
+#share_topic = manila-share
+
+# The topic data nodes listen on. (string value)
+#data_topic = manila-data
+
+# Whether to rate limit the API. (boolean value)
+#api_rate_limit = true
+
+# Specify list of extensions to load when using osapi_share_extension
+# option with manila.api.contrib.select_extensions. (list value)
+#osapi_share_ext_list =
+
+# The osapi share extensions to load. (list value)
+#osapi_share_extension = manila.api.contrib.standard_extensions
+
+# The filename to use with sqlite. (string value)
+#sqlite_db = manila.sqlite
+
+# If passed, use synchronous mode for sqlite. (boolean value)
+#sqlite_synchronous = true
+
+# Timeout before idle SQL connections are reaped. (integer value)
+#sql_idle_timeout = 3600
+
+# Maximum database connection retries during startup. (setting -1
+# implies an infinite retry count). (integer value)
+#sql_max_retries = 10
+
+# Interval between retries of opening a SQL connection. (integer
+# value)
+#sql_retry_interval = 10
+
+# Full class name for the scheduler manager. (string value)
+#scheduler_manager = manila.scheduler.manager.SchedulerManager
+{%- if scheduler.manager is defined %}
+scheduler_manager = {{ scheduler.manager }}
+{%- endif %}
+
+# Full class name for the share manager. (string value)
+#share_manager = manila.share.manager.ShareManager
+{%- if share.manager is defined %}
+share_manager = {{ share.manager }}
+{%- endif %}
+
+# Full class name for the data manager. (string value)
+#data_manager = manila.data.manager.DataManager
+{%- if data.manager is defined %}
+data_manager = {{ data.manager }}
+{%- endif %}
+
+# Name of this node.  This can be an opaque identifier. It is not
+# necessarily a hostname, FQDN, or IP address. (unknown value)
+#host = <your_hostname>
+
+# Availability zone of this node. (string value)
+#storage_availability_zone = nova
+{%- if cfg.storage_availability_zone is defined %}
+storage_availability_zone = {{ cfg.storage_availability_zone }}
+{%- endif %}
+
+
+# Default share type to use. (string value)
+#default_share_type = <None>
+{%- if cfg.default_share_type is defined %}
+default_share_type = {{ cfg.default_share_type }}
+{%- endif %}
+
+# Default share group type to use. (string value)
+#default_share_group_type = <None>
+{%- if cfg.default_share_group_type is defined %}
+default_share_group_type = {{ cfg.default_share_group_type }}
+{%- endif %}
+
+# Memcached servers or None for in process cache. (list value)
+#memcached_servers = <None>
+{%- if cfg.memcached_servers is defined %}
+memcached_servers = {{ cfg.memcached_servers }}
+{%- endif %}
+
+# Time period to generate share usages for.  Time period must be hour,
+# day, month or year. (string value)
+#share_usage_audit_period = month
+
+# Deprecated: command to use for running commands as root. (string
+# value)
+#root_helper = sudo
+
+# Path to the rootwrap configuration file to use for running commands
+# as root. (string value)
+#rootwrap_config = <None>
+rootwrap_config = {{ cfg.get('rootwrap_config', '/etc/manila/rootwrap.conf') }}
+
+# Whether to log monkey patching. (boolean value)
+#monkey_patch = false
+
+# List of modules or decorators to monkey patch. (list value)
+#monkey_patch_modules =
+
+# Maximum time since last check-in for up service. (integer value)
+#service_down_time = 60
+
+# The full class name of the share API class to use. (string value)
+#share_api_class = manila.share.api.API
+
+# The strategy to use for auth. Supports noauth, keystone, and
+# deprecated. (string value)
+#auth_strategy = keystone
+{%- if cfg.get('identity', {}).get('engine') is defined %}
+auth_strategy = {{ cfg.identity.engine }}
+{%- endif %}
+
+# A list of share backend names to use. These backend names should be
+# backed by a unique [CONFIG] group with its options. (list value)
+#enabled_share_backends = <None>
+{%- if cfg.enabled_share_backends is defined %}
+{%- set enabled_share_backends = [] %}
+{%- for name, backend in cfg.enabled_share_backends.iteritems() %}
+{%- if backend.get('enabled', False ) %}
+{%- do enabled_share_backends.append(backend.name) %}
+{%- endif %}
+{%- endfor %}
+enabled_share_backends = {{ ','.join(enabled_share_backends) }}
+{%- endif %}
+
+# Specify list of protocols to be allowed for share creation.
+# Available values are '('NFS', 'CIFS', 'GLUSTERFS', 'HDFS', 'CEPHFS',
+# 'MAPRFS')' (list value)
+#enabled_share_protocols = NFS,CIFS
+{%- if cfg.enabled_share_protocols is defined %}
+enabled_share_protocols = {{ cfg.enabled_share_protocols }}
+{%- endif %}
+
+# The full class name of the Compute API class to use. (string value)
+#compute_api_class = manila.compute.nova.API
+
+# The back end URL to use for distributed coordination. (string value)
+#backend_url = file://$state_path
+
+# Time to wait for access rules to be allowed/denied on backends when
+# migrating a share (seconds). (integer value)
+#data_access_wait_access_rules_timeout = 180
+
+# A list of the IPs of the node interface connected to the admin
+# network. Used for allowing access to the mounting shares. Default is
+# []. (list value)
+#data_node_access_ips =
+
+# DEPRECATED: The IP of the node interface connected to the admin
+# network. Used for allowing access to the mounting shares. (string
+# value)
+# This option is deprecated for removal.
+# Its value may be silently ignored in the future.
+# Reason: New config option 'data_node_access_ips' added to support
+# multiple IPs, including IPv6 addresses alongside IPv4.
+#data_node_access_ip = <None>
+
+# The certificate installed in the data node in order to allow access
+# to certificate authentication-based shares. (string value)
+#data_node_access_cert = <None>
+
+# The admin user name registered in the security service in order to
+# allow access to user authentication-based shares. (string value)
+#data_node_access_admin_user = <None>
+
+# Mount options to be included in the mount command for share
+# protocols. Use dictionary format, example: {'nfs': '-o nfsvers=3',
+# 'cifs': '-o user=foo,pass=bar'} (dict value)
+#data_node_mount_options =
+
+# The backend to use for database. (string value)
+#db_backend = sqlalchemy
+
+# Services to be added to the available pool on create. (boolean
+# value)
+#enable_new_services = true
+
+# Template string to be used to generate share names. (string value)
+#share_name_template = share-%s
+
+# Template string to be used to generate share snapshot names. (string
+# value)
+#share_snapshot_name_template = share-snapshot-%s
+
+# Driver to use for database access. (string value)
+#db_driver = manila.db
+
+# Whether to make exception message format errors fatal. (boolean
+# value)
+#fatal_exception_format_errors = false
+
+# Message minimum life in seconds. (integer value)
+#message_ttl = 2592000
+
+# Interval between periodic task runs to clean expired messages in
+# seconds. (integer value)
+#message_reap_interval = 86400
+
+# Name of Open vSwitch bridge to use. (string value)
+#ovs_integration_bridge = br-int
+
+# The full class name of the Networking API class to use. (string
+# value)
+#network_api_class = manila.network.neutron.neutron_network_plugin.NeutronNetworkPlugin
+
+# Whether to support IPv4 network resource, Default=True. (boolean
+# value)
+#network_plugin_ipv4_enabled = true
+
+# Whether to support IPv6 network resource, Default=False. If this
+# option is True, the value of 'network_plugin_ipv4_enabled' will be
+# ignored. (boolean value)
+#network_plugin_ipv6_enabled = false
+
+# The name of the physical network to determine which net segment is
+# used. This opt is optional and will only be used for networks
+# configured with multiple segments. (string value)
+#neutron_physical_net_name = <None>
+
+# Default Neutron network that will be used for share server creation.
+# This opt is used only with class 'NeutronSingleNetworkPlugin'.
+# (string value)
+#neutron_net_id = <None>
+
+# Default Neutron subnet that will be used for share server creation.
+# Should be assigned to network defined in opt 'neutron_net_id'. This
+# opt is used only with class 'NeutronSingleNetworkPlugin'. (string
+# value)
+#neutron_subnet_id = <None>
+
+# vNIC type used for binding. (string value)
+# Possible values:
+# baremetal - <No description provided>
+# normal - <No description provided>
+# direct - <No description provided>
+# direct-physical - <No description provided>
+# macvtap - <No description provided>
+#neutron_vnic_type = baremetal
+
+# Host ID to be used when creating neutron port. If not set host is
+# set to manila-share host by default. (string value)
+#neutron_host_id = vsaienko-pc
+
+# A list of binding profiles to be used during port binding. This
+# option can be used with the NeutronBindNetworkPlugin. The value for
+# this option has to be a comma separated list of names that
+# correspond to each binding profile. Each binding profile needs to be
+# specified as an individual configuration section using the binding
+# profile name as the section name. (list value)
+#neutron_binding_profiles = <None>
+
+# Switch ID for binding profile. (string value)
+#neutron_switch_id = <None>
+
+# Port ID on the given switch. (string value)
+#neutron_port_id = <None>
+
+# Switch label. For example: 'switch_ip: 10.4.30.5'. Multiple key-
+# value pairs separated by commas are accepted. (dict value)
+#neutron_switch_info = <None>
+
+# Gateway address that should be used. Required. (string value)
+#standalone_network_plugin_gateway = <None>
+
+# Network mask that will be used. Can be either decimal like '24' or
+# binary like '255.255.255.0'. Required. (string value)
+#standalone_network_plugin_mask = <None>
+
+# Network type, such as 'flat', 'vlan', 'vxlan' or 'gre'. Empty value
+# is alias for 'flat'. It will be assigned to share-network and share
+# drivers will be able to use this for network interfaces within
+# provisioned share servers. Optional. (string value)
+# Possible values:
+# flat - <No description provided>
+# vlan - <No description provided>
+# vxlan - <No description provided>
+# gre - <No description provided>
+#standalone_network_plugin_network_type = <None>
+
+# Set it if network has segmentation (VLAN, VXLAN, etc...). It will be
+# assigned to share-network and share drivers will be able to use this
+# for network interfaces within provisioned share servers. Optional.
+# Example: 1001 (integer value)
+#standalone_network_plugin_segmentation_id = <None>
+
+# Can be IP address, range of IP addresses or list of addresses or
+# ranges. Contains addresses from IP network that are allowed to be
+# used. If empty, then will be assumed that all host addresses from
+# network can be used. Optional. Examples: 10.0.0.10 or
+# 10.0.0.10-10.0.0.20 or
+# 10.0.0.10-10.0.0.20,10.0.0.30-10.0.0.40,10.0.0.50 (list value)
+#standalone_network_plugin_allowed_ip_ranges = <None>
+
+# DEPRECATED: IP version of network. Optional.Allowed values are '4'
+# and '6'. Default value is '4'. Note: This option is no longer used
+# and has no effect (integer value)
+# This option is deprecated for removal.
+# Its value may be silently ignored in the future.
+# Reason: This option has been replaced by
+# 'network_plugin_ipv4_enabled' and 'network_plugin_ipv6_enabled'
+# options.
+#standalone_network_plugin_ip_version = 4
+
+# Maximum Transmission Unit (MTU) value of the network. Default value
+# is 1500. (integer value)
+#standalone_network_plugin_mtu = 1500
+
+# Number of shares allowed per project. (integer value)
+#quota_shares = 50
+
+# Number of share snapshots allowed per project. (integer value)
+#quota_snapshots = 50
+
+# Number of share gigabytes allowed per project. (integer value)
+#quota_gigabytes = 1000
+
+# Number of snapshot gigabytes allowed per project. (integer value)
+#quota_snapshot_gigabytes = 1000
+
+# Number of share-networks allowed per project. (integer value)
+#quota_share_networks = 10
+
+# Number of share groups allowed. (integer value)
+#quota_share_groups = 50
+
+# Number of share group snapshots allowed. (integer value)
+#quota_share_group_snapshots = 50
+
+# Number of seconds until a reservation expires. (integer value)
+#reservation_expire = 86400
+
+# Count of reservations until usage is refreshed. (integer value)
+#until_refresh = 0
+
+# Number of seconds between subsequent usage refreshes. (integer
+# value)
+#max_age = 0
+
+# Default driver to use for quota checks. (string value)
+#quota_driver = manila.quota.DbQuotaDriver
+
+# The scheduler host manager class to use. (string value)
+#scheduler_host_manager = manila.scheduler.host_manager.HostManager
+
+# Maximum number of attempts to schedule a share. (integer value)
+#scheduler_max_attempts = 3
+
+# Which filter class names to use for filtering hosts when not
+# specified in the request. (list value)
+#scheduler_default_filters = AvailabilityZoneFilter,CapacityFilter,CapabilitiesFilter,DriverFilter,ShareReplicationFilter
+
+# Which weigher class names to use for weighing hosts. (list value)
+#scheduler_default_weighers = CapacityWeigher,GoodnessWeigher
+
+# Which filter class names to use for filtering hosts creating share
+# group when not specified in the request. (list value)
+#scheduler_default_share_group_filters = AvailabilityZoneFilter,ConsistentSnapshotFilter
+
+# Default scheduler driver to use. (string value)
+#scheduler_driver = manila.scheduler.drivers.filter.FilterScheduler
+
+# Absolute path to scheduler configuration JSON file. (string value)
+#scheduler_json_config_location =
+
+# Maximum number of volume gigabytes to allow per host. (integer
+# value)
+#max_gigabytes = 10000
+
+# Multiplier used for weighing share capacity. Negative numbers mean
+# to stack vs spread. (floating point value)
+#capacity_weight_multiplier = 1.0
+
+# Multiplier used for weighing pools which have existing share
+# servers. Negative numbers mean to spread vs stack. (floating point
+# value)
+#pool_weight_multiplier = 1.0
+
+# Seconds between nodes reporting state to datastore. (integer value)
+#report_interval = 10
+
+# Seconds between running periodic tasks. (integer value)
+#periodic_interval = 60
+
+# Range of seconds to randomly delay when starting the periodic task
+# scheduler to reduce stampeding. (Disable by setting to 0) (integer
+# value)
+#periodic_fuzzy_delay = 60
+
+# IP address for OpenStack Share API to listen on. (unknown value)
+#osapi_share_listen = ::
+
+# Port for OpenStack Share API to listen on. (port value)
+# Minimum value: 0
+# Maximum value: 65535
+#osapi_share_listen_port = 8786
+
+# Number of workers for OpenStack Share API service. (integer value)
+#osapi_share_workers = 1
+
+# Wraps the socket in a SSL context if True is set. A certificate file
+# and key file must be specified. (boolean value)
+#osapi_share_use_ssl = false
+
+# If set to False, then share creation from snapshot will be performed
+# on the same host. If set to True, then scheduling step will be used.
+# (boolean value)
+#use_scheduler_creating_share_from_snapshot = false
+
+# Directory where Ganesha config files are stored. (string value)
+#ganesha_config_dir = /etc/ganesha
+
+# Path to main Ganesha config file. (string value)
+#ganesha_config_path = $ganesha_config_dir/ganesha.conf
+
+# Name of the ganesha nfs service. (string value)
+#ganesha_service_name = ganesha.nfsd
+
+# Location of Ganesha database file. (Ganesha module only.) (string
+# value)
+#ganesha_db_path = $state_path/manila-ganesha.db
+
+# Path to directory containing Ganesha export configuration. (Ganesha
+# module only.) (string value)
+#ganesha_export_dir = $ganesha_config_dir/export.d
+
+# Path to directory containing Ganesha export block templates.
+# (Ganesha module only.) (string value)
+#ganesha_export_template_dir = /etc/manila/ganesha-export-templ.d
+
+# Persist Ganesha exports and export counter in Ceph RADOS objects,
+# highly available storage. (boolean value)
+#ganesha_rados_store_enable = false
+
+# Name of the Ceph RADOS pool to store Ganesha exports and export
+# counter. (string value)
+#ganesha_rados_store_pool_name = <None>
+
+# Name of the Ceph RADOS object used as the Ganesha export counter.
+# (string value)
+#ganesha_rados_export_counter = ganesha-export-counter
+
+# Name of the Ceph RADOS object used to store a list of the export
+# RADOS object URLS. (string value)
+#ganesha_rados_export_index = ganesha-export-index
+
+# Number of times to attempt to run flakey shell commands. (integer
+# value)
+#num_shell_tries = 3
+
+# The percentage of backend capacity reserved. (integer value)
+#reserved_share_percentage = 0
+
+# The backend name for a given driver implementation. (string value)
+#share_backend_name = <None>
+
+# Name of the configuration group in the Manila conf file to look for
+# network config options.If not set, the share backend's config group
+# will be used.If an option is not found within provided group,
+# then'DEFAULT' group will be used for search of option. (string
+# value)
+#network_config_group = <None>
+
+# There are two possible approaches for share drivers in Manila. First
+# is when share driver is able to handle share-servers and second when
+# not. Drivers can support either both or only one of these
+# approaches. So, set this opt to True if share driver is able to
+# handle share servers and it is desired mode else set False. It is
+# set to None by default to make this choice intentional. (boolean
+# value)
+#driver_handles_share_servers = <None>
+{%- if cfg.dhss is defined %}
+driver_handles_share_servers = {{ cfg.dhss }}
+{%- endif %}
+
+# Float representation of the over subscription ratio when thin
+# provisioning is involved. Default ratio is 20.0, meaning provisioned
+# capacity can be 20 times the total physical capacity. If the ratio
+# is 10.5, it means provisioned capacity can be 10.5 times the total
+# physical capacity. A ratio of 1.0 means provisioned capacity cannot
+# exceed the total physical capacity. A ratio lower than 1.0 is
+# invalid. (floating point value)
+#max_over_subscription_ratio = 20.0
+
+# List of files and folders to be ignored when migrating shares. Items
+# should be names (not including any path). (list value)
+#migration_ignore_files = lost+found
+
+# The template for mounting shares for this backend. Must specify the
+# executable with all necessary parameters for the protocol supported.
+# 'proto' template element may not be required if included in the
+# command. 'export' and 'path' template elements are required. It is
+# advisable to separate different commands per backend. (string value)
+#share_mount_template = mount -vt %(proto)s %(options)s %(export)s %(path)s
+
+# The template for unmounting shares for this backend. Must specify
+# the executable with all necessary parameters for the protocol
+# supported. 'path' template element is required. It is advisable to
+# separate different commands per backend. (string value)
+#share_unmount_template = umount -v %(path)s
+
+# Protocol access mapping for this backend. Should be a dictionary
+# comprised of {'access_type1': ['share_proto1', 'share_proto2'],
+# 'access_type2': ['share_proto2', 'share_proto3']}. (dict value)
+#protocol_access_mapping = ip:['nfs'],user:['cifs']
+
+# DEPRECATED: Specify whether read only access rule mode is supported
+# in this backend. Obsolete. (boolean value)
+# Deprecated group/name - [DEFAULT]/migration_readonly_support
+# This option is deprecated for removal.
+# Its value may be silently ignored in the future.
+# Reason: All drivers are now required to support read-only access
+# rules.
+#migration_readonly_rules_support = true
+
+# If share driver requires to setup admin network for share, then
+# define network plugin config options in some separate config group
+# and set its name here. Used only with another option
+# 'driver_handles_share_servers' set to 'True'. (string value)
+#admin_network_config_group = <None>
+
+# A string specifying the replication domain that the backend belongs
+# to. This option needs to be specified the same in the configuration
+# sections of all backends that support replication between each
+# other. If this option is not specified in the group, it means that
+# replication is not enabled on the backend. (string value)
+#replication_domain = <None>
+
+# String representation for an equation that will be used to filter
+# hosts. (string value)
+#filter_function = <None>
+
+# String representation for an equation that will be used to determine
+# the goodness of a host. (string value)
+#goodness_function = <None>
+
+# Backend server SSH connection timeout. (integer value)
+#ssh_conn_timeout = 60
+
+# Minimum number of connections in the SSH pool. (integer value)
+#ssh_min_pool_conn = 1
+
+# Maximum number of connections in the SSH pool. (integer value)
+#ssh_max_pool_conn = 10
+
+# The full class name of the Private Data Driver class to use. (string
+# value)
+#drivers_private_storage_class = manila.share.drivers_private_data.SqlStorageDriver
+
+# Fully qualified path to the ceph.conf file. (string value)
+#cephfs_conf_path =
+
+# The name of the cluster in use, if it is not the default ('ceph').
+# (string value)
+#cephfs_cluster_name = <None>
+
+# The name of the ceph auth identity to use. (string value)
+#cephfs_auth_id = manila
+
+# Whether to enable snapshots in this driver. (boolean value)
+#cephfs_enable_snapshots = false
+
+# The type of protocol helper to use. Default is CEPHFS. (string
+# value)
+# Possible values:
+# CEPHFS - <No description provided>
+# NFS - <No description provided>
+#cephfs_protocol_helper_type = CEPHFS
+
+# Whether the NFS-Ganesha server is remote to the driver. (boolean
+# value)
+#cephfs_ganesha_server_is_remote = false
+
+# The IP address of the NFS-Ganesha server. (string value)
+#cephfs_ganesha_server_ip = <None>
+
+# The username to authenticate as in the remote NFS-Ganesha server
+# host. (string value)
+#cephfs_ganesha_server_username = root
+
+# The path of the driver host's private SSH key file. (string value)
+#cephfs_ganesha_path_to_private_key = <None>
+
+# The password to authenticate as the user in the remote Ganesha
+# server host. This is not required if
+# 'cephfs_ganesha_path_to_private_key' is configured. (string value)
+#cephfs_ganesha_server_password = <None>
+
+# Linux bridge used by container hypervisor to plug host-side veth to.
+# It will be unplugged from here by the driver. (string value)
+#container_linux_bridge_name = docker0
+
+# OVS bridge to use to plug a container to. (string value)
+#container_ovs_bridge_name = br-int
+
+# Determines whether to allow guest access to CIFS share or not.
+# (boolean value)
+#container_cifs_guest_ok = true
+
+# Image to be used for a container-based share server. (string value)
+#container_image_name = manila-docker-container
+
+# Container helper which provides container-related operations to the
+# driver. (string value)
+#container_helper = manila.share.drivers.container.container_helper.DockerExecHelper
+
+# Helper which facilitates interaction with share server. (string
+# value)
+#container_protocol_helper = manila.share.drivers.container.protocol_helper.DockerCIFSHelper
+
+# Helper which facilitates interaction with storage solution used to
+# actually store data. By default LVM is used to provide storage for a
+# share. (string value)
+#container_storage_helper = manila.share.drivers.container.storage_helper.LVMHelper
+
+# LVM volume group to use for volumes. This volume group must be
+# created by the cloud administrator independently from manila
+# operations. (string value)
+#container_volume_group = manila_docker_volumes
+
+# User name for the EMC server. (string value)
+#emc_nas_login = <None>
+
+# Password for the EMC server. (string value)
+#emc_nas_password = <None>
+
+# EMC server hostname or IP address. (unknown value)
+#emc_nas_server = <None>
+
+# Port number for the EMC server. (port value)
+# Minimum value: 0
+# Maximum value: 65535
+#emc_nas_server_port = 8080
+
+# Use secure connection to server. (boolean value)
+#emc_nas_server_secure = true
+
+# Share backend. (string value)
+# Possible values:
+# isilon - <No description provided>
+# vnx - <No description provided>
+# unity - <No description provided>
+# vmax - <No description provided>
+#emc_share_backend = <None>
+
+# The root directory where shares will be located. (string value)
+#emc_nas_root_dir = <None>
+
+# If set to False the https client will not validate the SSL
+# certificate of the backend endpoint. (boolean value)
+#emc_ssl_cert_verify = true
+
+# Can be used to specify a non default path to a CA_BUNDLE file or
+# directory with certificates of trusted CAs, which will be used to
+# validate the backend. (string value)
+#emc_ssl_cert_path = <None>
+
+# Data mover to host the NAS server. (string value)
+#vmax_server_container = <None>
+
+# Comma separated list of pools that can be used to persist share
+# data. (list value)
+#vmax_share_data_pools = <None>
+
+# Comma separated list of ports that can be used for share server
+# interfaces. Members of the list can be Unix-style glob expressions.
+# (list value)
+#vmax_ethernet_ports = <None>
+
+# Path to smb config. (string value)
+#smb_template_config_path = $state_path/smb.conf
+
+# Volume name template. (string value)
+#volume_name_template = manila-share-%s
+
+# Volume snapshot name template. (string value)
+#volume_snapshot_name_template = manila-snapshot-%s
+
+# Parent path in service instance where shares will be mounted.
+# (string value)
+#share_mount_path = /shares
+
+# Maximum time to wait for creating cinder volume. (integer value)
+#max_time_to_create_volume = 180
+
+# Maximum time to wait for extending cinder volume. (integer value)
+#max_time_to_extend_volume = 180
+
+# Maximum time to wait for attaching cinder volume. (integer value)
+#max_time_to_attach = 120
+
+# Path to SMB config in service instance. (string value)
+#service_instance_smb_config_path = $share_mount_path/smb.conf
+
+# Specify list of share export helpers. (list value)
+#share_helpers = CIFS=manila.share.drivers.helpers.CIFSHelperIPAccess,NFS=manila.share.drivers.helpers.NFSHelper
+
+# Filesystem type of the share volume. (string value)
+# Possible values:
+# ext4 - <No description provided>
+# ext3 - <No description provided>
+#share_volume_fstype = ext4
+
+# Name or id of cinder volume type which will be used for all volumes
+# created by driver. (string value)
+#cinder_volume_type = <None>
+
+# Remote GlusterFS server node's login password. This is not required
+# if 'glusterfs_path_to_private_key' is configured. (string value)
+# Deprecated group/name - [DEFAULT]/glusterfs_native_server_password
+#glusterfs_server_password = <None>
+
+# Path of Manila host's private SSH key file. (string value)
+# Deprecated group/name - [DEFAULT]/glusterfs_native_path_to_private_key
+#glusterfs_path_to_private_key = <None>
+
+# Type of NFS server that mediate access to the Gluster volumes
+# (Gluster or Ganesha). (string value)
+#glusterfs_nfs_server_type = Gluster
+
+# Remote Ganesha server node's IP address. (unknown value)
+#glusterfs_ganesha_server_ip = <None>
+
+# Remote Ganesha server node's username. (string value)
+#glusterfs_ganesha_server_username = root
+
+# Remote Ganesha server node's login password. This is not required if
+# 'glusterfs_path_to_private_key' is configured. (string value)
+#glusterfs_ganesha_server_password = <None>
+
+# Specifies GlusterFS share layout, that is, the method of associating
+# backing GlusterFS resources to shares. (string value)
+#glusterfs_share_layout = <None>
+
+# Specifies the GlusterFS volume to be mounted on the Manila host. It
+# is of the form [remoteuser@]<volserver>:<volid>. (string value)
+#glusterfs_target = <None>
+
+# Base directory containing mount points for Gluster volumes. (string
+# value)
+#glusterfs_mount_point_base = $state_path/mnt
+
+# List of GlusterFS servers that can be used to create shares. Each
+# GlusterFS server should be of the form [remoteuser@]<volserver>, and
+# they are assumed to belong to distinct Gluster clusters. (list
+# value)
+# Deprecated group/name - [DEFAULT]/glusterfs_targets
+#glusterfs_servers =
+
+# Regular expression template used to filter GlusterFS volumes for
+# share creation. The regex template can optionally (ie. with support
+# of the GlusterFS backend) contain the #{size} parameter which
+# matches an integer (sequence of digits) in which case the value
+# shall be interpreted as size of the volume in GB. Examples: "manila-
+# share-volume-\d+$", "manila-share-volume-#{size}G-\d+$"; with
+# matching volume names, respectively: "manila-share-volume-12",
+# "manila-share-volume-3G-13". In latter example, the number that
+# matches "#{size}", that is, 3, is an indication that the size of
+# volume is 3G. (string value)
+#glusterfs_volume_pattern = <None>
+
+# The IP of the HDFS namenode. (unknown value)
+#hdfs_namenode_ip = <None>
+
+# The port of HDFS namenode service. (port value)
+# Minimum value: 0
+# Maximum value: 65535
+#hdfs_namenode_port = 9000
+
+# HDFS namenode SSH port. (port value)
+# Minimum value: 0
+# Maximum value: 65535
+#hdfs_ssh_port = 22
+
+# HDFS namenode ssh login name. (string value)
+#hdfs_ssh_name = <None>
+
+# HDFS namenode SSH login password, This parameter is not necessary,
+# if 'hdfs_ssh_private_key' is configured. (string value)
+#hdfs_ssh_pw = <None>
+
+# Path to HDFS namenode SSH private key for login. (string value)
+#hdfs_ssh_private_key = <None>
+
+# HNAS management interface IP for communication between Manila
+# controller and HNAS. (unknown value)
+# Deprecated group/name - [DEFAULT]/hds_hnas_ip
+#hitachi_hnas_ip = <None>
+
+# HNAS username Base64 String in order to perform tasks such as create
+# file-systems and network interfaces. (string value)
+# Deprecated group/name - [DEFAULT]/hds_hnas_user
+#hitachi_hnas_user = <None>
+
+# HNAS user password. Required only if private key is not provided.
+# (string value)
+# Deprecated group/name - [DEFAULT]/hds_hnas_password
+#hitachi_hnas_password = <None>
+
+# Specify which EVS this backend is assigned to. (integer value)
+# Deprecated group/name - [DEFAULT]/hds_hnas_evs_id
+#hitachi_hnas_evs_id = <None>
+
+# Specify IP for mounting shares. (unknown value)
+# Deprecated group/name - [DEFAULT]/hds_hnas_evs_ip
+#hitachi_hnas_evs_ip = <None>
+
+# Specify IP for mounting shares in the Admin network. (unknown value)
+#hitachi_hnas_admin_network_ip = <None>
+
+# Specify file-system name for creating shares. (string value)
+# Deprecated group/name - [DEFAULT]/hds_hnas_file_system_name
+#hitachi_hnas_file_system_name = <None>
+
+# RSA/DSA private key value used to connect into HNAS. Required only
+# if password is not provided. (string value)
+# Deprecated group/name - [DEFAULT]/hds_hnas_ssh_private_key
+#hitachi_hnas_ssh_private_key = <None>
+
+# The IP of the clusters admin node. Only set in HNAS multinode
+# clusters. (unknown value)
+# Deprecated group/name - [DEFAULT]/hds_hnas_cluster_admin_ip0
+#hitachi_hnas_cluster_admin_ip0 = <None>
+
+# The time (in seconds) to wait for stalled HNAS jobs before aborting.
+# (integer value)
+# Deprecated group/name - [DEFAULT]/hds_hnas_stalled_job_timeout
+#hitachi_hnas_stalled_job_timeout = 30
+
+# Python class to be used for driver helper. (string value)
+# Deprecated group/name - [DEFAULT]/hds_hnas_driver_helper
+#hitachi_hnas_driver_helper = manila.share.drivers.hitachi.hnas.ssh.HNASSSHBackend
+
+# By default, CIFS snapshots are not allowed to be taken when the
+# share has clients connected because consistent point-in-time replica
+# cannot be guaranteed for all files. Enabling this might cause
+# inconsistent snapshots on CIFS shares. (boolean value)
+# Deprecated group/name - [DEFAULT]/hds_hnas_allow_cifs_snapshot_while_mounted
+#hitachi_hnas_allow_cifs_snapshot_while_mounted = false
+
+# HSP management host for communication between Manila controller and
+# HSP. (unknown value)
+#hitachi_hsp_host = <None>
+
+# HSP username to perform tasks such as create filesystems and shares.
+# (string value)
+#hitachi_hsp_username = <None>
+
+# HSP password for the username provided. (string value)
+#hitachi_hsp_password = <None>
+
+# 3PAR WSAPI Server Url like https://<3par ip>:8080/api/v1 (string
+# value)
+# Deprecated group/name - [DEFAULT]/hp3par_api_url
+#hpe3par_api_url =
+
+# 3PAR username with the 'edit' role (string value)
+# Deprecated group/name - [DEFAULT]/hp3par_username
+#hpe3par_username =
+
+# 3PAR password for the user specified in hpe3par_username (string
+# value)
+# Deprecated group/name - [DEFAULT]/hp3par_password
+#hpe3par_password =
+
+# IP address of SAN controller (unknown value)
+# Deprecated group/name - [DEFAULT]/hp3par_san_ip
+#hpe3par_san_ip = <None>
+
+# Username for SAN controller (string value)
+# Deprecated group/name - [DEFAULT]/hp3par_san_login
+#hpe3par_san_login =
+
+# Password for SAN controller (string value)
+# Deprecated group/name - [DEFAULT]/hp3par_san_password
+#hpe3par_san_password =
+
+# SSH port to use with SAN (port value)
+# Minimum value: 0
+# Maximum value: 65535
+# Deprecated group/name - [DEFAULT]/hp3par_san_ssh_port
+#hpe3par_san_ssh_port = 22
+
+# The File Provisioning Group (FPG) to use (FPG)
+# Deprecated group/name - [DEFAULT]/hp3par_fpg
+#hpe3par_fpg = <None>
+
+# Use one filestore per share (boolean value)
+# Deprecated group/name - [DEFAULT]/hp3par_fstore_per_share
+#hpe3par_fstore_per_share = false
+
+# Require IP access rules for CIFS (in addition to user) (boolean
+# value)
+#hpe3par_require_cifs_ip = false
+
+# Enable HTTP debugging to 3PAR (boolean value)
+# Deprecated group/name - [DEFAULT]/hp3par_debug
+#hpe3par_debug = false
+
+# File system admin user name for CIFS. (string value)
+# Deprecated group/name - [DEFAULT]/hp3par_cifs_admin_access_username
+#hpe3par_cifs_admin_access_username =
+
+# File system admin password for CIFS. (string value)
+# Deprecated group/name - [DEFAULT]/hp3par_cifs_admin_access_password
+#hpe3par_cifs_admin_access_password =
+
+# File system domain for the CIFS admin user. (string value)
+# Deprecated group/name - [DEFAULT]/hp3par_cifs_admin_access_domain
+#hpe3par_cifs_admin_access_domain = LOCAL_CLUSTER
+
+# The path where shares will be mounted when deleting nested file
+# trees. (string value)
+# Deprecated group/name - [DEFAULT]/hpe3par_share_mount_path
+#hpe3par_share_mount_path = /mnt/
+
+# The configuration file for the Manila Huawei driver. (string value)
+#manila_huawei_conf_file = /etc/manila/manila_huawei_conf.xml
+
+# IP to be added to GPFS export string. (unknown value)
+#gpfs_share_export_ip = <None>
+
+# Base folder where exported shares are located. (string value)
+#gpfs_mount_point_base = $state_path/mnt
+
+# NFS Server type. Valid choices are "CES" (Ganesha NFS) or "KNFS"
+# (Kernel NFS). (string value)
+#gpfs_nfs_server_type = CES
+
+# A list of the fully qualified NFS server names that make up the
+# OpenStack Manila configuration. (list value)
+#gpfs_nfs_server_list = <None>
+
+# True:when Manila services are running on one of the Spectrum Scale
+# node. False:when Manila services are not running on any of the
+# Spectrum Scale node. (boolean value)
+#is_gpfs_node = false
+
+# GPFS server SSH port. (port value)
+# Minimum value: 0
+# Maximum value: 65535
+#gpfs_ssh_port = 22
+
+# GPFS server SSH login name. (string value)
+#gpfs_ssh_login = <None>
+
+# GPFS server SSH login password. The password is not needed, if
+# 'gpfs_ssh_private_key' is configured. (string value)
+#gpfs_ssh_password = <None>
+
+# Path to GPFS server SSH private key for login. (string value)
+#gpfs_ssh_private_key = <None>
+
+# Specify list of share export helpers. (list value)
+#gpfs_share_helpers = KNFS=manila.share.drivers.ibm.gpfs.KNFSHelper,CES=manila.share.drivers.ibm.gpfs.CESHelper
+
+# DEPRECATED: Options to use when exporting a share using kernel NFS
+# server. Note that these defaults can be overridden when a share is
+# created by passing metadata with key name export_options. (string
+# value)
+# This option is deprecated for removal.
+# Its value may be silently ignored in the future.
+# Reason: This option isn't used any longer. Please use share-type
+# extra specs for export options.
+#knfs_export_options = rw,sync,no_root_squash,insecure,no_wdelay,no_subtree_check
+
+# Administrative user account name used to access the INFINIDAT
+# Infinibox storage system. (string value)
+#infinibox_login = <None>
+
+# Password for the administrative user account specified in the
+# infinibox_login option. (string value)
+#infinibox_password = <None>
+
+# The name (or IP address) for the INFINIDAT Infinibox storage system.
+# (unknown value)
+#infinibox_hostname = <None>
+
+# Name of the pool from which volumes are allocated. (string value)
+#infinidat_pool_name = <None>
+
+# Name of the NAS network space on the INFINIDAT InfiniBox. (string
+# value)
+#infinidat_nas_network_space_name = <None>
+
+# Use thin provisioning. (boolean value)
+#infinidat_thin_provision = true
+
+# The list of IPs or hostnames of nodes where mapr-core is installed.
+# (list value)
+#maprfs_clinode_ip = <None>
+
+# CLDB node SSH port. (port value)
+# Minimum value: 0
+# Maximum value: 65535
+#maprfs_ssh_port = 22
+
+# Cluster admin user ssh login name. (string value)
+#maprfs_ssh_name = mapr
+
+# Cluster node SSH login password, This parameter is not necessary, if
+# 'maprfs_ssh_private_key' is configured. (string value)
+#maprfs_ssh_pw = <None>
+
+# Path to SSH private key for login. (string value)
+#maprfs_ssh_private_key = <None>
+
+# Path in MapRFS where share volumes must be created. (string value)
+#maprfs_base_volume_dir = /
+
+# The list of IPs or hostnames of ZooKeeper nodes. (list value)
+#maprfs_zookeeper_ip = <None>
+
+# The list of IPs or hostnames of CLDB nodes. (list value)
+#maprfs_cldb_ip = <None>
+
+# Specify whether existing volume should be renamed when start
+# managing. (boolean value)
+#maprfs_rename_managed_volume = true
+
+# Base folder where exported shares are located. (string value)
+#lvm_share_export_root = $state_path/mnt
+
+# DEPRECATED: IP to be added to export string. (string value)
+# This option is deprecated for removal.
+# Its value may be silently ignored in the future.
+# Reason: Use lvm_share_export_ips instead.
+#lvm_share_export_ip = <None>
+
+# List of IPs to export shares. (list value)
+#lvm_share_export_ips = <None>
+
+# If set, create LVMs with multiple mirrors. Note that this requires
+# lvm_mirrors + 2 PVs with available space. (integer value)
+#lvm_share_mirrors = 0
+
+# Name for the VG that will contain exported shares. (string value)
+#lvm_share_volume_group = lvm-shares
+
+# Specify list of share export helpers. (list value)
+#lvm_share_helpers = CIFS=manila.share.drivers.helpers.CIFSHelperUserAccess,NFS=manila.share.drivers.helpers.NFSHelper
+
+# The storage family type used on the storage system; valid values
+# include ontap_cluster for using clustered Data ONTAP. (string value)
+#netapp_storage_family = ontap_cluster
+
+# The hostname (or IP address) for the storage system. (unknown value)
+# Deprecated group/name - [DEFAULT]/netapp_nas_server_hostname
+#netapp_server_hostname = <None>
+
+# The TCP port to use for communication with the storage system or
+# proxy server. If not specified, Data ONTAP drivers will use 80 for
+# HTTP and 443 for HTTPS. (port value)
+# Minimum value: 0
+# Maximum value: 65535
+#netapp_server_port = <None>
+
+# The transport protocol used when communicating with the storage
+# system or proxy server. Valid values are http or https. (string
+# value)
+# Deprecated group/name - [DEFAULT]/netapp_nas_transport_type
+#netapp_transport_type = http
+
+# Administrative user account name used to access the storage system.
+# (string value)
+# Deprecated group/name - [DEFAULT]/netapp_nas_login
+#netapp_login = <None>
+
+# Password for the administrative user account specified in the
+# netapp_login option. (string value)
+# Deprecated group/name - [DEFAULT]/netapp_nas_password
+#netapp_password = <None>
+
+# The NFS protocol versions that will be enabled. Supported values
+# include nfs3, nfs4.0, nfs4.1. This option only applies when the
+# option driver_handles_share_servers is set to True.  (list value)
+#netapp_enabled_share_protocols = nfs3,nfs4.0
+
+# NetApp volume name template. (string value)
+# Deprecated group/name - [DEFAULT]/netapp_nas_volume_name_template
+#netapp_volume_name_template = share_%(share_id)s
+
+# Name template to use for new Vserver. (string value)
+#netapp_vserver_name_template = os_%s
+
+# NetApp QoS policy group name template. (string value)
+#netapp_qos_policy_group_name_template = qos_share_%(share_id)s
+
+# Pattern for overriding the selection of network ports on which to
+# create Vserver LIFs. (string value)
+#netapp_port_name_search_pattern = (.*)
+
+# Logical interface (LIF) name template (string value)
+#netapp_lif_name_template = os_%(net_allocation_id)s
+
+# Pattern for searching available aggregates for provisioning. (string
+# value)
+#netapp_aggregate_name_search_pattern = (.*)
+
+# Name of aggregate to create Vserver root volumes on. This option
+# only applies when the option driver_handles_share_servers is set to
+# True. (string value)
+#netapp_root_volume_aggregate = <None>
+
+# Root volume name. (string value)
+# Deprecated group/name - [DEFAULT]/netapp_root_volume_name
+#netapp_root_volume = root
+
+# The percentage of share space set aside as reserve for snapshot
+# usage; valid values range from 0 to 90. (integer value)
+# Minimum value: 0
+# Maximum value: 90
+#netapp_volume_snapshot_reserve_percent = 5
+
+# The maximum time in seconds to wait for existing snapmirror
+# transfers to complete before aborting when promoting a replica.
+# (integer value)
+# Minimum value: 0
+#netapp_snapmirror_quiesce_timeout = 3600
+
+# The maximum time in seconds to wait for the completion of a volume
+# move operation after the cutover was triggered. (integer value)
+# Minimum value: 0
+#netapp_volume_move_cutover_timeout = 3600
+
+# IP address of Nexenta storage appliance. (unknown value)
+#nexenta_host = <None>
+
+# Port to connect to Nexenta REST API server. (integer value)
+#nexenta_rest_port = 8457
+
+# Number of retries for unsuccessful API calls. (integer value)
+#nexenta_retry_count = 6
+
+# Use http or https for REST connection (default auto). (string value)
+# Possible values:
+# http - <No description provided>
+# https - <No description provided>
+# auto - <No description provided>
+#nexenta_rest_protocol = auto
+
+# User name to connect to Nexenta SA. (string value)
+#nexenta_user = admin
+
+# Password to connect to Nexenta SA. (string value)
+#nexenta_password = <None>
+
+# Volume name on NexentaStor. (string value)
+#nexenta_volume = volume1
+
+# Pool name on NexentaStor. (string value)
+#nexenta_pool = pool1
+
+# On if share over NFS is enabled. (boolean value)
+#nexenta_nfs = true
+
+# Parent folder on NexentaStor. (string value)
+#nexenta_nfs_share = nfs_share
+
+# Compression value for new ZFS folders. (string value)
+# Possible values:
+# on - <No description provided>
+# off - <No description provided>
+# gzip - <No description provided>
+# gzip-1 - <No description provided>
+# gzip-2 - <No description provided>
+# gzip-3 - <No description provided>
+# gzip-4 - <No description provided>
+# gzip-5 - <No description provided>
+# gzip-6 - <No description provided>
+# gzip-7 - <No description provided>
+# gzip-8 - <No description provided>
+# gzip-9 - <No description provided>
+# lzjb - <No description provided>
+# zle - <No description provided>
+# lz4 - <No description provided>
+#nexenta_dataset_compression = on
+
+# Deduplication value for new ZFS folders. (string value)
+# Possible values:
+# on - <No description provided>
+# off - <No description provided>
+# sha256 - <No description provided>
+# verify - <No description provided>
+# sha256, verify - <No description provided>
+#nexenta_dataset_dedupe = off
+
+# If True shares will not be space guaranteed and overprovisioning
+# will be enabled. (boolean value)
+#nexenta_thin_provisioning = true
+
+# Base directory that contains NFS share mount points. (string value)
+#nexenta_mount_point_base = $state_path/mnt
+
+# The URL to manage QNAP Storage. (string value)
+#qnap_management_url = <None>
+
+# NAS share IP for mounting shares. (unknown value)
+#qnap_share_ip = <None>
+
+# Username for QNAP storage. (string value)
+#qnap_nas_login = <None>
+
+# Password for QNAP storage. (string value)
+#qnap_nas_password = <None>
+
+# Pool within which QNAP shares must be created. (string value)
+#qnap_poolname = <None>
+
+# URL of the Quobyte API server (http or https) (string value)
+#quobyte_api_url = <None>
+
+# The X.509 CA file to verify the server cert. (string value)
+#quobyte_api_ca = <None>
+
+# Actually deletes shares (vs. unexport) (boolean value)
+#quobyte_delete_shares = false
+
+# Username for Quobyte API server. (string value)
+#quobyte_api_username = admin
+
+# Password for Quobyte API server (string value)
+#quobyte_api_password = quobyte
+
+# Name of volume configuration used for new shares. (string value)
+#quobyte_volume_configuration = BASE
+
+# Default owning user for new volumes. (string value)
+#quobyte_default_volume_user = root
+
+# Default owning group for new volumes. (string value)
+#quobyte_default_volume_group = root
+
+# User in service instance that will be used for authentication.
+# (string value)
+#service_instance_user = <None>
+
+# Password for service instance user. (string value)
+#service_instance_password = <None>
+
+# Path to host's private key. (string value)
+#path_to_private_key = <None>
+
+# Maximum time in seconds to wait for creating service instance.
+# (integer value)
+#max_time_to_build_instance = 300
+
+# Name or ID of service instance in Nova to use for share exports.
+# Used only when share servers handling is disabled. (string value)
+#service_instance_name_or_id = <None>
+
+# Can be either name of network that is used by service instance
+# within Nova to get IP address or IP address itself (either IPv4 or
+# IPv6) for managing shares there. Used only when share servers
+# handling is disabled. (unknown value)
+#service_net_name_or_ip = <None>
+
+# Can be either name of network that is used by service instance
+# within Nova to get IP address or IP address itself (either IPv4 or
+# IPv6) for exporting shares. Used only when share servers handling is
+# disabled. (unknown value)
+#tenant_net_name_or_ip = <None>
+
+# Name of image in Glance, that will be used for service instance
+# creation. Only used if driver_handles_share_servers=True. (string
+# value)
+#service_image_name = manila-service-image
+
+# Name of service instance. Only used if
+# driver_handles_share_servers=True. (string value)
+#service_instance_name_template = manila_service_instance_%s
+
+# Keypair name that will be created and used for service instances.
+# Only used if driver_handles_share_servers=True. (string value)
+#manila_service_keypair_name = manila-service
+
+# Path to hosts public key. Only used if
+# driver_handles_share_servers=True. (string value)
+#path_to_public_key = ~/.ssh/id_rsa.pub
+
+# Security group name, that will be used for service instance
+# creation. Only used if driver_handles_share_servers=True. (string
+# value)
+#service_instance_security_group = manila-service
+
+# ID of flavor, that will be used for service instance creation. Only
+# used if driver_handles_share_servers=True. (integer value)
+#service_instance_flavor_id = 100
+
+# Name of manila service network. Used only with Neutron. Only used if
+# driver_handles_share_servers=True. (string value)
+#service_network_name = manila_service_network
+
+# CIDR of manila service network. Used only with Neutron and if
+# driver_handles_share_servers=True. (string value)
+#service_network_cidr = 10.254.0.0/16
+
+# This mask is used for dividing service network into subnets, IP
+# capacity of subnet with this mask directly defines possible amount
+# of created service VMs per tenant's subnet. Used only with Neutron
+# and if driver_handles_share_servers=True. (integer value)
+#service_network_division_mask = 28
+
+# Vif driver. Used only with Neutron and if
+# driver_handles_share_servers=True. (string value)
+#interface_driver = manila.network.linux.interface.OVSInterfaceDriver
+
+# Attach share server directly to share network. Used only with
+# Neutron and if driver_handles_share_servers=True. (boolean value)
+#connect_share_server_to_tenant_network = false
+
+# ID of neutron network used to communicate with admin network, to
+# create additional admin export locations on. (string value)
+#admin_network_id = <None>
+
+# ID of neutron subnet used to communicate with admin network, to
+# create additional admin export locations on. Related to
+# 'admin_network_id'. (string value)
+#admin_subnet_id = <None>
+
+# Tegile NAS server hostname or IP address. (unknown value)
+#tegile_nas_server = <None>
+
+# User name for the Tegile NAS server. (string value)
+#tegile_nas_login = <None>
+
+# Password for the Tegile NAS server. (string value)
+#tegile_nas_password = <None>
+
+# Create shares in this project (string value)
+#tegile_default_project = <None>
+
+# Path to the x509 certificate used for accessing the serviceinstance.
+# (string value)
+#winrm_cert_pem_path = ~/.ssl/cert.pem
+
+# Path to the x509 certificate key. (string value)
+#winrm_cert_key_pem_path = ~/.ssl/key.pem
+
+# Use x509 certificates in order to authenticate to theservice
+# instance. (boolean value)
+#winrm_use_cert_based_auth = false
+
+# WinRM connection timeout. (integer value)
+#winrm_conn_timeout = 60
+
+# WinRM operation timeout. (integer value)
+#winrm_operation_timeout = 60
+
+# WinRM retry count. (integer value)
+#winrm_retry_count = 3
+
+# WinRM retry interval in seconds (integer value)
+#winrm_retry_interval = 5
+
+# IP to be added to user-facing export location. Required. (unknown
+# value)
+#zfs_share_export_ip = <None>
+
+# IP to be added to admin-facing export location. Required. (unknown
+# value)
+#zfs_service_ip = <None>
+
+# Specify list of zpools that are allowed to be used by backend. Can
+# contain nested datasets. Examples: Without nested dataset:
+# 'zpool_name'. With nested dataset: 'zpool_name/nested_dataset_name'.
+# Required. (list value)
+#zfs_zpool_list = <None>
+
+# Define here list of options that should be applied for each dataset
+# creation if needed. Example: compression=gzip,dedup=off. Note that,
+# for secondary replicas option 'readonly' will be set to 'on' and for
+# active replicas to 'off' in any way. Also, 'quota' will be equal to
+# share size. Optional. (list value)
+#zfs_dataset_creation_options = <None>
+
+# Prefix to be used in each dataset name. Optional. (string value)
+#zfs_dataset_name_prefix = manila_share_
+
+# Prefix to be used in each dataset snapshot name. Optional. (string
+# value)
+#zfs_dataset_snapshot_name_prefix = manila_share_snapshot_
+
+# Remote ZFS storage hostname that should be used for SSH'ing.
+# Optional. (boolean value)
+#zfs_use_ssh = false
+
+# SSH user that will be used in 2 cases: 1) By manila-share service in
+# case it is located on different host than its ZFS storage. 2) By
+# manila-share services with other ZFS backends that perform
+# replication. It is expected that SSH'ing will be key-based,
+# passwordless. This user should be passwordless sudoer. Optional.
+# (string value)
+#zfs_ssh_username = <None>
+
+# Password for user that is used for SSH'ing ZFS storage host. Not
+# used for replication operations. They require passwordless SSH
+# access. Optional. (string value)
+#zfs_ssh_user_password = <None>
+
+# Path to SSH private key that should be used for SSH'ing ZFS storage
+# host. Not used for replication operations. Optional. (string value)
+#zfs_ssh_private_key_path = <None>
+
+# Specify list of share export helpers for ZFS storage. It should look
+# like following:
+# 'FOO_protocol=foo.FooClass,BAR_protocol=bar.BarClass'. Required.
+# (list value)
+#zfs_share_helpers = NFS=manila.share.drivers.zfsonlinux.utils.NFSviaZFSHelper
+
+# Set snapshot prefix for usage in ZFS replication. Required. (string
+# value)
+#zfs_replica_snapshot_prefix = tmp_snapshot_for_replication_
+
+# Set snapshot prefix for usage in ZFS migration. Required. (string
+# value)
+#zfs_migration_snapshot_prefix = tmp_snapshot_for_share_migration_
+
+# ZFSSA management IP address. (unknown value)
+#zfssa_host = <None>
+
+# IP address for data. (unknown value)
+#zfssa_data_ip = <None>
+
+# ZFSSA management authorized username. (string value)
+#zfssa_auth_user = <None>
+
+# ZFSSA management authorized userpassword. (string value)
+#zfssa_auth_password = <None>
+
+# ZFSSA storage pool name. (string value)
+#zfssa_pool = <None>
+
+# ZFSSA project name. (string value)
+#zfssa_project = <None>
+
+# Controls checksum used for data blocks. (string value)
+#zfssa_nas_checksum = fletcher4
+
+# Data compression-off, lzjb, gzip-2, gzip, gzip-9. (string value)
+#zfssa_nas_compression = off
+
+# Controls behavior when servicing synchronous writes. (string value)
+#zfssa_nas_logbias = latency
+
+# Location of project in ZFS/SA. (string value)
+#zfssa_nas_mountpoint =
+
+# Controls whether a share quota includes snapshot. (string value)
+#zfssa_nas_quota_snap = true
+
+# Controls whether file ownership can be changed. (string value)
+#zfssa_nas_rstchown = true
+
+# Controls whether the share is scanned for viruses. (string value)
+#zfssa_nas_vscan = false
+
+# REST connection timeout (in seconds). (string value)
+#zfssa_rest_timeout = <None>
+
+# Driver policy for share manage. A strict policy checks for a schema
+# named manila_managed, and makes sure its value is true. A loose
+# policy does not check for the schema. (string value)
+# Possible values:
+# loose - <No description provided>
+# strict - <No description provided>
+#zfssa_manage_policy = loose
+
+# Whether to enable pre hooks or not. (boolean value)
+#enable_pre_hooks = false
+
+# Whether to enable post hooks or not. (boolean value)
+#enable_post_hooks = false
+
+# Whether to enable periodic hooks or not. (boolean value)
+#enable_periodic_hooks = false
+
+# Whether to suppress pre hook errors (allow driver perform actions)
+# or not. (boolean value)
+#suppress_pre_hooks_errors = false
+
+# Whether to suppress post hook errors (allow driver's results to pass
+# through) or not. (boolean value)
+#suppress_post_hooks_errors = false
+
+# Interval in seconds between execution of periodic hooks. Used when
+# option 'enable_periodic_hooks' is set to True. Default is 300.
+# (floating point value)
+#periodic_hooks_interval = 300.0
+
+# Driver to use for share creation. (string value)
+#share_driver = manila.share.drivers.generic.GenericShareDriver
+
+# Driver(s) to perform some additional actions before and after share
+# driver actions and on a periodic basis. Default is []. (list value)
+#hook_drivers =
+
+# Whether share servers will be deleted on deletion of the last share.
+# (boolean value)
+#delete_share_server_with_last_share = false
+
+# If set to True, then manila will deny access and remove all access
+# rules on share unmanage.If set to False - nothing will be changed.
+# (boolean value)
+#unmanage_remove_access_rules = false
+
+# If set to True, then Manila will delete all share servers which were
+# unused more than specified time .If set to False - automatic
+# deletion of share servers will be disabled. (boolean value)
+#automatic_share_server_cleanup = true
+
+# Unallocated share servers reclamation time interval (minutes).
+# Minimum value is 10 minutes, maximum is 60 minutes. The reclamation
+# function is run every 10 minutes and delete share servers which were
+# unused more than unused_share_server_cleanup_interval option
+# defines. This value reflects the shortest time Manila will wait for
+# a share server to go unutilized before deleting it. (integer value)
+# Minimum value: 10
+# Maximum value: 60
+#unused_share_server_cleanup_interval = 10
+
+# This value, specified in seconds, determines how often the share
+# manager will poll for the health (replica_state) of each replica
+# instance. (integer value)
+#replica_state_update_interval = 300
+
+# This value, specified in seconds, determines how often the share
+# manager will poll the driver to perform the next step of migration
+# in the storage backend, for a migrating share. (integer value)
+#migration_driver_continue_update_interval = 60
+
+# This value, specified in seconds, determines how often the share
+# manager will poll the driver to update the share usage size in the
+# storage backend, for shares in that backend. (integer value)
+#share_usage_size_update_interval = 300
+
+# If set to True, share usage size will be polled for in the interval
+# specified with "share_usage_size_update_interval". Usage data can be
+# consumed by telemetry integration. If telemetry is not configured,
+# this option must be set to False. If set to False - gathering share
+# usage size will be disabled. (boolean value)
+#enable_gathering_share_usage_size = false
+
+# The full class name of the Volume API class to use. (string value)
+#volume_api_class = manila.volume.cinder.API
+
+# Sets the value of TCP_KEEPALIVE (True/False) for each server socket.
+# (boolean value)
+#tcp_keepalive = true
+
+# Sets the value of TCP_KEEPINTVL in seconds for each server socket.
+# Not supported on OS X. (integer value)
+#tcp_keepalive_interval = <None>
+
+# Sets the value of TCP_KEEPCNT for each server socket. Not supported
+# on OS X. (integer value)
+#tcp_keepalive_count = <None>
+
+
+{%- if cfg.logging is defined %}
+{%- set _data = cfg.logging %}
+{%- include "oslo_templates/files/queens/oslo/_log.conf" %}
+{%- endif %}
+
+
+{%- set _data = cfg.message_queue %}
+{%- include "oslo_templates/files/queens/oslo/messaging/_default.conf" %}
+
+
+[cinder]
+{%- set _service_catalog = cfg.get('cinder', cfg.get('identity', {})) %}
+{%- set auth_type = _data.get('auth_type', 'password') %}
+{%- include "oslo_templates/files/queens/keystoneauth/_type_" + auth_type + ".conf" %}
+
+
+[cors]
+{%- if cfg.cors is defined %}
+{%- set _data = cfg.cors %}
+{%- include "oslo_templates/files/queens/oslo/_cors.conf" %}
+{%- endif %}
+
+
+[database]
+{%- set _data = cfg.database %}
+{%- if _data.ssl is defined and 'cacert_file' not in _data.get('ssl', {}).keys() %}{% do _data['ssl'].update({'cacert_file': cfg.cacert_file}) %}{% endif %}
+{%- include "oslo_templates/files/queens/oslo/_database.conf" %}
+
+
+[healthcheck]
+{%- include "oslo_templates/files/queens/oslo/_healthcheck.conf" %}
+
+
+[keystone_authtoken]
+{%- set _data = cfg.get('identity', {}) %}
+{%- set auth_type = _data.get('auth_type', 'password') %}
+{%- include "oslo_templates/files/queens/keystonemiddleware/_auth_token.conf" %}
+{%- include "oslo_templates/files/queens/keystoneauth/_type_" + auth_type + ".conf" %}
+
+
+[matchmaker_redis]
+
+#
+# From oslo.messaging
+#
+
+# DEPRECATED: Host to locate redis. (string value)
+# This option is deprecated for removal.
+# Its value may be silently ignored in the future.
+# Reason: Replaced by [DEFAULT]/transport_url
+#host = 127.0.0.1
+
+# DEPRECATED: Use this port to connect to redis host. (port value)
+# Minimum value: 0
+# Maximum value: 65535
+# This option is deprecated for removal.
+# Its value may be silently ignored in the future.
+# Reason: Replaced by [DEFAULT]/transport_url
+#port = 6379
+
+# DEPRECATED: Password for Redis server (optional). (string value)
+# This option is deprecated for removal.
+# Its value may be silently ignored in the future.
+# Reason: Replaced by [DEFAULT]/transport_url
+#password =
+
+# DEPRECATED: List of Redis Sentinel hosts (fault tolerance mode),
+# e.g., [host:port, host1:port ... ] (list value)
+# This option is deprecated for removal.
+# Its value may be silently ignored in the future.
+# Reason: Replaced by [DEFAULT]/transport_url
+#sentinel_hosts =
+
+# Redis replica set name. (string value)
+#sentinel_group_name = oslo-messaging-zeromq
+
+# Time in ms to wait between connection attempts. (integer value)
+#wait_timeout = 2000
+
+# Time in ms to wait before the transaction is killed. (integer value)
+#check_timeout = 20000
+
+# Timeout in ms on blocking socket operations. (integer value)
+#socket_timeout = 10000
+
+
+[neutron]
+{%- set _service_catalog = cfg.get('neutron', cfg.get('identity', {})) %}
+{%- set auth_type = _data.get('auth_type', 'password') %}
+{%- include "oslo_templates/files/queens/keystoneauth/_type_" + auth_type + ".conf" %}
+
+
+[nova]
+{%- set _service_catalog = cfg.get('nova', cfg.get('identity', {})) %}
+{%- set auth_type = _data.get('auth_type', 'password') %}
+{%- include "oslo_templates/files/queens/keystoneauth/_type_" + auth_type + ".conf" %}
+
+[oslo_concurrency]
+{%- set _data = cfg.get('concurrency', {}) %}
+{%- include "oslo_templates/files/queens/oslo/_concurrency.conf" %}
+
+
+{%- if cfg.message_queue is defined %}
+{%- set _data = cfg.message_queue %}
+{%- if _data.engine == 'rabbitmq' %}
+    {%- set messaging_engine = 'rabbit' %}
+{%- else %}
+    {%- set messaging_engine = _data.engine %}
+{%- endif %}
+[oslo_messaging_{{ messaging_engine }}]
+{%- include "oslo_templates/files/queens/oslo/messaging/_" + messaging_engine + ".conf" %}
+{%- endif %}
+
+
+[oslo_messaging_notifications]
+{%- set _data = cfg.get('notification', {}) %}
+{%- include "oslo_templates/files/queens/oslo/messaging/_notifications.conf" %}
+
+
+[oslo_middleware]
+{%- set _data = cfg %}
+{%- include "oslo_templates/files/queens/oslo/_middleware.conf" %}
+
+
+[oslo_policy]
+{%- if cfg.policy is defined %}
+{%- set _data = cfg.policy %}
+{%- include "oslo_templates/files/queens/oslo/_policy.conf" %}
+{%- endif %}
+
+
+[ssl]
+{%- include "oslo_templates/files/queens/oslo/service/_ssl.conf" %}
+
+
+{%- if cfg.enabled_share_backends is defined %}
+{%- for name, backend in cfg.enabled_share_backends.iteritems() %}
+[{{ backend.name }}]
+{%- include "manila/files/"+ cfg.version +"/_backend_general.conf" %}
+{%- include "manila/files/"+ cfg.version +"/_backend_"+ backend.type +".conf" %}
+{%- endfor %}
+{%- endif %}
+
diff --git a/manila/files/queens/policy.json b/manila/files/queens/policy.json
new file mode 100644
index 0000000..9b4b2a2
--- /dev/null
+++ b/manila/files/queens/policy.json
@@ -0,0 +1,606 @@
+#
+#"context_is_admin": "role:admin"
+
+#
+#"admin_or_owner": "is_admin:True or project_id:%(project_id)s"
+
+#
+#"default": "rule:admin_or_owner"
+
+#
+#"admin_api": "is_admin:True"
+
+# Get all storage availability zones.
+# GET  /os-availability-zone
+# GET  /availability-zone
+#"availability_zone:index": "rule:default"
+
+# Get information regarding backends (and storage pools) known to the
+# scheduler.
+# GET  /scheduler-stats/pools
+# GET  /scheduler-stats/pools?{query}
+#"scheduler_stats:pools:index": "rule:admin_api"
+
+# Get detailed information regarding backends (and storage pools)
+# known to the scheduler.
+# GET  /scheduler-stats/pools/detail?{query}
+# GET  /scheduler-stats/pools/detail
+#"scheduler_stats:pools:detail": "rule:admin_api"
+
+# Create share.
+# POST  /shares
+#"share:create": ""
+
+# Get share.
+# GET  /shares/{share_id}
+#"share:get": "rule:default"
+
+# List shares.
+# GET  /shares
+# GET  /shares/detail
+#"share:get_all": "rule:default"
+
+# Update share.
+# PUT  /shares
+#"share:update": "rule:default"
+
+# Delete share.
+# DELETE  /shares/{share_id}
+#"share:delete": "rule:default"
+
+# Force Delete a share.
+# DELETE  /shares/{share_id}
+#"share:force_delete": "rule:admin_api"
+
+# Manage share.
+# POST  /shares/manage
+#"share:manage": "rule:admin_api"
+
+# Unmanage share.
+# POST  /shares/unmanage
+#"share:unmanage": "rule:admin_api"
+
+# Create share snapshot.
+# POST  /snapshots
+#"share:create_snapshot": "rule:default"
+
+# List share by host.
+# GET  /shares
+# GET  /shares/detail
+#"share:list_by_host": "rule:admin_api"
+
+# List share by server id.
+# GET  /shares
+# GET  /shares/detail
+#"share:list_by_share_server_id": "rule:admin_api"
+
+# Get share access rule, it under deny access operation.
+# POST  /shares/{share_id}/action
+#"share:access_get": "rule:default"
+
+# List share access rules.
+# GET  /shares/{share_id}/action
+#"share:access_get_all": "rule:default"
+
+# Extend share.
+# POST  /shares/{share_id}/action
+#"share:extend": "rule:default"
+
+# Shrink share.
+# POST  /shares/{share_id}/action
+#"share:shrink": "rule:default"
+
+# Migrate a share to the specified host.
+# POST  /shares/{share_id}/action
+#"share:migration_start": "rule:admin_api"
+
+# Invokes 2nd phase of share migration.
+# POST  /shares/{share_id}/action
+#"share:migration_complete": "rule:admin_api"
+
+# Attempts to cancel share migration.
+# POST  /shares/{share_id}/action
+#"share:migration_cancel": "rule:admin_api"
+
+# Retrieve share migration progress for a given share.
+# POST  /shares/{share_id}/action
+#"share:migration_get_progress": "rule:admin_api"
+
+# Reset task state.
+# POST  /shares/{share_id}/action
+#"share:reset_task_state": "rule:admin_api"
+
+# Reset status.
+# POST  /shares/{share_id}/action
+#"share:reset_status": "rule:admin_api"
+
+# Revert a share to a snapshot.
+# POST  /shares/{share_id}/action
+#"share:revert_to_snapshot": "rule:default"
+
+# Add share access rule.
+# POST  /shares/{share_id}/action
+#"share:allow_access": "rule:default"
+
+# Remove share access rule.
+# POST  /shares/{share_id}/action
+#"share:deny_access": "rule:default"
+
+# Delete share snapshot.
+# DELETE  /snapshots/{snapshot_id}
+#"share:delete_snapshot": "rule:default"
+
+# Update share snapshot.
+# PUT  /snapshots/{snapshot_id}/action
+#"share:snapshot_update": "rule:default"
+
+# Update share metadata.
+# PUT  /shares/{share_id}/metadata
+#"share:update_share_metadata": "rule:default"
+
+# Delete share metadata.
+# DELETE  /shares/{share_id}/metadata/{key}
+#"share:delete_share_metadata": "rule:default"
+
+# Get share metadata.
+# GET  /shares/{share_id}/metadata
+#"share:get_share_metadata": "rule:default"
+
+# Return data about the requested export location.
+# POST  /share_instances/{share_instance_id}/export_locations
+#"share_instance_export_location:index": "rule:admin_api"
+
+# Return data about the requested export location.
+# GET  /share_instances/{share_instance_id}/export_locations/{export_location_id}
+#"share_instance_export_location:show": "rule:admin_api"
+
+# Create share type.
+# POST  /types
+#"share_type:create": "rule:admin_api"
+
+# Get share type.
+# GET  /types/{share_type_id}
+#"share_type:show": "rule:default"
+
+# List share types.
+# GET  /types
+# GET  /types?is_public=all
+#"share_type:index": "rule:default"
+
+# Get default share type.
+# GET  /types/default
+#"share_type:default": "rule:default"
+
+# Delete share type.
+# DELETE  /types/{share_type_id}
+#"share_type:delete": "rule:admin_api"
+
+# List share type project access.
+# GET  /types/{share_type_id}
+#"share_type:list_project_access": "rule:admin_api"
+
+# Add share type to project.
+# POST  /types/{share_type_id}/action
+#"share_type:add_project_access": "rule:admin_api"
+
+# Remove share type from project.
+# POST  /types/{share_type_id}/action
+#"share_type:remove_project_access": "rule:admin_api"
+
+# Create share type extra spec.
+# POST  /types/{share_type_id}/extra_specs
+#"share_types_extra_spec:create": "rule:admin_api"
+
+# Get share type extra specs of a given share type.
+# GET  /types/{share_type_id}/extra_specs
+#"share_types_extra_spec:show": "rule:admin_api"
+
+# Get details of a share type extra spec.
+# GET  /types/{share_type_id}/extra_specs/{extra_spec_id}
+#"share_types_extra_spec:index": "rule:admin_api"
+
+# Update share type extra spec.
+# PUT  /types/{share_type_id}/extra_specs
+#"share_types_extra_spec:update": "rule:admin_api"
+
+# Delete share type extra spec.
+# DELETE  /types/{share_type_id}/extra_specs/{key}
+#"share_types_extra_spec:delete": "rule:admin_api"
+
+# Get share snapshot.
+# GET  /snapshots/{snapshot_id}
+#"share_snapshot:get_snapshot": "rule:default"
+
+# Get all share snapshots.
+# GET  /snapshots
+# GET  /snapshots/detail
+# GET  /snapshots?{query}
+# GET  /snapshots/detail?{query}
+#"share_snapshot:get_all_snapshots": "rule:default"
+
+# Force Delete a share snapshot.
+# DELETE  /snapshots/{snapshot_id}
+#"share_snapshot:force_delete": "rule:admin_api"
+
+# Manage share snapshot.
+# POST  /snapshots/manage
+#"share_snapshot:manage_snapshot": "rule:admin_api"
+
+# Unmanage share snapshot.
+# POST  /snapshots/{snapshot_id}/action
+#"share_snapshot:unmanage_snapshot": "rule:admin_api"
+
+# Reset status.
+# POST  /snapshots/{snapshot_id}/action
+#"share_snapshot:reset_status": "rule:admin_api"
+
+# List access rules of a share snapshot.
+# GET  /snapshots/{snapshot_id}/access-list
+#"share_snapshot:access_list": "rule:default"
+
+# Allow access to a share snapshot.
+# POST  /snapshots/{snapshot_id}/action
+#"share_snapshot:allow_access": "rule:default"
+
+# Deny access to a share snapshot.
+# POST  /snapshots/{snapshot_id}/action
+#"share_snapshot:deny_access": "rule:default"
+
+# List export locations of a share snapshot.
+# GET  /snapshots/{snapshot_id}/export-locations/
+#"share_snapshot_export_location:index": "rule:default"
+
+# Get details of a specified export location of a share snapshot.
+# GET  /snapshots/{snapshot_id}/export-locations/{export_location_id}
+#"share_snapshot_export_location:show": "rule:default"
+
+# Get share snapshot instance.
+# GET  /snapshot-instances/{snapshot_instance_id}
+#"share_snapshot_instance:show": "rule:admin_api"
+
+# Get all share snapshot instances.
+# GET  /snapshot-instances
+# GET  /snapshot-instances?{query}
+#"share_snapshot_instance:index": "rule:admin_api"
+
+# Get details of share snapshot instances.
+# GET  /snapshot-instances/detail
+# GET  /snapshot-instances/detail?{query}
+#"share_snapshot_instance:detail": "rule:admin_api"
+
+# Reset share snapshot instance's status.
+# POST  /snapshot-instances/{snapshot_instance_id}/action
+#"share_snapshot_instance:reset_status": "rule:admin_api"
+
+# List export locations of a share snapshot instance.
+# GET  /snapshot-instances/{snapshot_instance_id}/export-locations
+#"share_snapshot_instance_export_location:index": "rule:admin_api"
+
+# Show details of a specified export location of a share snapshot
+# instance.
+# GET  /snapshot-instances/{snapshot_instance_id}/export-locations/{export_location_id}
+#"share_snapshot_instance_export_location:show": "rule:admin_api"
+
+# Get share servers.
+# GET  /share-servers
+# GET  /share-servers?{query}
+#"share_server:index": "rule:admin_api"
+
+# Show share server.
+# GET  /share-servers/{server_id}
+#"share_server:show": "rule:admin_api"
+
+# Get share server details.
+# GET  /share-servers/{server_id}/details
+#"share_server:details": "rule:admin_api"
+
+# Delete share server.
+# DELETE  /share-servers/{server_id}
+#"share_server:delete": "rule:admin_api"
+
+# Return a list of all running services.
+# GET  /os-services
+# GET  /os-services?{query}
+# GET  /services
+# GET  /services?{query}
+#"service:index": "rule:admin_api"
+
+# Enable/Disable scheduling for a service.
+# PUT  /os-services/disable
+# PUT  /os-services/enable
+# PUT  /services/disable
+# PUT  /services/enable
+#"service:update": "rule:admin_api"
+
+# Update the quotas for a project/user and/or share type.
+# PUT  /quota-sets/{tenant_id}
+# PUT  /quota-sets/{tenant_id}?user_id={user_id}
+# PUT  /quota-sets/{tenant_id}?share_type={share_type_id}
+# PUT  /os-quota-sets/{tenant_id}
+# PUT  /os-quota-sets/{tenant_id}?user_id={user_id}
+#"quota_set:update": "rule:admin_api"
+
+# List the quotas for a tenant/user.
+# GET  /quota-sets/{tenant_id}/defaults
+# GET  /os-quota-sets/{tenant_id}/defaults
+#"quota_set:show": "rule:default"
+
+# Delete quota for a tenant/user or tenant/share-type. The quota will
+# revert back to default (Admin only).
+# DELETE  /quota-sets/{tenant_id}
+# DELETE  /quota-sets/{tenant_id}?user_id={user_id}
+# DELETE  /quota-sets/{tenant_id}?share_type={share_type_id}
+# DELETE  /os-quota-sets/{tenant_id}
+# DELETE  /os-quota-sets/{tenant_id}?user_id={user_id}
+#"quota_set:delete": "rule:admin_api"
+
+# Update quota class.
+# PUT  /quota-class-sets/{class_name}
+# PUT  /os-quota-class-sets/{class_name}
+#"quota_class_set:update": "rule:admin_api"
+
+# Get quota class.
+# GET  /quota-class-sets/{class_name}
+# GET  /os-quota-class-sets/{class_name}
+#"quota_class_set:show": "rule:default"
+
+# Create share group type specs.
+# POST  /share-group-types/{share_group_type_id}/group-specs
+#"share_group_types_spec:create": "rule:admin_api"
+
+# Get share group type specs.
+# GET  /share-group-types/{share_group_type_id}/group-specs
+#"share_group_types_spec:index": "rule:admin_api"
+
+# Get details of a share group type spec.
+# GET  /share-group-types/{share_group_type_id}/group-specs/{key}
+#"share_group_types_spec:show": "rule:admin_api"
+
+# Update a share group type spec.
+# PUT  /share-group-types/{share_group_type_id}/group-specs/{key}
+#"share_group_types_spec:update": "rule:admin_api"
+
+# Delete a share group type spec.
+# DELETE  /share-group-types/{share_group_type_id}/group-specs/{key}
+#"share_group_types_spec:delete": "rule:admin_api"
+
+# Create a new share group type.
+# POST  /share-group-types
+#"share_group_type:create": "rule:admin_api"
+
+# Get the list of share group types.
+# GET  /share-group-types
+# GET  /share-group-types?is_public=all
+#"share_group_type:index": "rule:default"
+
+# Get details regarding the specified share group type.
+# GET  /share-group-types/{share_group_type_id}
+#"share_group_type:show": "rule:default"
+
+# Get the default share group type.
+# GET  /share-group-types/default
+#"share_group_type:default": "rule:default"
+
+# Delete an existing group type.
+# DELETE  /share-group-types/{share_group_type_id}
+#"share_group_type:delete": "rule:admin_api"
+
+# Get project access by share group type.
+# POST  /share-group-types/{share_group_type_id}/access
+#"share_group_type:list_project_access": "rule:admin_api"
+
+# Allow project to use the share group type.
+# POST  /share-group-types/{share_group_type_id}/action
+#"share_group_type:add_project_access": "rule:admin_api"
+
+# Deny project access to use the share group type.
+# POST  /share-group-types/{share_group_type_id}/action
+#"share_group_type:remove_project_access": "rule:admin_api"
+
+# Create a new share group snapshot.
+# POST  /share-group-snapshots
+#"share_group_snapshot:create": "rule:default"
+
+# Get details of a share group snapshot.
+# GET  /share-group-snapshots/{share_group_snapshot_id}
+#"share_group_snapshot:get": "rule:default"
+
+# Get all share group snapshots.
+# GET  /share-group-snapshots
+# GET  /share-group-snapshots/detail
+# GET  /share-group-snapshots/{query}
+# GET  /share-group-snapshots/detail?{query}
+#"share_group_snapshot:get_all": "rule:default"
+
+# Update a share group snapshot.
+# PUT  /share-group-snapshots/{share_group_snapshot_id}
+#"share_group_snapshot:update": "rule:default"
+
+# Delete a share group snapshot.
+# DELETE  /share-group-snapshots/{share_group_snapshot_id}
+#"share_group_snapshot:delete": "rule:default"
+
+# Force delete a share group snapshot.
+# POST  /share-group-snapshots/{share_group_snapshot_id}/action
+#"share_group_snapshot:force_delete": "rule:admin_api"
+
+# Reset a share group snapshot's status.
+# POST  /share-group-snapshots/{share_group_snapshot_id}/action
+#"share_group_snapshot:reset_status": "rule:admin_api"
+
+# Create share group.
+# POST  /share-groups
+#"share_group:create": "rule:default"
+
+# Get details of a share group.
+# GET  /share-groups/{share_group_id}
+#"share_group:get": "rule:default"
+
+# Get all share groups.
+# GET  /share-groups
+# GET  /share-groups/detail
+# GET  /share-groups?{query}
+# GET  /share-groups/detail?{query}
+#"share_group:get_all": "rule:default"
+
+# Update share group.
+# PUT  /share-groups/{share_group_id}
+#"share_group:update": "rule:default"
+
+# Delete share group.
+# DELETE  /share-groups/{share_group_id}
+#"share_group:delete": "rule:default"
+
+# Force delete a share group.
+# POST  /share-groups/{share_group_id}/action
+#"share_group:force_delete": "rule:admin_api"
+
+# Reset share group's status.
+# POST  /share-groups/{share_group_id}/action
+#"share_group:reset_status": "rule:admin_api"
+
+# Create share replica.
+# POST  /share-replicas
+#"share_replica:create": "rule:default"
+
+# Get all share replicas.
+# GET  /share-replicas
+# GET  /share-replicas/detail
+# GET  /share-replicas/detail?share_id={share_id}
+#"share_replica:get_all": "rule:default"
+
+# Get details of a share replica.
+# GET  /share-replicas/{share_replica_id}
+#"share_replica:show": "rule:default"
+
+# Delete a share replica.
+# DELETE  /share-replicas/{share_replica_id}
+#"share_replica:delete": "rule:default"
+
+# Force delete a share replica.
+# POST  /share-replicas/{share_replica_id}/action
+#"share_replica:force_delete": "rule:admin_api"
+
+# Promote a non-active share replica to active.
+# POST  /share-replicas/{share_replica_id}/action
+#"share_replica:promote": "rule:default"
+
+# Resync a share replica that is out of sync.
+# POST  /share-replicas/{share_replica_id}/action
+#"share_replica:resync": "rule:admin_api"
+
+# Reset share replica's replica_state attribute.
+# POST  /share-replicas/{share_replica_id}/action
+#"share_replica:reset_replica_state": "rule:admin_api"
+
+# Reset share replica's status.
+# POST  /share-replicas/{share_replica_id}/action
+#"share_replica:reset_status": "rule:admin_api"
+
+# Create share network.
+# POST  /share-networks
+#"share_network:create": "rule:default"
+
+# Get details of a share network.
+# GET  /share-networks/{share_network_id}
+#"share_network:show": "rule:default"
+
+# Get all share networks.
+# GET  /share-networks
+# GET  /share-networks?{query}
+#"share_network:index": "rule:default"
+
+# Get details of share networks .
+# GET  /share-networks/detail?{query}
+# GET  /share-networks/detail
+#"share_network:detail": "rule:default"
+
+# Update a share network.
+# PUT  /share-networks/{share_network_id}
+#"share_network:update": "rule:default"
+
+# Delete a share network.
+# DELETE  /share-networks/{share_network_id}
+#"share_network:delete": "rule:default"
+
+# Add security service to share network.
+# POST  /share-networks/{share_network_id}/action
+#"share_network:add_security_service": "rule:default"
+
+# Remove security service from share network.
+# POST  /share-networks/{share_network_id}/action
+#"share_network:remove_security_service": "rule:default"
+
+# Get share networks belonging to all projects.
+# GET  /share-networks?all_tenants=1
+# GET  /share-networks/detail?all_tenants=1
+#"share_network:get_all_share_networks": "rule:admin_api"
+
+# Create security service.
+# POST  /security-services
+#"security_service:create": "rule:default"
+
+# Get details of a security service.
+# GET  /security-services/{security_service_id}
+#"security_service:show": "rule:default"
+
+# Get details of all security services.
+# GET  /security-services/detail?{query}
+# GET  /security-services/detail
+#"security_service:detail": "rule:default"
+
+# Get all security services.
+# GET  /security-services
+# GET  /security-services?{query}
+#"security_service:index": "rule:default"
+
+# Update a security service.
+# PUT  /security-services/{security_service_id}
+#"security_service:update": "rule:default"
+
+# Delete a security service.
+# DELETE  /security-services/{security_service_id}
+#"security_service:delete": "rule:default"
+
+# Get security services of all projects.
+# GET  /security-services?all_tenants=1
+# GET  /security-services/detail?all_tenants=1
+#"security_service:get_all_security_services": "rule:admin_api"
+
+# Get all export locations of a given share.
+# GET  /shares/{share_id}/export_locations
+#"share_export_location:index": "rule:default"
+
+# Get details about the requested export location.
+# GET  /shares/{share_id}/export_locations/{export_location_id}
+#"share_export_location:show": "rule:default"
+
+# Get all share instances.
+# GET  /share_instances
+# GET  /share_instances?{query}
+#"share_instance:index": "rule:admin_api"
+
+# Get details of a share instance.
+# GET  /share_instances/{share_instance_id}
+#"share_instance:show": "rule:admin_api"
+
+# Force delete a share instance.
+# POST  /share_instances/{share_instance_id}/action
+#"share_instance:force_delete": "rule:admin_api"
+
+# Reset share instance's status.
+# POST  /share_instances/{share_instance_id}/action
+#"share_instance:reset_status": "rule:admin_api"
+
+# Get details of a given message.
+# GET  /messages/{message_id}
+#"message:get": "rule:default"
+
+# Get all messages.
+# GET  /messages
+# GET  /messages?{query}
+#"message:get_all": "rule:default"
+
+# Delete a message.
+# DELETE  /messages/{message_id}
+#"message:delete": "rule:default"
