Cinder Configuration Options

Cinder Configuration Options

The following is a sample Cinder configuration for adaptation and use. It is auto-generated from Cinder when this documentation is built, so if you are having issues with an option, please compare your version of Cinder with the version of this documentation.

The sample configuration can also be viewed in file form.

[DEFAULT]

#
# From cinder
#

# The maximum number of items that a collection resource returns in a single
# response (integer value)
#osapi_max_limit = 1000

# DEPRECATED: Base URL that will be presented to users in links to the
# OpenStack Volume API (string value)
# Deprecated group/name - [DEFAULT]/osapi_compute_link_prefix
#osapi_volume_base_URL = <None>

# Json file indicating user visible filter parameters for list queries. (string
# value)
# Deprecated group/name - [DEFAULT]/query_volume_filters
#resource_query_filters_file = /etc/cinder/resource_filters.json

# DEPRECATED: Volume filter options which non-admin user could use to query
# volumes. Default values are: ['name', 'status', 'metadata',
# 'availability_zone' ,'bootable', 'group_id'] (list value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
#query_volume_filters = name,status,metadata,availability_zone,bootable,group_id

# DEPRECATED: Allow the ability to modify the extra-spec settings of an in-use
# volume-type. (boolean value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
#allow_inuse_volume_type_modification = false

# Treat X-Forwarded-For as the canonical remote address. Only enable this if
# you have a sanitizing proxy. (boolean value)
#use_forwarded_for = false

# Public url to use for versions endpoint. The default is None, which will use
# the request's host_url attribute to populate the URL base. If Cinder is
# operating behind a proxy, you will want to change this to represent the
# proxy's URL. (string value)
# Deprecated group/name - [DEFAULT]/osapi_volume_base_URL
#public_endpoint = <None>

# Backup services use same backend. (boolean value)
#backup_use_same_host = false

# Compression algorithm (None to disable) (string value)
# Allowed values: none, off, no, zlib, gzip, bz2, bzip2
#backup_compression_algorithm = zlib

# Backup metadata version to be used when backing up volume metadata. If this
# number is bumped, make sure the service doing the restore supports the new
# version. (integer value)
#backup_metadata_version = 2

# The number of chunks or objects, for which one Ceilometer notification will
# be sent (integer value)
#backup_object_number_per_notification = 10

# Interval, in seconds, between two progress notifications reporting the backup
# status (integer value)
#backup_timer_interval = 120

# Ceph configuration file to use. (string value)
#backup_ceph_conf = /etc/ceph/ceph.conf

# The Ceph user to connect with. Default here is to use the same user as for
# Cinder volumes. If not using cephx this should be set to None. (string value)
#backup_ceph_user = cinder

# The chunk size, in bytes, that a backup is broken into before transfer to the
# Ceph object store. (integer value)
#backup_ceph_chunk_size = 134217728

# The Ceph pool where volume backups are stored. (string value)
#backup_ceph_pool = backups

# RBD stripe unit to use when creating a backup image. (integer value)
#backup_ceph_stripe_unit = 0

# RBD stripe count to use when creating a backup image. (integer value)
#backup_ceph_stripe_count = 0

# If True, apply JOURNALING and EXCLUSIVE_LOCK feature bits to the backup RBD
# objects to allow mirroring (boolean value)
#backup_ceph_image_journals = false

# If True, always discard excess bytes when restoring volumes i.e. pad with
# zeroes. (boolean value)
#restore_discard_excess_bytes = true

# Base dir containing mount point for gluster share. (string value)
#glusterfs_backup_mount_point = $state_path/backup_mount

# GlusterFS share in <hostname|ipv4addr|ipv6addr>:<gluster_vol_name> format.
# Eg: 1.2.3.4:backup_vol (string value)
#glusterfs_backup_share = <None>

# The GCS bucket to use. (string value)
#backup_gcs_bucket = <None>

# The size in bytes of GCS backup objects. (integer value)
#backup_gcs_object_size = 52428800

# The size in bytes that changes are tracked for incremental backups.
# backup_gcs_object_size has to be multiple of backup_gcs_block_size. (integer
# value)
#backup_gcs_block_size = 32768

# GCS object will be downloaded in chunks of bytes. (integer value)
#backup_gcs_reader_chunk_size = 2097152

# GCS object will be uploaded in chunks of bytes. Pass in a value of -1 if the
# file is to be uploaded as a single chunk. (integer value)
#backup_gcs_writer_chunk_size = 2097152

# Number of times to retry. (integer value)
#backup_gcs_num_retries = 3

# List of GCS error codes. (list value)
#backup_gcs_retry_error_codes = 429

# Location of GCS bucket. (string value)
#backup_gcs_bucket_location = US

# Storage class of GCS bucket. (string value)
#backup_gcs_storage_class = NEARLINE

# Absolute path of GCS service account credential file. (string value)
#backup_gcs_credential_file = <None>

# Owner project id for GCS bucket. (string value)
#backup_gcs_project_id = <None>

# Http user-agent string for gcs api. (string value)
#backup_gcs_user_agent = gcscinder

# Enable or Disable the timer to send the periodic progress notifications to
# Ceilometer when backing up the volume to the GCS backend storage. The default
# value is True to enable the timer. (boolean value)
#backup_gcs_enable_progress_timer = true

# URL for http proxy access. (uri value)
#backup_gcs_proxy_url = <None>

# Base dir containing mount point for NFS share. (string value)
#backup_mount_point_base = $state_path/backup_mount

# NFS share in hostname:path, ipv4addr:path, or "[ipv6addr]:path" format.
# (string value)
#backup_share = <None>

# Mount options passed to the NFS client. See NFS man page for details. (string
# value)
#backup_mount_options = <None>

# The maximum size in bytes of the files used to hold backups. If the volume
# being backed up exceeds this size, then it will be backed up into multiple
# files.backup_file_size must be a multiple of backup_sha_block_size_bytes.
# (integer value)
#backup_file_size = 1999994880

# The size in bytes that changes are tracked for incremental backups.
# backup_file_size has to be multiple of backup_sha_block_size_bytes. (integer
# value)
#backup_sha_block_size_bytes = 32768

# Enable or Disable the timer to send the periodic progress notifications to
# Ceilometer when backing up the volume to the backend storage. The default
# value is True to enable the timer. (boolean value)
#backup_enable_progress_timer = true

# Path specifying where to store backups. (string value)
#backup_posix_path = $state_path/backup

# Custom directory to use for backups. (string value)
#backup_container = <None>

# The URL of the Swift endpoint (uri value)
#backup_swift_url = <None>

# The URL of the Keystone endpoint (uri value)
#backup_swift_auth_url = <None>

# Info to match when looking for swift in the service catalog. Format is:
# separated values of the form: <service_type>:<service_name>:<endpoint_type> -
# Only used if backup_swift_url is unset (string value)
#swift_catalog_info = object-store:swift:publicURL

# Info to match when looking for keystone in the service catalog. Format is:
# separated values of the form: <service_type>:<service_name>:<endpoint_type> -
# Only used if backup_swift_auth_url is unset (string value)
#keystone_catalog_info = identity:Identity Service:publicURL

# Swift authentication mechanism. (string value)
# Allowed values: per_user, single_user
#backup_swift_auth = per_user

# Swift authentication version. Specify "1" for auth 1.0, or "2" for auth 2.0
# or "3" for auth 3.0 (string value)
#backup_swift_auth_version = 1

# Swift tenant/account name. Required when connecting to an auth 2.0 system
# (string value)
#backup_swift_tenant = <None>

# Swift user domain name. Required when connecting to an auth 3.0 system
# (string value)
#backup_swift_user_domain = <None>

# Swift project domain name. Required when connecting to an auth 3.0 system
# (string value)
#backup_swift_project_domain = <None>

# Swift project/account name. Required when connecting to an auth 3.0 system
# (string value)
#backup_swift_project = <None>

# Swift user name (string value)
#backup_swift_user = <None>

# Swift key for authentication (string value)
#backup_swift_key = <None>

# The default Swift container to use (string value)
#backup_swift_container = volumebackups

# The size in bytes of Swift backup objects (integer value)
#backup_swift_object_size = 52428800

# The size in bytes that changes are tracked for incremental backups.
# backup_swift_object_size has to be multiple of backup_swift_block_size.
# (integer value)
#backup_swift_block_size = 32768

# The number of retries to make for Swift operations (integer value)
#backup_swift_retry_attempts = 3

# The backoff time in seconds between Swift retries (integer value)
#backup_swift_retry_backoff = 2

# Enable or Disable the timer to send the periodic progress notifications to
# Ceilometer when backing up the volume to the Swift backend storage. The
# default value is True to enable the timer. (boolean value)
#backup_swift_enable_progress_timer = true

# Location of the CA certificate file to use for swift client requests. (string
# value)
#backup_swift_ca_cert_file = <None>

# Bypass verification of server certificate when making SSL connection to
# Swift. (boolean value)
#backup_swift_auth_insecure = false

# Volume prefix for the backup id when backing up to TSM (string value)
#backup_tsm_volume_prefix = backup

# TSM password for the running username (string value)
#backup_tsm_password = password

# Enable or Disable compression for backups (boolean value)
#backup_tsm_compression = true

# Driver to use for backups. (string value)
#backup_driver = cinder.backup.drivers.swift

# Offload pending backup delete during backup service startup. If false, the
# backup service will remain down until all pending backups are deleted.
# (boolean value)
#backup_service_inithost_offload = true

# Name of this cluster.  Used to group volume hosts that share the same backend
# configurations to work in HA Active-Active mode.  Active-Active is not yet
# supported. (string value)
#cluster = <None>

# Top-level directory for maintaining cinder's state (string value)
# Deprecated group/name - [DEFAULT]/pybasedir
#state_path = /var/lib/cinder

# IP address of this host (unknown value)
#my_ip = 10.0.1.205

# A list of the URLs of glance API servers available to cinder
# ([http[s]://][hostname|ip]:port). If protocol is not specified it defaults to
# http. (list value)
#glance_api_servers = <None>

# DEPRECATED: Version of the glance API to use (integer value)
# This option is deprecated for removal since 11.0.0.
# Its value may be silently ignored in the future.
# Reason: Glance v1 support will be removed in Queens
#glance_api_version = 2

# Number retries when downloading an image from glance (integer value)
# Minimum value: 0
#glance_num_retries = 0

# Allow to perform insecure SSL (https) requests to glance (https will be used
# but cert validation will not be performed). (boolean value)
#glance_api_insecure = false

# Enables or disables negotiation of SSL layer compression. In some cases
# disabling compression can improve data throughput, such as when high network
# bandwidth is available and you use compressed image formats like qcow2.
# (boolean value)
#glance_api_ssl_compression = false

# Location of ca certificates file to use for glance client requests. (string
# value)
#glance_ca_certificates_file = <None>

# http/https timeout value for glance operations. If no value (None) is
# supplied here, the glanceclient default value is used. (integer value)
#glance_request_timeout = <None>

# DEPRECATED: Deploy v1 of the Cinder API. (boolean value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
#enable_v1_api = false

# DEPRECATED: Deploy v2 of the Cinder API. (boolean value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
#enable_v2_api = true

# Deploy v3 of the Cinder API. (boolean value)
#enable_v3_api = true

# Enables or disables rate limit of the API. (boolean value)
#api_rate_limit = true

# Specify list of extensions to load when using osapi_volume_extension option
# with cinder.api.contrib.select_extensions (list value)
#osapi_volume_ext_list =

# osapi volume extension to load (multi valued)
#osapi_volume_extension = cinder.api.contrib.standard_extensions

# Full class name for the Manager for volume (string value)
#volume_manager = cinder.volume.manager.VolumeManager

# Full class name for the Manager for volume backup (string value)
#backup_manager = cinder.backup.manager.BackupManager

# Full class name for the Manager for scheduler (string value)
#scheduler_manager = cinder.scheduler.manager.SchedulerManager

# Name of this node.  This can be an opaque identifier. It is not necessarily a
# host name, FQDN, or IP address. (unknown value)
#host = ubuntu-xenial-airship-kna1-0018811517

# Availability zone of this node. Can be overridden per volume backend with the
# option "backend_availability_zone". (string value)
#storage_availability_zone = nova

# Default availability zone for new volumes. If not set, the
# storage_availability_zone option value is used as the default for new
# volumes. (string value)
#default_availability_zone = <None>

# If the requested Cinder availability zone is unavailable, fall back to the
# value of default_availability_zone, then storage_availability_zone, instead
# of failing. (boolean value)
#allow_availability_zone_fallback = false

# Default volume type to use (string value)
#default_volume_type = <None>

# Default group type to use (string value)
#default_group_type = <None>

# Time period for which to generate volume usages. The options are hour, day,
# month, or year. (string value)
#volume_usage_audit_period = month

# Path to the rootwrap configuration file to use for running commands as root
# (string value)
#rootwrap_config = /etc/cinder/rootwrap.conf

# Enable monkey patching (boolean value)
#monkey_patch = false

# List of modules/decorators to monkey patch (list value)
#monkey_patch_modules =

# Maximum time since last check-in for a service to be considered up (integer
# value)
#service_down_time = 60

# The full class name of the volume API class to use (string value)
#volume_api_class = cinder.volume.api.API

# The full class name of the volume backup API class (string value)
#backup_api_class = cinder.backup.api.API

# The strategy to use for auth. Supports noauth or keystone. (string value)
# Allowed values: noauth, keystone
#auth_strategy = keystone

# A list of backend names to use. These backend names should be backed by a
# unique [CONFIG] group with its options (list value)
#enabled_backends = <None>

# Whether snapshots count against gigabyte quota (boolean value)
#no_snapshot_gb_quota = false

# The full class name of the volume transfer API class (string value)
#transfer_api_class = cinder.transfer.api.API

# The full class name of the consistencygroup API class (string value)
#consistencygroup_api_class = cinder.consistencygroup.api.API

# The full class name of the group API class (string value)
#group_api_class = cinder.group.api.API

# DEPRECATED: OpenStack privileged account username. Used for requests to other
# services (such as Nova) that require an account with special rights. (string
# value)
# This option is deprecated for removal since 11.0.0.
# Its value may be silently ignored in the future.
# Reason: Use the [nova] section for configuring Keystone authentication for a
# privileged user.
#os_privileged_user_name = <None>

# DEPRECATED: Password associated with the OpenStack privileged account.
# (string value)
# This option is deprecated for removal since 11.0.0.
# Its value may be silently ignored in the future.
# Reason: Use the [nova] section to configure Keystone authentication for a
# privileged user.
#os_privileged_user_password = <None>

# DEPRECATED: Tenant name associated with the OpenStack privileged account.
# (string value)
# This option is deprecated for removal since 11.0.0.
# Its value may be silently ignored in the future.
# Reason: Use the [nova] section to configure Keystone authentication for a
# privileged user.
#os_privileged_user_tenant = <None>

# DEPRECATED: Auth URL associated with the OpenStack privileged account. (uri
# value)
# This option is deprecated for removal since 11.0.0.
# Its value may be silently ignored in the future.
# Reason: Use the [nova] section to configure Keystone authentication for a
# privileged user.
#os_privileged_user_auth_url = <None>

# The full class name of the compute API class to use (string value)
#compute_api_class = cinder.compute.nova.API

# DEPRECATED: Match this value when searching for nova in the service catalog.
# Format is: separated values of the form:
# <service_type>:<service_name>:<endpoint_type> (string value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
#nova_catalog_info = compute:Compute Service:publicURL

# DEPRECATED: Same as nova_catalog_info, but for admin endpoint. (string value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
#nova_catalog_admin_info = compute:Compute Service:publicURL

# DEPRECATED: Override service catalog lookup with template for nova endpoint
# e.g. http://localhost:8774/v2/%(project_id)s (string value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
#nova_endpoint_template = <None>

# DEPRECATED: Same as nova_endpoint_template, but for admin endpoint. (string
# value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
#nova_endpoint_admin_template = <None>

# ID of the project which will be used as the Cinder internal tenant. (string
# value)
#cinder_internal_tenant_project_id = <None>

# ID of the user to be used in volume operations as the Cinder internal tenant.
# (string value)
#cinder_internal_tenant_user_id = <None>

# Services to be added to the available pool on create (boolean value)
#enable_new_services = true

# Template string to be used to generate volume names (string value)
#volume_name_template = volume-%s

# Template string to be used to generate snapshot names (string value)
#snapshot_name_template = snapshot-%s

# Template string to be used to generate backup names (string value)
#backup_name_template = backup-%s

# Driver to use for database access (string value)
#db_driver = cinder.db

# Make exception message format errors fatal. (boolean value)
#fatal_exception_format_errors = false

# A list of url schemes that can be downloaded directly via the direct_url.
# Currently supported schemes: [file, cinder]. (list value)
#allowed_direct_url_schemes =

# Info to match when looking for glance in the service catalog. Format is:
# separated values of the form: <service_type>:<service_name>:<endpoint_type> -
# Only used if glance_api_servers are not provided. (string value)
#glance_catalog_info = image:glance:publicURL

# Default core properties of image (list value)
#glance_core_properties = checksum,container_format,disk_format,image_name,image_id,min_disk,min_ram,name,size

# Directory used for temporary storage during image conversion (string value)
#image_conversion_dir = $state_path/conversion

# 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

# Number of volumes allowed per project (integer value)
#quota_volumes = 10

# Number of volume snapshots allowed per project (integer value)
#quota_snapshots = 10

# Number of consistencygroups allowed per project (integer value)
#quota_consistencygroups = 10

# Number of groups allowed per project (integer value)
#quota_groups = 10

# Total amount of storage, in gigabytes, allowed for volumes and snapshots per
# project (integer value)
#quota_gigabytes = 1000

# Number of volume backups allowed per project (integer value)
#quota_backups = 10

# Total amount of storage, in gigabytes, allowed for backups per project
# (integer value)
#quota_backup_gigabytes = 1000

# Number of seconds until a reservation expires (integer value)
#reservation_expire = 86400

# Interval between periodic task runs to clean expired reservations in seconds.
# (integer value)
#reservation_clean_interval = $reservation_expire

# 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 = cinder.quota.DbQuotaDriver

# Enables or disables use of default quota class with default quota. (boolean
# value)
#use_default_quota_class = true

# Max size allowed per volume, in gigabytes (integer value)
#per_volume_size_limit = -1

# The scheduler host manager class to use (string value)
#scheduler_host_manager = cinder.scheduler.host_manager.HostManager

# Maximum number of attempts to schedule a volume (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

# Which weigher class names to use for weighing hosts. (list value)
#scheduler_default_weighers = CapacityWeigher

# Which handler to use for selecting the host/pool after weighing (string
# value)
#scheduler_weight_handler = cinder.scheduler.weights.OrderedHostWeightHandler

# Default scheduler driver to use (string value)
#scheduler_driver = cinder.scheduler.filter_scheduler.FilterScheduler

# Absolute path to scheduler configuration JSON file. (string value)
#scheduler_json_config_location =

# Multiplier used for weighing free capacity. Negative numbers mean to stack vs
# spread. (floating point value)
#capacity_weight_multiplier = 1.0

# Multiplier used for weighing allocated capacity. Positive numbers mean to
# stack vs spread. (floating point value)
#allocated_capacity_weight_multiplier = -1.0

# Multiplier used for weighing volume number. Negative numbers mean to spread
# vs stack. (floating point value)
#volume_number_multiplier = -1.0

# Interval, in seconds, between nodes reporting state to datastore (integer
# value)
#report_interval = 10

# Interval, in seconds, between running periodic tasks (integer value)
#periodic_interval = 60

# Range, in 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 on which OpenStack Volume API listens (string value)
#osapi_volume_listen = 0.0.0.0

# Port on which OpenStack Volume API listens (port value)
# Minimum value: 0
# Maximum value: 65535
#osapi_volume_listen_port = 8776

# Number of workers for OpenStack Volume API service. The default is equal to
# the number of CPUs available. (integer value)
#osapi_volume_workers = <None>

# Wraps the socket in a SSL context if True is set. A certificate file and key
# file must be specified. (boolean value)
#osapi_volume_use_ssl = false

# Option to enable strict host key checking.  When set to "True" Cinder will
# only connect to systems with a host key present in the configured
# "ssh_hosts_key_file".  When set to "False" the host key will be saved upon
# first connection and used for subsequent connections.  Default=False (boolean
# value)
#strict_ssh_host_key_policy = false

# File containing SSH host keys for the systems with which Cinder needs to
# communicate.  OPTIONAL: Default=$state_path/ssh_known_hosts (string value)
#ssh_hosts_key_file = $state_path/ssh_known_hosts

# The number of characters in the salt. (integer value)
#volume_transfer_salt_length = 8

# The number of characters in the autogenerated auth key. (integer value)
#volume_transfer_key_length = 16

# Enables the Force option on upload_to_image. This enables running
# upload_volume on in-use volumes for backends that support it. (boolean value)
#enable_force_upload = false

# Create volume from snapshot at the host where snapshot resides (boolean
# value)
#snapshot_same_host = true

# Ensure that the new volumes are the same AZ as snapshot or source volume
# (boolean value)
#cloned_volume_same_az = true

# Cache volume availability zones in memory for the provided duration in
# seconds (integer value)
#az_cache_duration = 3600

# Number of times to attempt to run flakey shell commands (integer value)
#num_shell_tries = 3

# The percentage of backend capacity is reserved (integer value)
# Minimum value: 0
# Maximum value: 100
#reserved_percentage = 0

# Prefix for iSCSI volumes (string value)
#iscsi_target_prefix = iqn.2010-10.org.openstack:

# The IP address that the iSCSI daemon is listening on (string value)
#iscsi_ip_address = $my_ip

# The list of secondary IP addresses of the iSCSI daemon (list value)
#iscsi_secondary_ip_addresses =

# The port that the iSCSI daemon is listening on (port value)
# Minimum value: 0
# Maximum value: 65535
#iscsi_port = 3260

# The maximum number of times to rescan targets to find volume (integer value)
#num_volume_device_scan_tries = 3

# The backend name for a given driver implementation (string value)
#volume_backend_name = <None>

# Do we attach/detach volumes in cinder using multipath for volume to image and
# image to volume transfers? (boolean value)
#use_multipath_for_image_xfer = false

# If this is set to True, attachment of volumes for image transfer will be
# aborted when multipathd is not running. Otherwise, it will fallback to single
# path. (boolean value)
#enforce_multipath_for_image_xfer = false

# Method used to wipe old volumes (string value)
# Allowed values: none, zero
#volume_clear = zero

# Size in MiB to wipe at start of old volumes. 1024 MiBat max. 0 => all
# (integer value)
# Maximum value: 1024
#volume_clear_size = 0

# The flag to pass to ionice to alter the i/o priority of the process used to
# zero a volume after deletion, for example "-c3" for idle only priority.
# (string value)
#volume_clear_ionice = <None>

# iSCSI target user-land tool to use. tgtadm is default, use lioadm for LIO
# iSCSI support, scstadmin for SCST target support, ietadm for iSCSI Enterprise
# Target, iscsictl for Chelsio iSCSI Target or fake for testing. (string value)
# Allowed values: tgtadm, lioadm, scstadmin, iscsictl, ietadm, fake
#iscsi_helper = tgtadm

# Volume configuration file storage directory (string value)
#volumes_dir = $state_path/volumes

# IET configuration file (string value)
#iet_conf = /etc/iet/ietd.conf

# Chiscsi (CXT) global defaults configuration file (string value)
#chiscsi_conf = /etc/chelsio-iscsi/chiscsi.conf

# Sets the behavior of the iSCSI target to either perform blockio or fileio
# optionally, auto can be set and Cinder will autodetect type of backing device
# (string value)
# Allowed values: blockio, fileio, auto
#iscsi_iotype = fileio

# The default block size used when copying/clearing volumes (string value)
#volume_dd_blocksize = 1M

# The blkio cgroup name to be used to limit bandwidth of volume copy (string
# value)
#volume_copy_blkio_cgroup_name = cinder-volume-copy

# The upper limit of bandwidth of volume copy. 0 => unlimited (integer value)
#volume_copy_bps_limit = 0

# Sets the behavior of the iSCSI target to either perform write-back(on) or
# write-through(off). This parameter is valid if iscsi_helper is set to tgtadm.
# (string value)
# Allowed values: on, off
#iscsi_write_cache = on

# Sets the target-specific flags for the iSCSI target. Only used for tgtadm to
# specify backing device flags using bsoflags option. The specified string is
# passed as is to the underlying tool. (string value)
#iscsi_target_flags =

# Determines the iSCSI protocol for new iSCSI volumes, created with tgtadm or
# lioadm target helpers. In order to enable RDMA, this parameter should be set
# with the value "iser". The supported iSCSI protocol values are "iscsi" and
# "iser". (string value)
# Allowed values: iscsi, iser
#iscsi_protocol = iscsi

# The path to the client certificate key for verification, if the driver
# supports it. (string value)
#driver_client_cert_key = <None>

# The path to the client certificate for verification, if the driver supports
# it. (string value)
#driver_client_cert = <None>

# Tell driver to use SSL for connection to backend storage if the driver
# supports it. (boolean value)
#driver_use_ssl = false

# Float representation of the over subscription ratio when thin provisioning is
# involved. Default ratio is 20.0, meaning provisioned capacity can be 20 times
# of the total physical capacity. If the ratio is 10.5, it means provisioned
# capacity can be 10.5 times of the total physical capacity. A ratio of 1.0
# means provisioned capacity cannot exceed the total physical capacity. The
# ratio has to be a minimum of 1.0. (floating point value)
#max_over_subscription_ratio = 20.0

# Certain ISCSI targets have predefined target names, SCST target driver uses
# this name. (string value)
#scst_target_iqn_name = <None>

# SCST target implementation can choose from multiple SCST target drivers.
# (string value)
#scst_target_driver = iscsi

# Option to enable/disable CHAP authentication for targets. (boolean value)
#use_chap_auth = false

# CHAP user name. (string value)
#chap_username =

# Password for specified CHAP account name. (string value)
#chap_password =

# Namespace for driver private data values to be saved in. (string value)
#driver_data_namespace = <None>

# String representation for an equation that will be used to filter hosts. Only
# used when the driver filter is set to be used by the Cinder scheduler.
# (string value)
#filter_function = <None>

# String representation for an equation that will be used to determine the
# goodness of a host. Only used when using the goodness weigher is set to be
# used by the Cinder scheduler. (string value)
#goodness_function = <None>

# If set to True the http client will validate the SSL certificate of the
# backend endpoint. (boolean value)
#driver_ssl_cert_verify = false

# 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)
#driver_ssl_cert_path = <None>

# List of options that control which trace info is written to the DEBUG log
# level to assist developers. Valid values are method and api. (list value)
#trace_flags = <None>

# Multi opt of dictionaries to represent a replication target device.  This
# option may be specified multiple times in a single config section to specify
# multiple replication target devices.  Each entry takes the standard dict
# config form: replication_device =
# target_device_id:<required>,key1:value1,key2:value2... (dict value)
#replication_device = <None>

# If set to True, upload-to-image in raw format will create a cloned volume and
# register its location to the image service, instead of uploading the volume
# content. The cinder backend and locations support must be enabled in the
# image service, and glance_api_version must be set to 2. (boolean value)
#image_upload_use_cinder_backend = false

# If set to True, the image volume created by upload-to-image will be placed in
# the internal tenant. Otherwise, the image volume is created in the current
# context's tenant. (boolean value)
#image_upload_use_internal_tenant = false

# Enable the image volume cache for this backend. (boolean value)
#image_volume_cache_enabled = false

# Max size of the image volume cache for this backend in GB. 0 => unlimited.
# (integer value)
#image_volume_cache_max_size_gb = 0

# Max number of entries allowed in the image volume cache. 0 => unlimited.
# (integer value)
#image_volume_cache_max_count = 0

# Report to clients of Cinder that the backend supports discard (aka.
# trim/unmap). This will not actually change the behavior of the backend or the
# client directly, it will only notify that it can be used. (boolean value)
#report_discard_supported = false

# Protocol for transferring data between host and storage back-end. (string
# value)
# Allowed values: iscsi, fc
#storage_protocol = iscsi

# If this is set to True, the backup_use_temp_snapshot path will be used during
# the backup. Otherwise, it will use backup_use_temp_volume path. (boolean
# value)
#backup_use_temp_snapshot = false

# Set this to True when you want to allow an unsupported driver to start.
# Drivers that haven't maintained a working CI system and testing are marked as
# unsupported until CI is working again.  This also marks a driver as
# deprecated and may be removed in the next release. (boolean value)
#enable_unsupported_driver = false

# Availability zone for this volume backend. If not set, the
# storage_availability_zone option value is used as the default for all
# backends. (string value)
#backend_availability_zone = <None>

# The maximum number of times to rescan iSER targetto find volume (integer
# value)
#num_iser_scan_tries = 3

# Prefix for iSER volumes (string value)
#iser_target_prefix = iqn.2010-10.org.openstack:

# The IP address that the iSER daemon is listening on (string value)
#iser_ip_address = $my_ip

# The port that the iSER daemon is listening on (port value)
# Minimum value: 0
# Maximum value: 65535
#iser_port = 3260

# The name of the iSER target user-land tool to use (string value)
#iser_helper = tgtadm

# Timeout for creating the volume to migrate to when performing volume
# migration (seconds) (integer value)
#migration_create_volume_timeout_secs = 300

# Offload pending volume delete during volume service startup (boolean value)
#volume_service_inithost_offload = false

# FC Zoning mode configured, only 'fabric' is supported now. (string value)
#zoning_mode = <None>

# 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>

#
# From oslo.config
#

# Path to a config file to use. Multiple config files can be specified, with
# values in later files taking precedence. Defaults to %(default)s. (unknown
# value)
#config_file = ~/.project/project.conf,~/project.conf,/etc/project/project.conf,/etc/project.conf

# Path to a config directory to pull `*.conf` files from. This file set is
# sorted, so as to provide a predictable parse order if individual options are
# over-ridden. The set is parsed after the file(s) specified via previous
# --config-file, arguments hence over-ridden options in the directory take
# precedence. (list value)
#config_dir = ~/.project/project.conf.d/,~/project.conf.d/,/etc/project/project.conf.d/,/etc/project.conf.d/

#
# From oslo.log
#

# If set to true, the logging level will be set to DEBUG instead of the default
# INFO level. (boolean value)
# Note: This option can be changed without restarting.
#debug = false

# The name of a logging configuration file. This file is appended to any
# existing logging configuration files. For details about logging configuration
# files, see the Python logging module documentation. Note that when logging
# configuration files are used then all logging configuration is set in the
# configuration file and other logging configuration options are ignored (for
# example, logging_context_format_string). (string value)
# Note: This option can be changed without restarting.
# Deprecated group/name - [DEFAULT]/log_config
#log_config_append = <None>

# Defines the format string for %%(asctime)s in log records. Default:
# %(default)s . This option is ignored if log_config_append is set. (string
# value)
#log_date_format = %Y-%m-%d %H:%M:%S

# (Optional) Name of log file to send logging output to. If no default is set,
# logging will go to stderr as defined by use_stderr. This option is ignored if
# log_config_append is set. (string value)
# Deprecated group/name - [DEFAULT]/logfile
#log_file = <None>

# (Optional) The base directory used for relative log_file  paths. This option
# is ignored if log_config_append is set. (string value)
# Deprecated group/name - [DEFAULT]/logdir
#log_dir = <None>

# Uses logging handler designed to watch file system. When log file is moved or
# removed this handler will open a new log file with specified path
# instantaneously. It makes sense only if log_file option is specified and
# Linux platform is used. This option is ignored if log_config_append is set.
# (boolean value)
#watch_log_file = false

# Use syslog for logging. Existing syslog format is DEPRECATED and will be
# changed later to honor RFC5424. This option is ignored if log_config_append
# is set. (boolean value)
#use_syslog = false

# Enable journald for logging. If running in a systemd environment you may wish
# to enable journal support. Doing so will use the journal native protocol
# which includes structured metadata in addition to log messages.This option is
# ignored if log_config_append is set. (boolean value)
#use_journal = false

# Syslog facility to receive log lines. This option is ignored if
# log_config_append is set. (string value)
#syslog_log_facility = LOG_USER

# Log output to standard error. This option is ignored if log_config_append is
# set. (boolean value)
#use_stderr = false

# Format string to use for log messages with context. (string value)
#logging_context_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [%(request_id)s %(user_identity)s] %(instance)s%(message)s

# Format string to use for log messages when context is undefined. (string
# value)
#logging_default_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [-] %(instance)s%(message)s

# Additional data to append to log message when logging level for the message
# is DEBUG. (string value)
#logging_debug_format_suffix = %(funcName)s %(pathname)s:%(lineno)d

# Prefix each line of exception output with this format. (string value)
#logging_exception_prefix = %(asctime)s.%(msecs)03d %(process)d ERROR %(name)s %(instance)s

# Defines the format string for %(user_identity)s that is used in
# logging_context_format_string. (string value)
#logging_user_identity_format = %(user)s %(tenant)s %(domain)s %(user_domain)s %(project_domain)s

# List of package logging levels in logger=LEVEL pairs. This option is ignored
# if log_config_append is set. (list value)
#default_log_levels = amqp=WARN,amqplib=WARN,boto=WARN,qpid=WARN,sqlalchemy=WARN,suds=INFO,oslo.messaging=INFO,oslo_messaging=INFO,iso8601=WARN,requests.packages.urllib3.connectionpool=WARN,urllib3.connectionpool=WARN,websocket=WARN,requests.packages.urllib3.util.retry=WARN,urllib3.util.retry=WARN,keystonemiddleware=WARN,routes.middleware=WARN,stevedore=WARN,taskflow=WARN,keystoneauth=WARN,oslo.cache=INFO,dogpile.core.dogpile=INFO

# Enables or disables publication of error events. (boolean value)
#publish_errors = false

# The format for an instance that is passed with the log message. (string
# value)
#instance_format = "[instance: %(uuid)s] "

# The format for an instance UUID that is passed with the log message. (string
# value)
#instance_uuid_format = "[instance: %(uuid)s] "

# Interval, number of seconds, of log rate limiting. (integer value)
#rate_limit_interval = 0

# Maximum number of logged messages per rate_limit_interval. (integer value)
#rate_limit_burst = 0

# Log level name used by rate limiting: CRITICAL, ERROR, INFO, WARNING, DEBUG
# or empty string. Logs with level greater or equal to rate_limit_except_level
# are not filtered. An empty string means that all levels are filtered. (string
# value)
#rate_limit_except_level = CRITICAL

# Enables or disables fatal status of deprecations. (boolean value)
#fatal_deprecations = false

#
# From oslo.messaging
#

# Size of RPC connection pool. (integer value)
#rpc_conn_pool_size = 30

# The pool size limit for connections expiration policy (integer value)
#conn_pool_min_size = 2

# The time-to-live in sec of idle connections in the pool (integer value)
#conn_pool_ttl = 1200

# ZeroMQ bind address. Should be a wildcard (*), an ethernet interface, or IP.
# The "host" option should point or resolve to this address. (string value)
#rpc_zmq_bind_address = *

# MatchMaker driver. (string value)
# Allowed values: redis, sentinel, dummy
#rpc_zmq_matchmaker = redis

# Number of ZeroMQ contexts, defaults to 1. (integer value)
#rpc_zmq_contexts = 1

# Maximum number of ingress messages to locally buffer per topic. Default is
# unlimited. (integer value)
#rpc_zmq_topic_backlog = <None>

# Directory for holding IPC sockets. (string value)
#rpc_zmq_ipc_dir = /var/run/openstack

# Name of this node. Must be a valid hostname, FQDN, or IP address. Must match
# "host" option, if running Nova. (string value)
#rpc_zmq_host = localhost

# Number of seconds to wait before all pending messages will be sent after
# closing a socket. The default value of -1 specifies an infinite linger
# period. The value of 0 specifies no linger period. Pending messages shall be
# discarded immediately when the socket is closed. Positive values specify an
# upper bound for the linger period. (integer value)
# Deprecated group/name - [DEFAULT]/rpc_cast_timeout
#zmq_linger = -1

# The default number of seconds that poll should wait. Poll raises timeout
# exception when timeout expired. (integer value)
#rpc_poll_timeout = 1

# Expiration timeout in seconds of a name service record about existing target
# ( < 0 means no timeout). (integer value)
#zmq_target_expire = 300

# Update period in seconds of a name service record about existing target.
# (integer value)
#zmq_target_update = 180

# Use PUB/SUB pattern for fanout methods. PUB/SUB always uses proxy. (boolean
# value)
#use_pub_sub = false

# Use ROUTER remote proxy. (boolean value)
#use_router_proxy = false

# This option makes direct connections dynamic or static. It makes sense only
# with use_router_proxy=False which means to use direct connections for direct
# message types (ignored otherwise). (boolean value)
#use_dynamic_connections = false

# How many additional connections to a host will be made for failover reasons.
# This option is actual only in dynamic connections mode. (integer value)
#zmq_failover_connections = 2

# Minimal port number for random ports range. (port value)
# Minimum value: 0
# Maximum value: 65535
#rpc_zmq_min_port = 49153

# Maximal port number for random ports range. (integer value)
# Minimum value: 1
# Maximum value: 65536
#rpc_zmq_max_port = 65536

# Number of retries to find free port number before fail with ZMQBindError.
# (integer value)
#rpc_zmq_bind_port_retries = 100

# Default serialization mechanism for serializing/deserializing
# outgoing/incoming messages (string value)
# Allowed values: json, msgpack
#rpc_zmq_serialization = json

# This option configures round-robin mode in zmq socket. True means not keeping
# a queue when server side disconnects. False means to keep queue and messages
# even if server is disconnected, when the server appears we send all
# accumulated messages to it. (boolean value)
#zmq_immediate = true

# Enable/disable TCP keepalive (KA) mechanism. The default value of -1 (or any
# other negative value) means to skip any overrides and leave it to OS default;
# 0 and 1 (or any other positive value) mean to disable and enable the option
# respectively. (integer value)
#zmq_tcp_keepalive = -1

# The duration between two keepalive transmissions in idle condition. The unit
# is platform dependent, for example, seconds in Linux, milliseconds in Windows
# etc. The default value of -1 (or any other negative value and 0) means to
# skip any overrides and leave it to OS default. (integer value)
#zmq_tcp_keepalive_idle = -1

# The number of retransmissions to be carried out before declaring that remote
# end is not available. The default value of -1 (or any other negative value
# and 0) means to skip any overrides and leave it to OS default. (integer
# value)
#zmq_tcp_keepalive_cnt = -1

# The duration between two successive keepalive retransmissions, if
# acknowledgement to the previous keepalive transmission is not received. The
# unit is platform dependent, for example, seconds in Linux, milliseconds in
# Windows etc. The default value of -1 (or any other negative value and 0)
# means to skip any overrides and leave it to OS default. (integer value)
#zmq_tcp_keepalive_intvl = -1

# Maximum number of (green) threads to work concurrently. (integer value)
#rpc_thread_pool_size = 100

# Expiration timeout in seconds of a sent/received message after which it is
# not tracked anymore by a client/server. (integer value)
#rpc_message_ttl = 300

# Wait for message acknowledgements from receivers. This mechanism works only
# via proxy without PUB/SUB. (boolean value)
#rpc_use_acks = false

# Number of seconds to wait for an ack from a cast/call. After each retry
# attempt this timeout is multiplied by some specified multiplier. (integer
# value)
#rpc_ack_timeout_base = 15

# Number to multiply base ack timeout by after each retry attempt. (integer
# value)
#rpc_ack_timeout_multiplier = 2

# Default number of message sending attempts in case of any problems occurred:
# positive value N means at most N retries, 0 means no retries, None or -1 (or
# any other negative values) mean to retry forever. This option is used only if
# acknowledgments are enabled. (integer value)
#rpc_retry_attempts = 3

# List of publisher hosts SubConsumer can subscribe on. This option has higher
# priority then the default publishers list taken from the matchmaker. (list
# value)
#subscribe_on =

# Size of executor thread pool when executor is threading or eventlet. (integer
# value)
# Deprecated group/name - [DEFAULT]/rpc_thread_pool_size
#executor_thread_pool_size = 64

# Seconds to wait for a response from a call. (integer value)
#rpc_response_timeout = 60

# A URL representing the messaging driver to use and its full configuration.
# (string value)
#transport_url = <None>

# DEPRECATED: The messaging driver to use, defaults to rabbit. Other drivers
# include amqp and zmq. (string value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: Replaced by [DEFAULT]/transport_url
#rpc_backend = rabbit

# The default exchange under which topics are scoped. May be overridden by an
# exchange name specified in the transport_url option. (string value)
#control_exchange = openstack

#
# From oslo.service.periodic_task
#

# Some periodic tasks can be run in a separate process. Should we run them
# here? (boolean value)
#run_external_periodic_tasks = true

#
# From oslo.service.service
#

# Enable eventlet backdoor.  Acceptable values are 0, <port>, and
# <start>:<end>, where 0 results in listening on a random tcp port number;
# <port> results in listening on the specified port number (and not enabling
# backdoor if that port is in use); and <start>:<end> results in listening on
# the smallest unused port number within the specified range of port numbers.
# The chosen port is displayed in the service's log file. (string value)
#backdoor_port = <None>

# Enable eventlet backdoor, using the provided path as a unix socket that can
# receive connections. This option is mutually exclusive with 'backdoor_port'
# in that only one should be provided. If both are provided then the existence
# of this option overrides the usage of that option. (string value)
#backdoor_socket = <None>

# Enables or disables logging values of all registered options when starting a
# service (at DEBUG level). (boolean value)
#log_options = true

# Specify a timeout after which a gracefully shutdown server will exit. Zero
# value means endless wait. (integer value)
#graceful_shutdown_timeout = 60

#
# From oslo.service.wsgi
#

# File name for the paste.deploy config for api service (string value)
#api_paste_config = api-paste.ini

# A python format string that is used as the template to generate log lines.
# The following values can beformatted into it: client_ip, date_time,
# request_line, status_code, body_length, wall_seconds. (string value)
#wsgi_log_format = %(client_ip)s "%(request_line)s" status: %(status_code)s  len: %(body_length)s time: %(wall_seconds).7f

# Sets the value of TCP_KEEPIDLE in seconds for each server socket. Not
# supported on OS X. (integer value)
#tcp_keepidle = 600

# Size of the pool of greenthreads used by wsgi (integer value)
#wsgi_default_pool_size = 100

# Maximum line size of message headers to be accepted. max_header_line may need
# to be increased when using large tokens (typically those generated when
# keystone is configured to use PKI tokens with big service catalogs). (integer
# value)
#max_header_line = 16384

# If False, closes the client socket connection explicitly. (boolean value)
#wsgi_keep_alive = true

# Timeout for client connections' socket operations. If an incoming connection
# is idle for this number of seconds it will be closed. A value of '0' means
# wait forever. (integer value)
#client_socket_timeout = 900


[backend]

#
# From cinder
#

# Backend override of host value. (string value)
#backend_host = <None>


[backend_defaults]

#
# From cinder
#

# Number of times to attempt to run flakey shell commands (integer value)
#num_shell_tries = 3

# The percentage of backend capacity is reserved (integer value)
# Minimum value: 0
# Maximum value: 100
#reserved_percentage = 0

# Prefix for iSCSI volumes (string value)
#iscsi_target_prefix = iqn.2010-10.org.openstack:

# The IP address that the iSCSI daemon is listening on (string value)
#iscsi_ip_address = $my_ip

# The list of secondary IP addresses of the iSCSI daemon (list value)
#iscsi_secondary_ip_addresses =

# The port that the iSCSI daemon is listening on (port value)
# Minimum value: 0
# Maximum value: 65535
#iscsi_port = 3260

# The maximum number of times to rescan targets to find volume (integer value)
#num_volume_device_scan_tries = 3

# The backend name for a given driver implementation (string value)
#volume_backend_name = <None>

# Do we attach/detach volumes in cinder using multipath for volume to image and
# image to volume transfers? (boolean value)
#use_multipath_for_image_xfer = false

# If this is set to True, attachment of volumes for image transfer will be
# aborted when multipathd is not running. Otherwise, it will fallback to single
# path. (boolean value)
#enforce_multipath_for_image_xfer = false

# Method used to wipe old volumes (string value)
# Allowed values: none, zero
#volume_clear = zero

# Size in MiB to wipe at start of old volumes. 1024 MiBat max. 0 => all
# (integer value)
# Maximum value: 1024
#volume_clear_size = 0

# The flag to pass to ionice to alter the i/o priority of the process used to
# zero a volume after deletion, for example "-c3" for idle only priority.
# (string value)
#volume_clear_ionice = <None>

# iSCSI target user-land tool to use. tgtadm is default, use lioadm for LIO
# iSCSI support, scstadmin for SCST target support, ietadm for iSCSI Enterprise
# Target, iscsictl for Chelsio iSCSI Target or fake for testing. (string value)
# Allowed values: tgtadm, lioadm, scstadmin, iscsictl, ietadm, fake
#iscsi_helper = tgtadm

# Volume configuration file storage directory (string value)
#volumes_dir = $state_path/volumes

# IET configuration file (string value)
#iet_conf = /etc/iet/ietd.conf

# Chiscsi (CXT) global defaults configuration file (string value)
#chiscsi_conf = /etc/chelsio-iscsi/chiscsi.conf

# Sets the behavior of the iSCSI target to either perform blockio or fileio
# optionally, auto can be set and Cinder will autodetect type of backing device
# (string value)
# Allowed values: blockio, fileio, auto
#iscsi_iotype = fileio

# The default block size used when copying/clearing volumes (string value)
#volume_dd_blocksize = 1M

# The blkio cgroup name to be used to limit bandwidth of volume copy (string
# value)
#volume_copy_blkio_cgroup_name = cinder-volume-copy

# The upper limit of bandwidth of volume copy. 0 => unlimited (integer value)
#volume_copy_bps_limit = 0

# Sets the behavior of the iSCSI target to either perform write-back(on) or
# write-through(off). This parameter is valid if iscsi_helper is set to tgtadm.
# (string value)
# Allowed values: on, off
#iscsi_write_cache = on

# Sets the target-specific flags for the iSCSI target. Only used for tgtadm to
# specify backing device flags using bsoflags option. The specified string is
# passed as is to the underlying tool. (string value)
#iscsi_target_flags =

# Determines the iSCSI protocol for new iSCSI volumes, created with tgtadm or
# lioadm target helpers. In order to enable RDMA, this parameter should be set
# with the value "iser". The supported iSCSI protocol values are "iscsi" and
# "iser". (string value)
# Allowed values: iscsi, iser
#iscsi_protocol = iscsi

# The path to the client certificate key for verification, if the driver
# supports it. (string value)
#driver_client_cert_key = <None>

# The path to the client certificate for verification, if the driver supports
# it. (string value)
#driver_client_cert = <None>

# Tell driver to use SSL for connection to backend storage if the driver
# supports it. (boolean value)
#driver_use_ssl = false

# Float representation of the over subscription ratio when thin provisioning is
# involved. Default ratio is 20.0, meaning provisioned capacity can be 20 times
# of the total physical capacity. If the ratio is 10.5, it means provisioned
# capacity can be 10.5 times of the total physical capacity. A ratio of 1.0
# means provisioned capacity cannot exceed the total physical capacity. The
# ratio has to be a minimum of 1.0. (floating point value)
#max_over_subscription_ratio = 20.0

# Certain ISCSI targets have predefined target names, SCST target driver uses
# this name. (string value)
#scst_target_iqn_name = <None>

# SCST target implementation can choose from multiple SCST target drivers.
# (string value)
#scst_target_driver = iscsi

# Option to enable/disable CHAP authentication for targets. (boolean value)
#use_chap_auth = false

# CHAP user name. (string value)
#chap_username =

# Password for specified CHAP account name. (string value)
#chap_password =

# Namespace for driver private data values to be saved in. (string value)
#driver_data_namespace = <None>

# String representation for an equation that will be used to filter hosts. Only
# used when the driver filter is set to be used by the Cinder scheduler.
# (string value)
#filter_function = <None>

# String representation for an equation that will be used to determine the
# goodness of a host. Only used when using the goodness weigher is set to be
# used by the Cinder scheduler. (string value)
#goodness_function = <None>

# If set to True the http client will validate the SSL certificate of the
# backend endpoint. (boolean value)
#driver_ssl_cert_verify = false

# 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)
#driver_ssl_cert_path = <None>

# List of options that control which trace info is written to the DEBUG log
# level to assist developers. Valid values are method and api. (list value)
#trace_flags = <None>

# Multi opt of dictionaries to represent a replication target device.  This
# option may be specified multiple times in a single config section to specify
# multiple replication target devices.  Each entry takes the standard dict
# config form: replication_device =
# target_device_id:<required>,key1:value1,key2:value2... (dict value)
#replication_device = <None>

# If set to True, upload-to-image in raw format will create a cloned volume and
# register its location to the image service, instead of uploading the volume
# content. The cinder backend and locations support must be enabled in the
# image service, and glance_api_version must be set to 2. (boolean value)
#image_upload_use_cinder_backend = false

# If set to True, the image volume created by upload-to-image will be placed in
# the internal tenant. Otherwise, the image volume is created in the current
# context's tenant. (boolean value)
#image_upload_use_internal_tenant = false

# Enable the image volume cache for this backend. (boolean value)
#image_volume_cache_enabled = false

# Max size of the image volume cache for this backend in GB. 0 => unlimited.
# (integer value)
#image_volume_cache_max_size_gb = 0

# Max number of entries allowed in the image volume cache. 0 => unlimited.
# (integer value)
#image_volume_cache_max_count = 0

# Report to clients of Cinder that the backend supports discard (aka.
# trim/unmap). This will not actually change the behavior of the backend or the
# client directly, it will only notify that it can be used. (boolean value)
#report_discard_supported = false

# Protocol for transferring data between host and storage back-end. (string
# value)
# Allowed values: iscsi, fc
#storage_protocol = iscsi

# If this is set to True, the backup_use_temp_snapshot path will be used during
# the backup. Otherwise, it will use backup_use_temp_volume path. (boolean
# value)
#backup_use_temp_snapshot = false

# Set this to True when you want to allow an unsupported driver to start.
# Drivers that haven't maintained a working CI system and testing are marked as
# unsupported until CI is working again.  This also marks a driver as
# deprecated and may be removed in the next release. (boolean value)
#enable_unsupported_driver = false

# Availability zone for this volume backend. If not set, the
# storage_availability_zone option value is used as the default for all
# backends. (string value)
#backend_availability_zone = <None>

# The maximum number of times to rescan iSER targetto find volume (integer
# value)
#num_iser_scan_tries = 3

# Prefix for iSER volumes (string value)
#iser_target_prefix = iqn.2010-10.org.openstack:

# The IP address that the iSER daemon is listening on (string value)
#iser_ip_address = $my_ip

# The port that the iSER daemon is listening on (port value)
# Minimum value: 0
# Maximum value: 65535
#iser_port = 3260

# The name of the iSER target user-land tool to use (string value)
#iser_helper = tgtadm

# List of all available devices (list value)
#available_devices =

# IP address/hostname of Blockbridge API. (string value)
#blockbridge_api_host = <None>

# Override HTTPS port to connect to Blockbridge API server. (integer value)
#blockbridge_api_port = <None>

# Blockbridge API authentication scheme (token or password) (string value)
# Allowed values: token, password
#blockbridge_auth_scheme = token

# Blockbridge API token (for auth scheme 'token') (string value)
#blockbridge_auth_token = <None>

# Blockbridge API user (for auth scheme 'password') (string value)
#blockbridge_auth_user = <None>

# Blockbridge API password (for auth scheme 'password') (string value)
#blockbridge_auth_password = <None>

# Defines the set of exposed pools and their associated backend query strings
# (dict value)
#blockbridge_pools = OpenStack:+openstack

# Default pool name if unspecified. (string value)
#blockbridge_default_pool = <None>

# RPC port to connect to Coho Data MicroArray (integer value)
#coho_rpc_port = 2049

# Hostname for the CoprHD Instance (string value)
#coprhd_hostname = <None>

# Port for the CoprHD Instance (port value)
# Minimum value: 0
# Maximum value: 65535
#coprhd_port = 4443

# Username for accessing the CoprHD Instance (string value)
#coprhd_username = <None>

# Password for accessing the CoprHD Instance (string value)
#coprhd_password = <None>

# Tenant to utilize within the CoprHD Instance (string value)
#coprhd_tenant = <None>

# Project to utilize within the CoprHD Instance (string value)
#coprhd_project = <None>

# Virtual Array to utilize within the CoprHD Instance (string value)
#coprhd_varray = <None>

# True | False to indicate if the storage array in CoprHD is VMAX or VPLEX
# (boolean value)
#coprhd_emulate_snapshot = false

# Rest Gateway IP or FQDN for Scaleio (string value)
#coprhd_scaleio_rest_gateway_host = None

# Rest Gateway Port for Scaleio (port value)
# Minimum value: 0
# Maximum value: 65535
#coprhd_scaleio_rest_gateway_port = 4984

# Username for Rest Gateway (string value)
#coprhd_scaleio_rest_server_username = <None>

# Rest Gateway Password (string value)
#coprhd_scaleio_rest_server_password = <None>

# verify server certificate (boolean value)
#scaleio_verify_server_certificate = false

# Server certificate path (string value)
#scaleio_server_certificate_path = <None>

# Datera API port. (string value)
#datera_api_port = 7717

# DEPRECATED: Datera API version. (string value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
#datera_api_version = 2

# Timeout for HTTP 503 retry messages (integer value)
#datera_503_timeout = 120

# Interval between 503 retries (integer value)
#datera_503_interval = 5

# True to set function arg and return logging (boolean value)
#datera_debug = false

# ONLY FOR DEBUG/TESTING PURPOSES
# True to set replica_count to 1 (boolean value)
#datera_debug_replica_count_override = false

# If set to 'Map' --> OpenStack project ID will be mapped implicitly to Datera
# tenant ID
# If set to 'None' --> Datera tenant ID will not be used during volume
# provisioning
# If set to anything else --> Datera tenant ID will be the provided value
# (string value)
#datera_tenant_id = <None>

# Set to True to disable profiling in the Datera driver (boolean value)
#datera_disable_profiler = false

# Group name to use for creating volumes. Defaults to "group-0". (string value)
#eqlx_group_name = group-0

# Maximum retry count for reconnection. Default is 5. (integer value)
# Minimum value: 0
#eqlx_cli_max_retries = 5

# Pool in which volumes will be created. Defaults to "default". (string value)
#eqlx_pool = default

# Storage Center System Serial Number (integer value)
#dell_sc_ssn = 64702

# Dell API port (port value)
# Minimum value: 0
# Maximum value: 65535
#dell_sc_api_port = 3033

# Name of the server folder to use on the Storage Center (string value)
#dell_sc_server_folder = openstack

# Name of the volume folder to use on the Storage Center (string value)
#dell_sc_volume_folder = openstack

# Enable HTTPS SC certificate verification (boolean value)
#dell_sc_verify_cert = false

# IP address of secondary DSM controller (string value)
#secondary_san_ip =

# Secondary DSM user name (string value)
#secondary_san_login = Admin

# Secondary DSM user password name (string value)
#secondary_san_password =

# Secondary Dell API port (port value)
# Minimum value: 0
# Maximum value: 65535
#secondary_sc_api_port = 3033

# Domain IP to be excluded from iSCSI returns. (IP address value)
#excluded_domain_ip = <None>

# Server OS type to use when creating a new server on the Storage Center.
# (string value)
#dell_server_os = Red Hat Linux 6.x

# REST server port. (string value)
#sio_rest_server_port = 443

# Verify server certificate. (boolean value)
#sio_verify_server_certificate = false

# Server certificate path. (string value)
#sio_server_certificate_path = <None>

# Round up volume capacity. (boolean value)
#sio_round_volume_capacity = true

# Unmap volume before deletion. (boolean value)
#sio_unmap_volume_before_deletion = false

# Storage Pools. (string value)
#sio_storage_pools = <None>

# DEPRECATED: Protection Domain ID. (string value)
# This option is deprecated for removal since Pike.
# Its value may be silently ignored in the future.
# Reason: Replaced by sio_storage_pools option
#sio_protection_domain_id = <None>

# DEPRECATED: Protection Domain name. (string value)
# This option is deprecated for removal since Pike.
# Its value may be silently ignored in the future.
# Reason: Replaced by sio_storage_pools option
#sio_protection_domain_name = <None>

# DEPRECATED: Storage Pool name. (string value)
# This option is deprecated for removal since Pike.
# Its value may be silently ignored in the future.
# Reason: Replaced by sio_storage_pools option
#sio_storage_pool_name = <None>

# DEPRECATED: Storage Pool ID. (string value)
# This option is deprecated for removal since Pike.
# Its value may be silently ignored in the future.
# Reason: Replaced by sio_storage_pools option
#sio_storage_pool_id = <None>

# ScaleIO API version. (string value)
#sio_server_api_version = <None>

# max_over_subscription_ratio setting for the ScaleIO driver. This replaces the
# general max_over_subscription_ratio which has no effect in this
# driver.Maximum value allowed for ScaleIO is 10.0. (floating point value)
#sio_max_over_subscription_ratio = 10.0

# Allow volumes to be created in Storage Pools when zero padding is disabled.
# This option should not be enabled if multiple tenants will utilize volumes
# from a shared Storage Pool. (boolean value)
#sio_allow_non_padded_volumes = false

# A comma-separated list of storage pool names to be used. (list value)
#unity_storage_pool_names =

# A comma-separated list of iSCSI or FC ports to be used. Each port can be
# Unix-style glob expressions. (list value)
#unity_io_ports =

# To remove the host from Unity when the last LUN is detached from it. By
# default, it is False. (boolean value)
#remove_empty_host = false

# Use this file for cinder emc plugin config data. (string value)
#cinder_dell_emc_config_file = /etc/cinder/cinder_dell_emc_config.xml

# Use this value to specify length of the interval in seconds. (string value)
#interval = 3

# Use this value to specify number of retries. (string value)
#retries = 200

# Use this value to enable the initiator_check. (boolean value)
#initiator_check = false

# VNX authentication scope type. By default, the value is global. (string
# value)
#storage_vnx_authentication_type = global

# Directory path that contains the VNX security file. Make sure the security
# file is generated first. (string value)
#storage_vnx_security_file_dir = <None>

# Naviseccli Path. (string value)
#naviseccli_path = <None>

# Comma-separated list of storage pool names to be used. (list value)
#storage_vnx_pool_names = <None>

# Default timeout for CLI operations in minutes. For example, LUN migration is
# a typical long running operation, which depends on the LUN size and the load
# of the array. An upper bound in the specific deployment can be set to avoid
# unnecessary long wait. By default, it is 365 days long. (integer value)
#default_timeout = 31536000

# Default max number of LUNs in a storage group. By default, the value is 255.
# (integer value)
#max_luns_per_storage_group = 255

# To destroy storage group when the last LUN is removed from it. By default,
# the value is False. (boolean value)
#destroy_empty_storage_group = false

# Mapping between hostname and its iSCSI initiator IP addresses. (string value)
#iscsi_initiators = <None>

# Comma separated iSCSI or FC ports to be used in Nova or Cinder. (list value)
#io_port_list = <None>

# Automatically register initiators. By default, the value is False. (boolean
# value)
#initiator_auto_registration = false

# Automatically deregister initiators after the related storage group is
# destroyed. By default, the value is False. (boolean value)
#initiator_auto_deregistration = false

# Report free_capacity_gb as 0 when the limit to maximum number of pool LUNs is
# reached. By default, the value is False. (boolean value)
#check_max_pool_luns_threshold = false

# Delete a LUN even if it is in Storage Groups. By default, the value is False.
# (boolean value)
#force_delete_lun_in_storagegroup = false

# Force LUN creation even if the full threshold of pool is reached. By default,
# the value is False. (boolean value)
#ignore_pool_full_threshold = false

# XMS cluster id in multi-cluster environment (string value)
#xtremio_cluster_name =

# Number of retries in case array is busy (integer value)
#xtremio_array_busy_retry_count = 5

# Interval between retries in case array is busy (integer value)
#xtremio_array_busy_retry_interval = 5

# Number of volumes created from each cached glance image (integer value)
#xtremio_volumes_per_glance_cache = 100

# The IP of DMS client socket server (IP address value)
#disco_client = 127.0.0.1

# The port to connect DMS client socket server (port value)
# Minimum value: 0
# Maximum value: 65535
#disco_client_port = 9898

# DEPRECATED: Path to the wsdl file to communicate with DISCO request manager
# (string value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
#disco_wsdl_path = /etc/cinder/DISCOService.wsdl

# The IP address of the REST server (IP address value)
# Deprecated group/name - [DEFAULT]/rest_ip
#disco_rest_ip = <None>

# Use soap client or rest client for communicating with DISCO. Possible values
# are "soap" or "rest". (string value)
# Allowed values: soap, rest
# Deprecated group/name - [DEFAULT]/choice_client
#disco_choice_client = <None>

# The port of DISCO source API (port value)
# Minimum value: 0
# Maximum value: 65535
#disco_src_api_port = 8080

# Prefix before volume name to differentiate DISCO volume created through
# openstack and the other ones (string value)
# Deprecated group/name - [backend_defaults]/volume_name_prefix
#disco_volume_name_prefix = openstack-

# How long we check whether a snapshot is finished before we give up (integer
# value)
# Deprecated group/name - [backend_defaults]/snapshot_check_timeout
#disco_snapshot_check_timeout = 3600

# How long we check whether a restore is finished before we give up (integer
# value)
# Deprecated group/name - [backend_defaults]/restore_check_timeout
#disco_restore_check_timeout = 3600

# How long we check whether a clone is finished before we give up (integer
# value)
# Deprecated group/name - [backend_defaults]/clone_check_timeout
#disco_clone_check_timeout = 3600

# How long we wait before retrying to get an item detail (integer value)
# Deprecated group/name - [backend_defaults]/retry_interval
#disco_retry_interval = 1

# Number of nodes that should replicate the data. (integer value)
#drbdmanage_redundancy = 1

# Resource deployment completion wait policy. (string value)
#drbdmanage_resource_policy = {"ratio": "0.51", "timeout": "60"}

# Disk options to set on new resources. See http://www.drbd.org/en/doc/users-
# guide-90/re-drbdconf for all the details. (string value)
#drbdmanage_disk_options = {"c-min-rate": "4M"}

# Net options to set on new resources. See http://www.drbd.org/en/doc/users-
# guide-90/re-drbdconf for all the details. (string value)
#drbdmanage_net_options = {"connect-int": "4", "allow-two-primaries": "yes", "ko-count": "30", "max-buffers": "20000", "ping-timeout": "100"}

# Resource options to set on new resources. See http://www.drbd.org/en/doc
# /users-guide-90/re-drbdconf for all the details. (string value)
#drbdmanage_resource_options = {"auto-promote-timeout": "300"}

# Snapshot completion wait policy. (string value)
#drbdmanage_snapshot_policy = {"count": "1", "timeout": "60"}

# Volume resize completion wait policy. (string value)
#drbdmanage_resize_policy = {"timeout": "60"}

# Resource deployment completion wait plugin. (string value)
#drbdmanage_resource_plugin = drbdmanage.plugins.plugins.wait_for.WaitForResource

# Snapshot completion wait plugin. (string value)
#drbdmanage_snapshot_plugin = drbdmanage.plugins.plugins.wait_for.WaitForSnapshot

# Volume resize completion wait plugin. (string value)
#drbdmanage_resize_plugin = drbdmanage.plugins.plugins.wait_for.WaitForVolumeSize

# If set, the c-vol node will receive a useable
#                 /dev/drbdX device, even if the actual data is stored on
#                 other nodes only.
#                 This is useful for debugging, maintenance, and to be
#                 able to do the iSCSI export from the c-vol node. (boolean
# value)
#drbdmanage_devs_on_controller = true

# DEPRECATED: FSS pool id in which FalconStor volumes are stored. (integer
# value)
#fss_pool =

# FSS pool id list in which FalconStor volumes are stored. If you have only one
# pool, use A:<pool-id>. You can also have up to two storage pools, P for
# primary and O for all supporting devices. The usage is P:<primary-pool-id>,O
# :<others-pool-id> (dict value)
# Deprecated group/name - [backend_defaults]/fss_pool
#fss_pools =

# Specifies FSS secondary management IP to be used if san_ip is invalid or
# becomes inaccessible. (string value)
#fss_san_secondary_ip =

# Enable HTTP debugging to FSS (boolean value)
#fss_debug = false

# FSS additional retry list, separate by ; (string value)
#additional_retry_list =

# config file for cinder eternus_dx volume driver (string value)
#cinder_eternus_config_file = /etc/cinder/cinder_fujitsu_eternus_dx.xml

# The flag of thin storage allocation. (boolean value)
#dsware_isthin = false

# Fusionstorage manager ip addr for cinder-volume. (string value)
#dsware_manager =

# Fusionstorage agent ip addr range. (string value)
#fusionstorageagent =

# Pool type, like sata-2copy. (string value)
#pool_type = default

# Pool id permit to use. (list value)
#pool_id_filter =

# Create clone volume timeout. (integer value)
#clone_volume_timeout = 680

# Space network name to use for data transfer (string value)
#hgst_net = Net 1 (IPv4)

# Comma separated list of Space storage servers:devices. ex:
# os1_stor:gbd0,os2_stor:gbd0 (string value)
#hgst_storage_servers = os:gbd0

# Should spaces be redundantly stored (1/0) (string value)
#hgst_redundancy = 0

# User to own created spaces (string value)
#hgst_space_user = root

# Group to own created spaces (string value)
#hgst_space_group = disk

# UNIX mode for created spaces (string value)
#hgst_space_mode = 0600

# Serial number of storage system (string value)
#hitachi_serial_number = <None>

# Name of an array unit (string value)
#hitachi_unit_name = <None>

# Pool ID of storage system (integer value)
#hitachi_pool_id = <None>

# Thin pool ID of storage system (integer value)
#hitachi_thin_pool_id = <None>

# Range of logical device of storage system (string value)
#hitachi_ldev_range = <None>

# Default copy method of storage system (string value)
#hitachi_default_copy_method = FULL

# Copy speed of storage system (integer value)
#hitachi_copy_speed = 3

# Interval to check copy (integer value)
#hitachi_copy_check_interval = 3

# Interval to check copy asynchronously (integer value)
#hitachi_async_copy_check_interval = 10

# Control port names for HostGroup or iSCSI Target (string value)
#hitachi_target_ports = <None>

# Range of group number (string value)
#hitachi_group_range = <None>

# Request for creating HostGroup or iSCSI Target (boolean value)
#hitachi_group_request = false

# Request for FC Zone creating HostGroup (boolean value)
#hitachi_zoning_request = false

# Instance numbers for HORCM (string value)
#hitachi_horcm_numbers = 200,201

# Username of storage system for HORCM (string value)
#hitachi_horcm_user = <None>

# Password of storage system for HORCM (string value)
#hitachi_horcm_password = <None>

# Add to HORCM configuration (boolean value)
#hitachi_horcm_add_conf = true

# Timeout until a resource lock is released, in seconds. The value must be
# between 0 and 7200. (integer value)
#hitachi_horcm_resource_lock_timeout = 600

# Add CHAP user (boolean value)
#hitachi_add_chap_user = false

# iSCSI authentication method (string value)
#hitachi_auth_method = <None>

# iSCSI authentication username (string value)
#hitachi_auth_user = HBSD-CHAP-user

# iSCSI authentication password (string value)
#hitachi_auth_password = HBSD-CHAP-password

# DEPRECATED: Legacy configuration file for HNAS NFS Cinder plugin. This is not
# needed if you fill all configuration on cinder.conf (string value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
#hds_hnas_nfs_config_file = /opt/hds/hnas/cinder_nfs_conf.xml

# Management IP address of HNAS. This can be any IP in the admin address on
# HNAS or the SMU IP. (IP address value)
#hnas_mgmt_ip0 = <None>

# Command to communicate to HNAS. (string value)
#hnas_ssc_cmd = ssc

# HNAS username. (string value)
#hnas_username = <None>

# HNAS password. (string value)
#hnas_password = <None>

# Port to be used for SSH authentication. (port value)
# Minimum value: 0
# Maximum value: 65535
#hnas_ssh_port = 22

# Path to the SSH private key used to authenticate in HNAS SMU. (string value)
#hnas_ssh_private_key = <None>

# The IP of the HNAS cluster admin. Required only for HNAS multi-cluster
# setups. (string value)
#hnas_cluster_admin_ip0 = <None>

# Service 0 pool name (string value)
# Deprecated group/name - [backend_defaults]/hnas_svc0_volume_type
#hnas_svc0_pool_name = <None>

# Service 0 HDP (string value)
#hnas_svc0_hdp = <None>

# Service 1 pool name (string value)
# Deprecated group/name - [backend_defaults]/hnas_svc1_volume_type
#hnas_svc1_pool_name = <None>

# Service 1 HDP (string value)
#hnas_svc1_hdp = <None>

# Service 2 pool name (string value)
# Deprecated group/name - [backend_defaults]/hnas_svc2_volume_type
#hnas_svc2_pool_name = <None>

# Service 2 HDP (string value)
#hnas_svc2_hdp = <None>

# Service 3 pool name: (string value)
# Deprecated group/name - [backend_defaults]/hnas_svc3_volume_type
#hnas_svc3_pool_name = <None>

# Service 3 HDP (string value)
#hnas_svc3_hdp = <None>

# Product number of the storage system. (string value)
#vsp_storage_id = <None>

# Pool number or pool name of the DP pool. (string value)
#vsp_pool = <None>

# Pool number or pool name of the Thin Image pool. (string value)
#vsp_thin_pool = <None>

# Range of the LDEV numbers in the format of 'xxxx-yyyy' that can be used by
# the driver. Values can be in decimal format (e.g. 1000) or in colon-separated
# hexadecimal format (e.g. 00:03:E8). (string value)
#vsp_ldev_range = <None>

# Method of volume copy. FULL indicates full data copy by Shadow Image and THIN
# indicates differential data copy by Thin Image. (string value)
# Allowed values: FULL, THIN
#vsp_default_copy_method = FULL

# Speed at which data is copied by Shadow Image. 1 or 2 indicates low speed, 3
# indicates middle speed, and a value between 4 and 15 indicates high speed.
# (integer value)
# Minimum value: 1
# Maximum value: 15
#vsp_copy_speed = 3

# Interval in seconds at which volume pair synchronization status is checked
# when volume pairs are created. (integer value)
# Minimum value: 1
# Maximum value: 600
#vsp_copy_check_interval = 3

# Interval in seconds at which volume pair synchronization status is checked
# when volume pairs are deleted. (integer value)
# Minimum value: 1
# Maximum value: 600
#vsp_async_copy_check_interval = 10

# IDs of the storage ports used to attach volumes to the controller node. To
# specify multiple ports, connect them by commas (e.g. CL1-A,CL2-A). (list
# value)
#vsp_target_ports = <None>

# IDs of the storage ports used to attach volumes to compute nodes. To specify
# multiple ports, connect them by commas (e.g. CL1-A,CL2-A). (list value)
#vsp_compute_target_ports = <None>

# If True, the driver will create host groups or iSCSI targets on storage ports
# as needed. (boolean value)
#vsp_group_request = false

# If True, the driver will configure FC zoning between the server and the
# storage system provided that FC zoning manager is enabled. (boolean value)
#vsp_zoning_request = false

# Command Control Interface instance numbers in the format of 'xxx,yyy'. The
# second one is for Shadow Image operation and the first one is for other
# purposes. (list value)
#vsp_horcm_numbers = 200,201

# Name of the user on the storage system. (string value)
#vsp_horcm_user = <None>

# Password corresponding to vsp_horcm_user. (string value)
#vsp_horcm_password = <None>

# If True, the driver will create or update the Command Control Interface
# configuration file as needed. (boolean value)
#vsp_horcm_add_conf = true

# IDs of the storage ports used to copy volumes by Shadow Image or Thin Image.
# To specify multiple ports, connect them by commas (e.g. CL1-A,CL2-A). (list
# value)
#vsp_horcm_pair_target_ports = <None>

# If True, CHAP authentication will be applied to communication between hosts
# and any of the iSCSI targets on the storage ports. (boolean value)
#vsp_use_chap_auth = false

# Name of the user used for CHAP authentication performed in communication
# between hosts and iSCSI targets on the storage ports. (string value)
#vsp_auth_user = <None>

# Password corresponding to vsp_auth_user. (string value)
#vsp_auth_password = <None>

# 3PAR WSAPI Server Url like https://<3par ip>:8080/api/v1 (string value)
# Deprecated group/name - [backend_defaults]/hp3par_api_url
#hpe3par_api_url =

# 3PAR username with the 'edit' role (string value)
# Deprecated group/name - [backend_defaults]/hp3par_username
#hpe3par_username =

# 3PAR password for the user specified in hpe3par_username (string value)
# Deprecated group/name - [backend_defaults]/hp3par_password
#hpe3par_password =

# List of the CPG(s) to use for volume creation (list value)
# Deprecated group/name - [backend_defaults]/hp3par_cpg
#hpe3par_cpg = OpenStack

# The CPG to use for Snapshots for volumes. If empty the userCPG will be used.
# (string value)
# Deprecated group/name - [backend_defaults]/hp3par_cpg_snap
#hpe3par_cpg_snap =

# The time in hours to retain a snapshot.  You can't delete it before this
# expires. (string value)
# Deprecated group/name - [backend_defaults]/hp3par_snapshot_retention
#hpe3par_snapshot_retention =

# The time in hours when a snapshot expires  and is deleted.  This must be
# larger than expiration (string value)
# Deprecated group/name - [backend_defaults]/hp3par_snapshot_expiration
#hpe3par_snapshot_expiration =

# Enable HTTP debugging to 3PAR (boolean value)
# Deprecated group/name - [backend_defaults]/hp3par_debug
#hpe3par_debug = false

# List of target iSCSI addresses to use. (list value)
# Deprecated group/name - [backend_defaults]/hp3par_iscsi_ips
#hpe3par_iscsi_ips =

# Enable CHAP authentication for iSCSI connections. (boolean value)
# Deprecated group/name - [backend_defaults]/hp3par_iscsi_chap_enabled
#hpe3par_iscsi_chap_enabled = false

# HPE LeftHand WSAPI Server Url like https://<LeftHand ip>:8081/lhos (uri
# value)
# Deprecated group/name - [backend_defaults]/hplefthand_api_url
#hpelefthand_api_url = <None>

# HPE LeftHand Super user username (string value)
# Deprecated group/name - [backend_defaults]/hplefthand_username
#hpelefthand_username = <None>

# HPE LeftHand Super user password (string value)
# Deprecated group/name - [backend_defaults]/hplefthand_password
#hpelefthand_password = <None>

# HPE LeftHand cluster name (string value)
# Deprecated group/name - [backend_defaults]/hplefthand_clustername
#hpelefthand_clustername = <None>

# Configure CHAP authentication for iSCSI connections (Default: Disabled)
# (boolean value)
# Deprecated group/name - [backend_defaults]/hplefthand_iscsi_chap_enabled
#hpelefthand_iscsi_chap_enabled = false

# Enable HTTP debugging to LeftHand (boolean value)
# Deprecated group/name - [backend_defaults]/hplefthand_debug
#hpelefthand_debug = false

# Port number of SSH service. (port value)
# Minimum value: 0
# Maximum value: 65535
#hpelefthand_ssh_port = 16022

# The configuration file for the Cinder Huawei driver. (string value)
#cinder_huawei_conf_file = /etc/cinder/cinder_huawei_conf.xml

# The remote device hypermetro will use. (string value)
#hypermetro_devices = <None>

# The remote metro device san user. (string value)
#metro_san_user = <None>

# The remote metro device san password. (string value)
#metro_san_password = <None>

# The remote metro device domain name. (string value)
#metro_domain_name = <None>

# The remote metro device request url. (string value)
#metro_san_address = <None>

# The remote metro device pool names. (string value)
#metro_storage_pools = <None>

# Connection protocol should be FC. (Default is FC.) (string value)
#flashsystem_connection_protocol = FC

# Allows vdisk to multi host mapping. (Default is True) (boolean value)
#flashsystem_multihostmap_enabled = true

# DEPRECATED: This option no longer has any affect. It is deprecated and will
# be removed in the next release. (boolean value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
#flashsystem_multipath_enabled = false

# Default iSCSI Port ID of FlashSystem. (Default port is 0.) (integer value)
#flashsystem_iscsi_portid = 0

# Specifies the path of the GPFS directory where Block Storage volume and
# snapshot files are stored. (string value)
#gpfs_mount_point_base = <None>

# Specifies the path of the Image service repository in GPFS.  Leave undefined
# if not storing images in GPFS. (string value)
#gpfs_images_dir = <None>

# Specifies the type of image copy to be used.  Set this when the Image service
# repository also uses GPFS so that image files can be transferred efficiently
# from the Image service to the Block Storage service. There are two valid
# values: "copy" specifies that a full copy of the image is made;
# "copy_on_write" specifies that copy-on-write optimization strategy is used
# and unmodified blocks of the image file are shared efficiently. (string
# value)
# Allowed values: copy, copy_on_write, <None>
#gpfs_images_share_mode = <None>

# Specifies an upper limit on the number of indirections required to reach a
# specific block due to snapshots or clones.  A lengthy chain of copy-on-write
# snapshots or clones can have a negative impact on performance, but improves
# space utilization.  0 indicates unlimited clone depth. (integer value)
#gpfs_max_clone_depth = 0

# Specifies that volumes are created as sparse files which initially consume no
# space. If set to False, the volume is created as a fully allocated file, in
# which case, creation may take a significantly longer time. (boolean value)
#gpfs_sparse_volumes = true

# Specifies the storage pool that volumes are assigned to. By default, the
# system storage pool is used. (string value)
#gpfs_storage_pool = system

# Comma-separated list of IP address or hostnames of GPFS nodes. (list value)
#gpfs_hosts =

# Username for GPFS nodes. (string value)
#gpfs_user_login = root

# Password for GPFS node user. (string value)
#gpfs_user_password =

# Filename of private key to use for SSH authentication. (string value)
#gpfs_private_key =

# SSH port to use. (port value)
# Minimum value: 0
# Maximum value: 65535
#gpfs_ssh_port = 22

# File containing SSH host keys for the gpfs nodes with which driver needs to
# communicate. Default=$state_path/ssh_known_hosts (string value)
#gpfs_hosts_key_file = $state_path/ssh_known_hosts

# Option to enable strict gpfs host key checking while connecting to gpfs
# nodes. Default=False (boolean value)
#gpfs_strict_host_key_policy = false

# Mapping between IODevice address and unit address. (string value)
#ds8k_devadd_unitadd_mapping =

# Set the first two digits of SSID. (string value)
#ds8k_ssid_prefix = FF

# Reserve LSSs for consistency group. (string value)
#lss_range_for_cg =

# Set to zLinux if your OpenStack version is prior to Liberty and you're
# connecting to zLinux systems. Otherwise set to auto. Valid values for this
# parameter are: 'auto', 'AMDLinuxRHEL', 'AMDLinuxSuse', 'AppleOSX', 'Fujitsu',
# 'Hp', 'HpTru64', 'HpVms', 'LinuxDT', 'LinuxRF', 'LinuxRHEL', 'LinuxSuse',
# 'Novell', 'SGI', 'SVC', 'SanFsAIX', 'SanFsLinux', 'Sun', 'VMWare', 'Win2000',
# 'Win2003', 'Win2008', 'Win2012', 'iLinux', 'nSeries', 'pLinux', 'pSeries',
# 'pSeriesPowerswap', 'zLinux', 'iSeries'. (string value)
#ds8k_host_type = auto

# Proxy driver that connects to the IBM Storage Array (string value)
#proxy = cinder.volume.drivers.ibm.ibm_storage.proxy.IBMStorageProxy

# Connection type to the IBM Storage Array (string value)
# Allowed values: fibre_channel, iscsi
#connection_type = iscsi

# CHAP authentication mode, effective only for iscsi (disabled|enabled) (string
# value)
# Allowed values: disabled, enabled
#chap = disabled

# List of Management IP addresses (separated by commas) (string value)
#management_ips =

# Comma separated list of storage system storage pools for volumes. (list
# value)
#storwize_svc_volpool_name = volpool

# Storage system space-efficiency parameter for volumes (percentage) (integer
# value)
# Minimum value: -1
# Maximum value: 100
#storwize_svc_vol_rsize = 2

# Storage system threshold for volume capacity warnings (percentage) (integer
# value)
# Minimum value: -1
# Maximum value: 100
#storwize_svc_vol_warning = 0

# Storage system autoexpand parameter for volumes (True/False) (boolean value)
#storwize_svc_vol_autoexpand = true

# Storage system grain size parameter for volumes (32/64/128/256) (integer
# value)
#storwize_svc_vol_grainsize = 256

# Storage system compression option for volumes (boolean value)
#storwize_svc_vol_compression = false

# Enable Easy Tier for volumes (boolean value)
#storwize_svc_vol_easytier = true

# The I/O group in which to allocate volumes. It can be a comma-separated list
# in which case the driver will select an io_group based on least number of
# volumes associated with the io_group. (string value)
#storwize_svc_vol_iogrp = 0

# Maximum number of seconds to wait for FlashCopy to be prepared. (integer
# value)
# Minimum value: 1
# Maximum value: 600
#storwize_svc_flashcopy_timeout = 120

# DEPRECATED: This option no longer has any affect. It is deprecated and will
# be removed in the next release. (boolean value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
#storwize_svc_multihostmap_enabled = true

# Allow tenants to specify QOS on create (boolean value)
#storwize_svc_allow_tenant_qos = false

# If operating in stretched cluster mode, specify the name of the pool in which
# mirrored copies are stored.Example: "pool2" (string value)
#storwize_svc_stretched_cluster_partner = <None>

# Specifies secondary management IP or hostname to be used if san_ip is invalid
# or becomes inaccessible. (string value)
#storwize_san_secondary_ip = <None>

# Specifies that the volume not be formatted during creation. (boolean value)
#storwize_svc_vol_nofmtdisk = false

# Specifies the Storwize FlashCopy copy rate to be used when creating a full
# volume copy. The default is rate is 50, and the valid rates are 1-100.
# (integer value)
# Minimum value: 1
# Maximum value: 100
#storwize_svc_flashcopy_rate = 50

# Specifies the name of the pool in which mirrored copy is stored. Example:
# "pool2" (string value)
#storwize_svc_mirror_pool = <None>

# This defines an optional cycle period that applies to Global Mirror
# relationships with a cycling mode of multi. A Global Mirror relationship
# using the multi cycling_mode performs a complete cycle at most once each
# period. The default is 300 seconds, and the valid seconds are 60-86400.
# (integer value)
# Minimum value: 60
# Maximum value: 86400
#cycle_period_seconds = 300

# Connect with multipath (FC only; iSCSI multipath is controlled by Nova)
# (boolean value)
#storwize_svc_multipath_enabled = false

# Configure CHAP authentication for iSCSI connections (Default: Enabled)
# (boolean value)
#storwize_svc_iscsi_chap_enabled = true

# Name of the pool from which volumes are allocated (string value)
#infinidat_pool_name = <None>

# Protocol for transferring data between host and storage back-end. (string
# value)
# Allowed values: iscsi, fc
#infinidat_storage_protocol = fc

# List of names of network spaces to use for iSCSI connectivity (list value)
#infinidat_iscsi_netspaces =

# Specifies whether to turn on compression for newly created volumes. (boolean
# value)
#infinidat_use_compression = false

# Infortrend raid pool name list. It is separated with comma. (string value)
#infortrend_pools_name =

# The Infortrend CLI absolute path. By default, it is at
# /opt/bin/Infortrend/raidcmd_ESDS10.jar (string value)
#infortrend_cli_path = /opt/bin/Infortrend/raidcmd_ESDS10.jar

# Maximum retry time for cli. Default is 5. (integer value)
#infortrend_cli_max_retries = 5

# Default timeout for CLI copy operations in minutes. Support: migrate volume,
# create cloned volume and create volume from snapshot. By Default, it is 30
# minutes. (integer value)
#infortrend_cli_timeout = 30

# Infortrend raid channel ID list on Slot A for OpenStack usage. It is
# separated with comma. By default, it is the channel 0~7. (string value)
#infortrend_slots_a_channels_id = 0,1,2,3,4,5,6,7

# Infortrend raid channel ID list on Slot B for OpenStack usage. It is
# separated with comma. By default, it is the channel 0~7. (string value)
#infortrend_slots_b_channels_id = 0,1,2,3,4,5,6,7

# Let the volume use specific provisioning. By default, it is the full
# provisioning. The supported options are full or thin. (string value)
#infortrend_provisioning = full

# Let the volume use specific tiering level. By default, it is the level 0. The
# supported levels are 0,2,3,4. (string value)
#infortrend_tiering = 0

# K2 driver will calculate max_oversubscription_ratio on setting this option as
# True. (boolean value)
#auto_calc_max_oversubscription_ratio = false

# Disabling iSCSI discovery (sendtargets) for multipath connections on K2
# driver. (boolean value)
#disable_discovery = false

# Whether or not our private network has unique FQDN on each initiator or not.
# For example networks with QA systems usually have multiple servers/VMs with
# the same FQDN.  When true this will create host entries on K2 using the FQDN,
# when false it will use the reversed IQN/WWNN. (boolean value)
#unique_fqdn_network = true

# Pool or Vdisk name to use for volume creation. (string value)
#lenovo_backend_name = A

# linear (for VDisk) or virtual (for Pool). (string value)
# Allowed values: linear, virtual
#lenovo_backend_type = virtual

# Lenovo api interface protocol. (string value)
# Allowed values: http, https
#lenovo_api_protocol = https

# Whether to verify Lenovo array SSL certificate. (boolean value)
#lenovo_verify_certificate = false

# Lenovo array SSL certificate path. (string value)
#lenovo_verify_certificate_path = <None>

# List of comma-separated target iSCSI IP addresses. (list value)
#lenovo_iscsi_ips =

# Name for the VG that will contain exported volumes (string value)
#volume_group = cinder-volumes

# If >0, create LVs with multiple mirrors. Note that this requires lvm_mirrors
# + 2 PVs with available space (integer value)
#lvm_mirrors = 0

# Type of LVM volumes to deploy; (default, thin, or auto). Auto defaults to
# thin if thin is supported. (string value)
# Allowed values: default, thin, auto
#lvm_type = auto

# LVM conf file to use for the LVM driver in Cinder; this setting is ignored if
# the specified file does not exist (You can also specify 'None' to not use a
# conf file even if one exists). (string value)
#lvm_conf_file = /etc/cinder/lvm.conf

# max_over_subscription_ratio setting for the LVM driver. This takes precedence
# over the general max_over_subscription_ratio by default. If set to None, the
# general max_over_subscription_ratio is used. (floating point value)
#lvm_max_over_subscription_ratio = 1.0

# Suppress leaked file descriptor warnings in LVM commands. (boolean value)
#lvm_suppress_fd_warnings = false

# The storage family type used on the storage system; valid values are
# ontap_7mode for using Data ONTAP operating in 7-Mode, ontap_cluster for using
# clustered Data ONTAP, or eseries for using E-Series. (string value)
# Allowed values: ontap_7mode, ontap_cluster, eseries
#netapp_storage_family = ontap_cluster

# The storage protocol to be used on the data path with the storage system.
# (string value)
# Allowed values: iscsi, fc, nfs
#netapp_storage_protocol = <None>

# The hostname (or IP address) for the storage system or proxy server. (string
# value)
#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; E-Series will use 8080 for HTTP and 8443 for HTTPS. (integer value)
#netapp_server_port = <None>

# The transport protocol used when communicating with the storage system or
# proxy server. (string value)
# Allowed values: http, https
#netapp_transport_type = http

# Administrative user account name used to access the storage system or proxy
# server. (string value)
#netapp_login = <None>

# Password for the administrative user account specified in the netapp_login
# option. (string value)
#netapp_password = <None>

# This option specifies the virtual storage server (Vserver) name on the
# storage cluster on which provisioning of block storage volumes should occur.
# (string value)
#netapp_vserver = <None>

# The vFiler unit on which provisioning of block storage volumes will be done.
# This option is only used by the driver when connecting to an instance with a
# storage family of Data ONTAP operating in 7-Mode. Only use this option when
# utilizing the MultiStore feature on the NetApp storage system. (string value)
#netapp_vfiler = <None>

# The name of the config.conf stanza for a Data ONTAP (7-mode) HA partner.
# This option is only used by the driver when connecting to an instance with a
# storage family of Data ONTAP operating in 7-Mode, and it is required if the
# storage protocol selected is FC. (string value)
#netapp_partner_backend_name = <None>

# The quantity to be multiplied by the requested volume size to ensure enough
# space is available on the virtual storage server (Vserver) to fulfill the
# volume creation request.  Note: this option is deprecated and will be removed
# in favor of "reserved_percentage" in the Mitaka release. (floating point
# value)
#netapp_size_multiplier = 1.2

# This option determines if storage space is reserved for LUN allocation. If
# enabled, LUNs are thick provisioned. If space reservation is disabled,
# storage space is allocated on demand. (string value)
# Allowed values: enabled, disabled
#netapp_lun_space_reservation = enabled

# If the percentage of available space for an NFS share has dropped below the
# value specified by this option, the NFS image cache will be cleaned. (integer
# value)
#thres_avl_size_perc_start = 20

# When the percentage of available space on an NFS share has reached the
# percentage specified by this option, the driver will stop clearing files from
# the NFS image cache that have not been accessed in the last M minutes, where
# M is the value of the expiry_thres_minutes configuration option. (integer
# value)
#thres_avl_size_perc_stop = 60

# This option specifies the threshold for last access time for images in the
# NFS image cache. When a cache cleaning cycle begins, images in the cache that
# have not been accessed in the last M minutes, where M is the value of this
# parameter, will be deleted from the cache to create free space on the NFS
# share. (integer value)
#expiry_thres_minutes = 720

# This option is used to specify the path to the E-Series proxy application on
# a proxy server. The value is combined with the value of the
# netapp_transport_type, netapp_server_hostname, and netapp_server_port options
# to create the URL used by the driver to connect to the proxy application.
# (string value)
#netapp_webservice_path = /devmgr/v2

# This option is only utilized when the storage family is configured to
# eseries. This option is used to restrict provisioning to the specified
# controllers. Specify the value of this option to be a comma separated list of
# controller hostnames or IP addresses to be used for provisioning. (string
# value)
#netapp_controller_ips = <None>

# Password for the NetApp E-Series storage array. (string value)
#netapp_sa_password = <None>

# This option specifies whether the driver should allow operations that require
# multiple attachments to a volume. An example would be live migration of
# servers that have volumes attached. When enabled, this backend is limited to
# 256 total volumes in order to guarantee volumes can be accessed by more than
# one host. (boolean value)
#netapp_enable_multiattach = false

# This option specifies the path of the NetApp copy offload tool binary. Ensure
# that the binary has execute permissions set which allow the effective user of
# the cinder-volume process to execute the file. (string value)
#netapp_copyoffload_tool_path = <None>

# This option defines the type of operating system that will access a LUN
# exported from Data ONTAP; it is assigned to the LUN at the time it is
# created. (string value)
#netapp_lun_ostype = <None>

# This option defines the type of operating system for all initiators that can
# access a LUN. This information is used when mapping LUNs to individual hosts
# or groups of hosts. (string value)
# Deprecated group/name - [backend_defaults]/netapp_eseries_host_type
#netapp_host_type = <None>

# This option is used to restrict provisioning to the specified pools. Specify
# the value of this option to be a regular expression which will be applied to
# the names of objects from the storage backend which represent pools in
# Cinder. This option is only utilized when the storage protocol is configured
# to use iSCSI or FC. (string value)
# Deprecated group/name - [backend_defaults]/netapp_volume_list
# Deprecated group/name - [backend_defaults]/netapp_storage_pools
#netapp_pool_name_search_pattern = (.+)

# Multi opt of dictionaries to represent the aggregate mapping between source
# and destination back ends when using whole back end replication. For every
# source aggregate associated with a cinder pool (NetApp FlexVol), you would
# need to specify the destination aggregate on the replication target device. A
# replication target device is configured with the configuration option
# replication_device. Specify this option as many times as you have replication
# devices. Each entry takes the standard dict config form:
# netapp_replication_aggregate_map =
# backend_id:<name_of_replication_device_section>,src_aggr_name1:dest_aggr_name1,src_aggr_name2:dest_aggr_name2,...
# (dict value)
#netapp_replication_aggregate_map = <None>

# The maximum time in seconds to wait for existing SnapMirror transfers to
# complete before aborting during a failover. (integer value)
# Minimum value: 0
#netapp_snapmirror_quiesce_timeout = 3600

# IP address of Nexenta SA (string value)
#nexenta_host =

# HTTP(S) port to connect to Nexenta REST API server. If it is equal zero, 8443
# for HTTPS and 8080 for HTTP is used (integer value)
#nexenta_rest_port = 0

# Use http or https for REST connection (default auto) (string value)
# Allowed values: http, https, auto
#nexenta_rest_protocol = auto

# Use secure HTTP for REST connection (default True) (boolean value)
#nexenta_use_https = true

# User name to connect to Nexenta SA (string value)
#nexenta_user = admin

# Password to connect to Nexenta SA (string value)
#nexenta_password = nexenta

# Nexenta target portal port (integer value)
#nexenta_iscsi_target_portal_port = 3260

# SA Pool that holds all volumes (string value)
#nexenta_volume = cinder

# IQN prefix for iSCSI targets (string value)
#nexenta_target_prefix = iqn.1986-03.com.sun:02:cinder-

# Prefix for iSCSI target groups on SA (string value)
#nexenta_target_group_prefix = cinder/

# Volume group for ns5 (string value)
#nexenta_volume_group = iscsi

# Compression value for new ZFS folders. (string value)
# Allowed values: on, off, gzip, gzip-1, gzip-2, gzip-3, gzip-4, gzip-5, gzip-6, gzip-7, gzip-8, gzip-9, lzjb, zle, lz4
#nexenta_dataset_compression = on

# Deduplication value for new ZFS folders. (string value)
# Allowed values: on, off, sha256, verify, sha256, verify
#nexenta_dataset_dedup = off

# Human-readable description for the folder. (string value)
#nexenta_dataset_description =

# Block size for datasets (integer value)
#nexenta_blocksize = 4096

# Block size for datasets (integer value)
#nexenta_ns5_blocksize = 32

# Enables or disables the creation of sparse datasets (boolean value)
#nexenta_sparse = false

# File with the list of available nfs shares (string value)
#nexenta_shares_config = /etc/cinder/nfs_shares

# Base directory that contains NFS share mount points (string value)
#nexenta_mount_point_base = $state_path/mnt

# Enables or disables the creation of volumes as sparsed files that take no
# space. If disabled (False), volume is created as a regular file, which takes
# a long time. (boolean value)
#nexenta_sparsed_volumes = true

# If set True cache NexentaStor appliance volroot option value. (boolean value)
#nexenta_nms_cache_volroot = true

# Enable stream compression, level 1..9. 1 - gives best speed; 9 - gives best
# compression. (integer value)
#nexenta_rrmgr_compression = 0

# TCP Buffer size in KiloBytes. (integer value)
#nexenta_rrmgr_tcp_buf_size = 4096

# Number of TCP connections. (integer value)
#nexenta_rrmgr_connections = 2

# NexentaEdge logical path of directory to store symbolic links to NBDs (string
# value)
#nexenta_nbd_symlinks_dir = /dev/disk/by-path

# IP address of NexentaEdge management REST API endpoint (string value)
#nexenta_rest_address =

# User name to connect to NexentaEdge (string value)
#nexenta_rest_user = admin

# Password to connect to NexentaEdge (string value)
#nexenta_rest_password = nexenta

# NexentaEdge logical path of bucket for LUNs (string value)
#nexenta_lun_container =

# NexentaEdge iSCSI service name (string value)
#nexenta_iscsi_service =

# NexentaEdge iSCSI Gateway client address for non-VIP service (string value)
#nexenta_client_address =

# NexentaEdge iSCSI LUN object chunk size (integer value)
#nexenta_chunksize = 32768

# File with the list of available NFS shares. (string value)
#nfs_shares_config = /etc/cinder/nfs_shares

# Create volumes as sparsed files which take no space. If set to False volume
# is created as regular file. In such case volume creation takes a lot of time.
# (boolean value)
#nfs_sparsed_volumes = true

# Create volumes as QCOW2 files rather than raw files. (boolean value)
#nfs_qcow2_volumes = false

# Base dir containing mount points for NFS shares. (string value)
#nfs_mount_point_base = $state_path/mnt

# Mount options passed to the NFS client. See section of the NFS man page for
# details. (string value)
#nfs_mount_options = <None>

# The number of attempts to mount NFS shares before raising an error.  At least
# one attempt will be made to mount an NFS share, regardless of the value
# specified. (integer value)
#nfs_mount_attempts = 3

# Enable support for snapshots on the NFS driver. Platforms using libvirt
# <1.2.7 will encounter issues with this feature. (boolean value)
#nfs_snapshot_support = false

# Nimble Controller pool name (string value)
#nimble_pool_name = default

# Nimble Subnet Label (string value)
#nimble_subnet_label = *

# Whether to verify Nimble SSL Certificate (boolean value)
#nimble_verify_certificate = false

# Path to Nimble Array SSL certificate (string value)
#nimble_verify_cert_path = <None>

# DPL pool uuid in which DPL volumes are stored. (string value)
#dpl_pool =

# DPL port number. (port value)
# Minimum value: 0
# Maximum value: 65535
#dpl_port = 8357

# REST API authorization token. (string value)
#pure_api_token = <None>

# Automatically determine an oversubscription ratio based on the current total
# data reduction values. If used this calculated value will override the
# max_over_subscription_ratio config option. (boolean value)
#pure_automatic_max_oversubscription_ratio = true

# Snapshot replication interval in seconds. (integer value)
#pure_replica_interval_default = 3600

# Retain all snapshots on target for this time (in seconds.) (integer value)
#pure_replica_retention_short_term_default = 14400

# Retain how many snapshots for each day. (integer value)
#pure_replica_retention_long_term_per_day_default = 3

# Retain snapshots per day on target for this time (in days.) (integer value)
#pure_replica_retention_long_term_default = 7

# When enabled, all Pure volumes, snapshots, and protection groups will be
# eradicated at the time of deletion in Cinder. Data will NOT be recoverable
# after a delete with this set to True! When disabled, volumes and snapshots
# will go into pending eradication state and can be recovered. (boolean value)
#pure_eradicate_on_delete = false

# The URL to management QNAP Storage (uri value)
#qnap_management_url = <None>

# The pool name in the QNAP Storage (string value)
#qnap_poolname = <None>

# Communication protocol to access QNAP storage (string value)
#qnap_storage_protocol = iscsi

# Quobyte URL to the Quobyte volume e.g., quobyte://<DIR host1>, <DIR
# host2>/<volume name> (string value)
#quobyte_volume_url = <None>

# Path to a Quobyte Client configuration file. (string value)
#quobyte_client_cfg = <None>

# Create volumes as sparse files which take no space. If set to False, volume
# is created as regular file. (boolean value)
#quobyte_sparsed_volumes = true

# Create volumes as QCOW2 files rather than raw files. (boolean value)
#quobyte_qcow2_volumes = true

# Base dir containing the mount point for the Quobyte volume. (string value)
#quobyte_mount_point_base = $state_path/mnt

# The name of ceph cluster (string value)
#rbd_cluster_name = ceph

# The RADOS pool where rbd volumes are stored (string value)
#rbd_pool = rbd

# The RADOS client name for accessing rbd volumes - only set when using cephx
# authentication (string value)
#rbd_user = <None>

# Path to the ceph configuration file (string value)
#rbd_ceph_conf =

# Path to the ceph keyring file (string value)
#rbd_keyring_conf =

# Flatten volumes created from snapshots to remove dependency from volume to
# snapshot (boolean value)
#rbd_flatten_volume_from_snapshot = false

# The libvirt uuid of the secret for the rbd_user volumes (string value)
#rbd_secret_uuid = <None>

# Maximum number of nested volume clones that are taken before a flatten
# occurs. Set to 0 to disable cloning. (integer value)
#rbd_max_clone_depth = 5

# Volumes will be chunked into objects of this size (in megabytes). (integer
# value)
#rbd_store_chunk_size = 4

# Timeout value (in seconds) used when connecting to ceph cluster. If value <
# 0, no timeout is set and default librados value is used. (integer value)
#rados_connect_timeout = -1

# Number of retries if connection to ceph cluster failed. (integer value)
#rados_connection_retries = 3

# Interval value (in seconds) between connection retries to ceph cluster.
# (integer value)
#rados_connection_interval = 5

# Timeout value (in seconds) used when connecting to ceph cluster to do a
# demotion/promotion of volumes. If value < 0, no timeout is set and default
# librados value is used. (integer value)
#replication_connect_timeout = 5

# Set to True for driver to report total capacity as a dynamic value -used +
# current free- and to False to report a static value -quota max bytes if
# defined and global size of cluster if not-. (boolean value)
#report_dynamic_total_capacity = true

# Set to True if the pool is used exclusively by Cinder. On exclusive use
# driver won't query images' provisioned size as they will match the value
# calculated by the Cinder core code for allocated_capacity_gb. This reduces
# the load on the Ceph cluster as well as on the volume service. (boolean
# value)
#rbd_exclusive_cinder_pool = false

# IP address or Hostname of NAS system. (string value)
# Deprecated group/name - [backend_defaults]/nas_ip
#nas_host =

# User name to connect to NAS system. (string value)
#nas_login = admin

# Password to connect to NAS system. (string value)
#nas_password =

# SSH port to use to connect to NAS system. (port value)
# Minimum value: 0
# Maximum value: 65535
#nas_ssh_port = 22

# Filename of private key to use for SSH authentication. (string value)
#nas_private_key =

# Allow network-attached storage systems to operate in a secure environment
# where root level access is not permitted. If set to False, access is as the
# root user and insecure. If set to True, access is not as root. If set to
# auto, a check is done to determine if this is a new installation: True is
# used if so, otherwise False. Default is auto. (string value)
#nas_secure_file_operations = auto

# Set more secure file permissions on network-attached storage volume files to
# restrict broad other/world access. If set to False, volumes are created with
# open permissions. If set to True, volumes are created with permissions for
# the cinder user and group (660). If set to auto, a check is done to determine
# if this is a new installation: True is used if so, otherwise False. Default
# is auto. (string value)
#nas_secure_file_permissions = auto

# Path to the share to use for storing Cinder volumes. For example:
# "/srv/export1" for an NFS server export available at 10.0.5.10:/srv/export1 .
# (string value)
#nas_share_path =

# Options used to mount the storage backend file system where Cinder volumes
# are stored. (string value)
#nas_mount_options = <None>

# Provisioning type that will be used when creating volumes. (string value)
# Allowed values: thin, thick
#nas_volume_prov_type = thin

# Pool or Vdisk name to use for volume creation. (string value)
#hpmsa_backend_name = A

# linear (for Vdisk) or virtual (for Pool). (string value)
# Allowed values: linear, virtual
#hpmsa_backend_type = virtual

# HPMSA API interface protocol. (string value)
# Allowed values: http, https
#hpmsa_api_protocol = https

# Whether to verify HPMSA array SSL certificate. (boolean value)
#hpmsa_verify_certificate = false

# HPMSA array SSL certificate path. (string value)
#hpmsa_verify_certificate_path = <None>

# List of comma-separated target iSCSI IP addresses. (list value)
#hpmsa_iscsi_ips =

# Use thin provisioning for SAN volumes? (boolean value)
#san_thin_provision = true

# IP address of SAN controller (string value)
#san_ip =

# Username for SAN controller (string value)
#san_login = admin

# Password for SAN controller (string value)
#san_password =

# Filename of private key to use for SSH authentication (string value)
#san_private_key =

# Cluster name to use for creating volumes (string value)
#san_clustername =

# SSH port to use with SAN (port value)
# Minimum value: 0
# Maximum value: 65535
#san_ssh_port = 22

# Execute commands locally instead of over SSH; use if the volume service is
# running on the SAN device (boolean value)
#san_is_local = false

# SSH connection timeout in seconds (integer value)
#ssh_conn_timeout = 30

# Minimum ssh connections in the pool (integer value)
#ssh_min_pool_conn = 1

# Maximum ssh connections in the pool (integer value)
#ssh_max_pool_conn = 5

# IP address of sheep daemon. (string value)
#sheepdog_store_address = 127.0.0.1

# Port of sheep daemon. (port value)
# Minimum value: 0
# Maximum value: 65535
#sheepdog_store_port = 7000

# Set 512 byte emulation on volume creation;  (boolean value)
#sf_emulate_512 = true

# Allow tenants to specify QOS on create (boolean value)
#sf_allow_tenant_qos = false

# Create SolidFire accounts with this prefix. Any string can be used here, but
# the string "hostname" is special and will create a prefix using the cinder
# node hostname (previous default behavior).  The default is NO prefix. (string
# value)
#sf_account_prefix = <None>

# Create SolidFire volumes with this prefix. Volume names are of the form
# <sf_volume_prefix><cinder-volume-id>.  The default is to use a prefix of
# 'UUID-'. (string value)
#sf_volume_prefix = UUID-

# Account name on the SolidFire Cluster to use as owner of template/cache
# volumes (created if does not exist). (string value)
#sf_template_account_name = openstack-vtemplate

# Create an internal cache of copy of images when a bootable volume is created
# to eliminate fetch from glance and qemu-conversion on subsequent calls.
# (boolean value)
#sf_allow_template_caching = true

# Overrides default cluster SVIP with the one specified. This is required or
# deployments that have implemented the use of VLANs for iSCSI networks in
# their cloud. (string value)
#sf_svip = <None>

# Create an internal mapping of volume IDs and account.  Optimizes lookups and
# performance at the expense of memory, very large deployments may want to
# consider setting to False. (boolean value)
#sf_enable_volume_mapping = true

# SolidFire API port. Useful if the device api is behind a proxy on a different
# port. (port value)
# Minimum value: 0
# Maximum value: 65535
#sf_api_port = 443

# Utilize volume access groups on a per-tenant basis. (boolean value)
#sf_enable_vag = false

# Volume on Synology storage to be used for creating lun. (string value)
#synology_pool_name =

# Management port for Synology storage. (port value)
# Minimum value: 0
# Maximum value: 65535
#synology_admin_port = 5000

# Administrator of Synology storage. (string value)
#synology_username = admin

# Password of administrator for logging in Synology storage. (string value)
#synology_password =

# Do certificate validation or not if $driver_use_ssl is True (boolean value)
#synology_ssl_verify = true

# One time password of administrator for logging in Synology storage if OTP is
# enabled. (string value)
#synology_one_time_pass = <None>

# Device id for skip one time password check for logging in Synology storage if
# OTP is enabled. (string value)
#synology_device_id = <None>

# Create volumes in this pool (string value)
#tegile_default_pool = <None>

# Create volumes in this project (string value)
#tegile_default_project = <None>

# The hostname (or IP address) for the storage system (string value)
#tintri_server_hostname = <None>

# User name for the storage system (string value)
#tintri_server_username = <None>

# Password for the storage system (string value)
#tintri_server_password = <None>

# API version for the storage system (string value)
#tintri_api_version = v310

# Delete unused image snapshots older than mentioned days (integer value)
#tintri_image_cache_expiry_days = 30

# Path to image nfs shares file (string value)
#tintri_image_shares_config = <None>

# Global backend request timeout, in seconds. (integer value)
#violin_request_timeout = 300

# Storage pools to be used to setup dedup luns only.(Comma separated list)
# (list value)
#violin_dedup_only_pools =

# Storage pools capable of dedup and other luns.(Comma separated list) (list
# value)
#violin_dedup_capable_pools =

# Method of choosing a storage pool for a lun. (string value)
# Allowed values: random, largest, smallest
#violin_pool_allocation_method = random

# Target iSCSI addresses to use.(Comma separated list) (list value)
#violin_iscsi_target_ips =

# IP address for connecting to VMware vCenter server. (string value)
#vmware_host_ip = <None>

# Port number for connecting to VMware vCenter server. (port value)
# Minimum value: 0
# Maximum value: 65535
#vmware_host_port = 443

# Username for authenticating with VMware vCenter server. (string value)
#vmware_host_username = <None>

# Password for authenticating with VMware vCenter server. (string value)
#vmware_host_password = <None>

# Optional VIM service WSDL Location e.g http://<server>/vimService.wsdl.
# Optional over-ride to default location for bug work-arounds. (string value)
#vmware_wsdl_location = <None>

# Number of times VMware vCenter server API must be retried upon connection
# related issues. (integer value)
#vmware_api_retry_count = 10

# The interval (in seconds) for polling remote tasks invoked on VMware vCenter
# server. (floating point value)
#vmware_task_poll_interval = 2.0

# Name of the vCenter inventory folder that will contain Cinder volumes. This
# folder will be created under "OpenStack/<project_folder>", where
# project_folder is of format "Project (<volume_project_id>)". (string value)
#vmware_volume_folder = Volumes

# Timeout in seconds for VMDK volume transfer between Cinder and Glance.
# (integer value)
#vmware_image_transfer_timeout_secs = 7200

# Max number of objects to be retrieved per batch. Query results will be
# obtained in batches from the server and not in one shot. Server may still
# limit the count to something less than the configured value. (integer value)
#vmware_max_objects_retrieval = 100

# Optional string specifying the VMware vCenter server version. The driver
# attempts to retrieve the version from VMware vCenter server. Set this
# configuration only if you want to override the vCenter server version.
# (string value)
#vmware_host_version = <None>

# Directory where virtual disks are stored during volume backup and restore.
# (string value)
#vmware_tmp_dir = /tmp

# CA bundle file to use in verifying the vCenter server certificate. (string
# value)
#vmware_ca_file = <None>

# If true, the vCenter server certificate is not verified. If false, then the
# default CA truststore is used for verification. This option is ignored if
# "vmware_ca_file" is set. (boolean value)
#vmware_insecure = false

# Name of a vCenter compute cluster where volumes should be created. (multi
# valued)
#vmware_cluster_name =

# Maximum number of connections in http connection pool. (integer value)
#vmware_connection_pool_size = 10

# Default adapter type to be used for attaching volumes. (string value)
# Allowed values: lsiLogic, busLogic, lsiLogicsas, paraVirtual, ide
#vmware_adapter_type = lsiLogic

# Volume snapshot format in vCenter server. (string value)
# Allowed values: template, COW
#vmware_snapshot_format = template

# File with the list of available vzstorage shares. (string value)
#vzstorage_shares_config = /etc/cinder/vzstorage_shares

# Create volumes as sparsed files which take no space rather than regular files
# when using raw format, in which case volume creation takes lot of time.
# (boolean value)
#vzstorage_sparsed_volumes = true

# Percent of ACTUAL usage of the underlying volume before no new volumes can be
# allocated to the volume destination. (floating point value)
#vzstorage_used_ratio = 0.95

# Base dir containing mount points for vzstorage shares. (string value)
#vzstorage_mount_point_base = $state_path/mnt

# Mount options passed to the vzstorage client. See section of the pstorage-
# mount man page for details. (list value)
#vzstorage_mount_options = <None>

# Default format that will be used when creating volumes if no volume format is
# specified. (string value)
#vzstorage_default_volume_format = raw

# File with the list of available smbfs shares. (string value)
#smbfs_shares_config = C:\OpenStack\smbfs_shares.txt

# DEPRECATED: The path of the automatically generated file containing
# information about volume disk space allocation. (string value)
# This option is deprecated for removal since 11.0.0.
# Its value may be silently ignored in the future.
# Reason: This allocation file is no longer used.
#smbfs_allocation_info_file_path = C:\OpenStack\allocation_data.txt

# Default format that will be used when creating volumes if no volume format is
# specified. (string value)
# Allowed values: vhd, vhdx
#smbfs_default_volume_format = vhd

# Create volumes as sparsed files which take no space rather than regular files
# when using raw format, in which case volume creation takes lot of time.
# (boolean value)
#smbfs_sparsed_volumes = true

# DEPRECATED: Percent of ACTUAL usage of the underlying volume before no new
# volumes can be allocated to the volume destination. (floating point value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
#smbfs_used_ratio = <None>

# DEPRECATED: This will compare the allocated to available space on the volume
# destination.  If the ratio exceeds this number, the destination will no
# longer be valid. (floating point value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
#smbfs_oversub_ratio = <None>

# Base dir containing mount points for smbfs shares. (string value)
#smbfs_mount_point_base = C:\OpenStack\_mnt

# Mappings between share locations and pool names. If not specified, the share
# names will be used as pool names. Example:
# //addr/share:pool_name,//addr/share2:pool_name2 (dict value)
#smbfs_pool_mappings =

# Path to store VHD backed volumes (string value)
#windows_iscsi_lun_path = C:\iSCSIVirtualDisks

# Default storage pool for volumes. (integer value)
#ise_storage_pool = 1

# Raid level for ISE volumes. (integer value)
#ise_raid = 1

# Number of retries (per port) when establishing connection to ISE management
# port. (integer value)
#ise_connection_retries = 5

# Interval (secs) between retries. (integer value)
#ise_retry_interval = 1

# Number on retries to get completion status after issuing a command to ISE.
# (integer value)
#ise_completion_retries = 30

# VPSA - Use ISER instead of iSCSI (boolean value)
#zadara_use_iser = true

# VPSA - Management Host name or IP address (string value)
#zadara_vpsa_host = <None>

# VPSA - Port number (port value)
# Minimum value: 0
# Maximum value: 65535
#zadara_vpsa_port = <None>

# VPSA - Use SSL connection (boolean value)
#zadara_vpsa_use_ssl = false

# If set to True the http client will validate the SSL certificate of the VPSA
# endpoint. (boolean value)
#zadara_ssl_cert_verify = true

# VPSA - Username (string value)
#zadara_user = <None>

# VPSA - Password (string value)
#zadara_password = <None>

# VPSA - Storage Pool assigned for volumes (string value)
#zadara_vpsa_poolname = <None>

# VPSA - Default encryption policy for volumes (boolean value)
#zadara_vol_encrypt = false

# VPSA - Default template for VPSA volume names (string value)
#zadara_vol_name_template = OS_%s

# VPSA - Attach snapshot policy for volumes (boolean value)
#zadara_default_snap_policy = false

# Storage pool name. (string value)
#zfssa_pool = <None>

# Project name. (string value)
#zfssa_project = <None>

# Block size. (string value)
# Allowed values: 512, 1k, 2k, 4k, 8k, 16k, 32k, 64k, 128k
#zfssa_lun_volblocksize = 8k

# Flag to enable sparse (thin-provisioned): True, False. (boolean value)
#zfssa_lun_sparse = false

# Data compression. (string value)
# Allowed values: off, lzjb, gzip-2, gzip, gzip-9
#zfssa_lun_compression = off

# Synchronous write bias. (string value)
# Allowed values: latency, throughput
#zfssa_lun_logbias = latency

# iSCSI initiator group. (string value)
#zfssa_initiator_group =

# iSCSI initiator IQNs. (comma separated) (string value)
#zfssa_initiator =

# iSCSI initiator CHAP user (name). (string value)
#zfssa_initiator_user =

# Secret of the iSCSI initiator CHAP user. (string value)
#zfssa_initiator_password =

# iSCSI initiators configuration. (string value)
#zfssa_initiator_config =

# iSCSI target group name. (string value)
#zfssa_target_group = tgt-grp

# iSCSI target CHAP user (name). (string value)
#zfssa_target_user =

# Secret of the iSCSI target CHAP user. (string value)
#zfssa_target_password =

# iSCSI target portal (Data-IP:Port, w.x.y.z:3260). (string value)
#zfssa_target_portal = <None>

# Network interfaces of iSCSI targets. (comma separated) (string value)
#zfssa_target_interfaces = <None>

# REST connection timeout. (seconds) (integer value)
#zfssa_rest_timeout = <None>

# IP address used for replication data. (maybe the same as data ip) (string
# value)
#zfssa_replication_ip =

# Flag to enable local caching: True, False. (boolean value)
#zfssa_enable_local_cache = true

# Name of ZFSSA project where cache volumes are stored. (string value)
#zfssa_cache_project = os-cinder-cache

# Driver policy for volume manage. (string value)
# Allowed values: loose, strict
#zfssa_manage_policy = loose

# Data path IP address (string value)
#zfssa_data_ip = <None>

# HTTPS port number (string value)
#zfssa_https_port = 443

# Options to be passed while mounting share over nfs (string value)
#zfssa_nfs_mount_options =

# Storage pool name. (string value)
#zfssa_nfs_pool =

# Project name. (string value)
#zfssa_nfs_project = NFSProject

# Share name. (string value)
#zfssa_nfs_share = nfs_share

# Data compression. (string value)
# Allowed values: off, lzjb, gzip-2, gzip, gzip-9
#zfssa_nfs_share_compression = off

# Synchronous write bias-latency, throughput. (string value)
# Allowed values: latency, throughput
#zfssa_nfs_share_logbias = latency

# Name of directory inside zfssa_nfs_share where cache volumes are stored.
# (string value)
#zfssa_cache_directory = os-cinder-cache

# Main controller IP. (IP address value)
#zteControllerIP0 = <None>

# Slave controller IP. (IP address value)
#zteControllerIP1 = <None>

# Local IP. (IP address value)
#zteLocalIP = <None>

# User name. (string value)
#zteUserName = <None>

# User password. (string value)
#zteUserPassword = <None>

# Virtual block size of pool. Unit : KB. Valid value :  4,  8, 16, 32, 64, 128,
# 256, 512.  (integer value)
#zteChunkSize = 4

# Cache readahead size. (integer value)
#zteAheadReadSize = 8

# Cache policy. 0, Write Back; 1, Write Through. (integer value)
#zteCachePolicy = 1

# SSD cache switch. 0, OFF; 1, ON. (integer value)
#zteSSDCacheSwitch = 1

# Pool name list. (list value)
#zteStoragePool =

# Pool volume allocated policy. 0, Auto; 1, High Performance Tier First; 2,
# Performance Tier First; 3, Capacity Tier First. (integer value)
#ztePoolVoAllocatedPolicy = 0

# Pool volume move policy.0, Auto; 1, Highest Available; 2, Lowest Available;
# 3, No Relocation. (integer value)
#ztePoolVolMovePolicy = 0

# Whether it is a thin volume. (boolean value)
#ztePoolVolIsThin = false

# Pool volume init allocated Capacity.Unit : KB.  (integer value)
#ztePoolVolInitAllocatedCapacity = 0

# Pool volume alarm threshold. [0, 100] (integer value)
#ztePoolVolAlarmThreshold = 0

# Pool volume alarm stop allocated flag. (integer value)
#ztePoolVolAlarmStopAllocatedFlag = 0

# Driver to use for volume creation (string value)
#volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver

# User defined capabilities, a JSON formatted string specifying key/value
# pairs. The key/value pairs can be used by the CapabilitiesFilter to select
# between backends when requests specify volume types. For example, specifying
# a service level or the geographical location of a backend, then creating a
# volume type to allow the user to select by these different properties.
# (string value)
#extra_capabilities = {}

# Suppress requests library SSL certificate warnings. (boolean value)
#suppress_requests_ssl_warnings = false


[barbican]

#
# From castellan.config
#

# Use this endpoint to connect to Barbican, for example:
# "http://localhost:9311/" (string value)
#barbican_endpoint = <None>

# Version of the Barbican API, for example: "v1" (string value)
#barbican_api_version = <None>

# Use this endpoint to connect to Keystone (string value)
# Deprecated group/name - [key_manager]/auth_url
#auth_endpoint = http://localhost/identity/v3

# Number of seconds to wait before retrying poll for key creation completion
# (integer value)
#retry_delay = 1

# Number of times to retry poll for key creation completion (integer value)
#number_of_retries = 60

# Specifies if insecure TLS (https) requests. If False, the server's
# certificate will not be validated (boolean value)
#verify_ssl = true


[brcd_fabric_example]

#
# From cinder
#

# South bound connector for the fabric. (string value)
# Allowed values: SSH, HTTP, HTTPS
#fc_southbound_protocol = HTTP

# Management IP of fabric. (string value)
#fc_fabric_address =

# Fabric user ID. (string value)
#fc_fabric_user =

# Password for user. (string value)
#fc_fabric_password =

# Connecting port (port value)
# Minimum value: 0
# Maximum value: 65535
#fc_fabric_port = 22

# Local SSH certificate Path. (string value)
#fc_fabric_ssh_cert_path =

# Overridden zoning policy. (string value)
#zoning_policy = initiator-target

# Overridden zoning activation state. (boolean value)
#zone_activate = true

# Overridden zone name prefix. (string value)
#zone_name_prefix = openstack

# Virtual Fabric ID. (string value)
#fc_virtual_fabric_id = <None>


[cisco_fabric_example]

#
# From cinder
#

# Management IP of fabric (string value)
#cisco_fc_fabric_address =

# Fabric user ID (string value)
#cisco_fc_fabric_user =

# Password for user (string value)
#cisco_fc_fabric_password =

# Connecting port (port value)
# Minimum value: 0
# Maximum value: 65535
#cisco_fc_fabric_port = 22

# overridden zoning policy (string value)
#cisco_zoning_policy = initiator-target

# overridden zoning activation state (boolean value)
#cisco_zone_activate = true

# overridden zone name prefix (string value)
#cisco_zone_name_prefix = <None>

# VSAN of the Fabric (string value)
#cisco_zoning_vsan = <None>


[coordination]

#
# From cinder
#

# The backend URL to use for distributed coordination. (string value)
#backend_url = file://$state_path

# DEPRECATED: Number of seconds between heartbeats for distributed
# coordination.  No longer used since distributed coordination manages its
# heartbeat internally. (floating point value)
# This option is deprecated for removal since 11.0.0.
# Its value may be silently ignored in the future.
# Reason: This option is no longer used.
#heartbeat = 1.0

# DEPRECATED: Initial number of seconds to wait after failed reconnection.  No
# longer used since distributed coordination manages its heartbeat internally.
# (floating point value)
# This option is deprecated for removal since 11.0.0.
# Its value may be silently ignored in the future.
# Reason: This option is no longer used.
#initial_reconnect_backoff = 0.1

# DEPRECATED: Maximum number of seconds between sequential reconnection
# retries.  No longer used since distributed coordination manages its heartbeat
# internally. (floating point value)
# This option is deprecated for removal since 11.0.0.
# Its value may be silently ignored in the future.
# Reason: This option is no longer used.
#max_reconnect_backoff = 60.0


[cors]

#
# From oslo.middleware
#

# Indicate whether this resource may be shared with the domain received in the
# requests "origin" header. Format: "<protocol>://<host>[:<port>]", no trailing
# slash. Example: https://horizon.example.com (list value)
#allowed_origin = <None>

# Indicate that the actual request can include user credentials (boolean value)
#allow_credentials = true

# Indicate which headers are safe to expose to the API. Defaults to HTTP Simple
# Headers. (list value)
#expose_headers = X-Auth-Token,X-Subject-Token,X-Service-Token,X-OpenStack-Request-ID,OpenStack-API-Version

# Maximum cache age of CORS preflight requests. (integer value)
#max_age = 3600

# Indicate which methods can be used during the actual request. (list value)
#allow_methods = GET,PUT,POST,DELETE,PATCH,HEAD

# Indicate which header field names may be used during the actual request.
# (list value)
#allow_headers = X-Auth-Token,X-Identity-Status,X-Roles,X-Service-Catalog,X-User-Id,X-Tenant-Id,X-OpenStack-Request-ID,X-Trace-Info,X-Trace-HMAC,OpenStack-API-Version


[database]

#
# From oslo.db
#

# If True, SQLite uses synchronous mode. (boolean value)
#sqlite_synchronous = true

# The back end to use for the database. (string value)
# Deprecated group/name - [DEFAULT]/db_backend
#backend = sqlalchemy

# The SQLAlchemy connection string to use to connect to the database. (string
# value)
# Deprecated group/name - [DEFAULT]/sql_connection
# Deprecated group/name - [DATABASE]/sql_connection
# Deprecated group/name - [sql]/connection
#connection = <None>

# The SQLAlchemy connection string to use to connect to the slave database.
# (string value)
#slave_connection = <None>

# The SQL mode to be used for MySQL sessions. This option, including the
# default, overrides any server-set SQL mode. To use whatever SQL mode is set
# by the server configuration, set this to no value. Example: mysql_sql_mode=
# (string value)
#mysql_sql_mode = TRADITIONAL

# If True, transparently enables support for handling MySQL Cluster (NDB).
# (boolean value)
#mysql_enable_ndb = false

# Timeout before idle SQL connections are reaped. (integer value)
# Deprecated group/name - [DEFAULT]/sql_idle_timeout
# Deprecated group/name - [DATABASE]/sql_idle_timeout
# Deprecated group/name - [sql]/idle_timeout
#idle_timeout = 3600

# Minimum number of SQL connections to keep open in a pool. (integer value)
# Deprecated group/name - [DEFAULT]/sql_min_pool_size
# Deprecated group/name - [DATABASE]/sql_min_pool_size
#min_pool_size = 1

# Maximum number of SQL connections to keep open in a pool. Setting a value of
# 0 indicates no limit. (integer value)
# Deprecated group/name - [DEFAULT]/sql_max_pool_size
# Deprecated group/name - [DATABASE]/sql_max_pool_size
#max_pool_size = 5

# Maximum number of database connection retries during startup. Set to -1 to
# specify an infinite retry count. (integer value)
# Deprecated group/name - [DEFAULT]/sql_max_retries
# Deprecated group/name - [DATABASE]/sql_max_retries
#max_retries = 10

# Interval between retries of opening a SQL connection. (integer value)
# Deprecated group/name - [DEFAULT]/sql_retry_interval
# Deprecated group/name - [DATABASE]/reconnect_interval
#retry_interval = 10

# If set, use this value for max_overflow with SQLAlchemy. (integer value)
# Deprecated group/name - [DEFAULT]/sql_max_overflow
# Deprecated group/name - [DATABASE]/sqlalchemy_max_overflow
#max_overflow = 50

# Verbosity of SQL debugging information: 0=None, 100=Everything. (integer
# value)
# Minimum value: 0
# Maximum value: 100
# Deprecated group/name - [DEFAULT]/sql_connection_debug
#connection_debug = 0

# Add Python stack traces to SQL as comment strings. (boolean value)
# Deprecated group/name - [DEFAULT]/sql_connection_trace
#connection_trace = false

# If set, use this value for pool_timeout with SQLAlchemy. (integer value)
# Deprecated group/name - [DATABASE]/sqlalchemy_pool_timeout
#pool_timeout = <None>

# Enable the experimental use of database reconnect on connection lost.
# (boolean value)
#use_db_reconnect = false

# Seconds between retries of a database transaction. (integer value)
#db_retry_interval = 1

# If True, increases the interval between retries of a database operation up to
# db_max_retry_interval. (boolean value)
#db_inc_retry_interval = true

# If db_inc_retry_interval is set, the maximum seconds between retries of a
# database operation. (integer value)
#db_max_retry_interval = 10

# Maximum retries in case of connection error or deadlock error before error is
# raised. Set to -1 to specify an infinite retry count. (integer value)
#db_max_retries = 20


[fc-zone-manager]

#
# From cinder
#

# South bound connector for zoning operation (string value)
#brcd_sb_connector = HTTP

# Southbound connector for zoning operation (string value)
#cisco_sb_connector = cinder.zonemanager.drivers.cisco.cisco_fc_zone_client_cli.CiscoFCZoneClientCLI

# FC Zone Driver responsible for zone management (string value)
#zone_driver = cinder.zonemanager.drivers.brocade.brcd_fc_zone_driver.BrcdFCZoneDriver

# Zoning policy configured by user; valid values include "initiator-target" or
# "initiator" (string value)
#zoning_policy = initiator-target

# Comma separated list of Fibre Channel fabric names. This list of names is
# used to retrieve other SAN credentials for connecting to each SAN fabric
# (string value)
#fc_fabric_names = <None>

# FC SAN Lookup Service (string value)
#fc_san_lookup_service = cinder.zonemanager.drivers.brocade.brcd_fc_san_lookup_service.BrcdFCSanLookupService

# Set this to True when you want to allow an unsupported zone manager driver to
# start.  Drivers that haven't maintained a working CI system and testing are
# marked as unsupported until CI is working again.  This also marks a driver as
# deprecated and may be removed in the next release. (boolean value)
#enable_unsupported_driver = false


[healthcheck]

#
# From oslo.middleware
#

# DEPRECATED: The path to respond to healtcheck requests on. (string value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
#path = /healthcheck

# Show more detailed information as part of the response (boolean value)
#detailed = false

# Additional backends that can perform health checks and report that
# information back as part of a request. (list value)
#backends =

# Check the presence of a file to determine if an application is running on a
# port. Used by DisableByFileHealthcheck plugin. (string value)
#disable_by_file_path = <None>

# Check the presence of a file based on a port to determine if an application
# is running on a port. Expects a "port:path" list of strings. Used by
# DisableByFilesPortsHealthcheck plugin. (list value)
#disable_by_file_paths =


[key_manager]

#
# From castellan.config
#

# The full class name of the key manager API class (string value)
#api_class = castellan.key_manager.barbican_key_manager.BarbicanKeyManager

# The type of authentication credential to create. Possible values are 'token',
# 'password', 'keystone_token', and 'keystone_password'. Required if no context
# is passed to the credential factory. (string value)
#auth_type = <None>

# Token for authentication. Required for 'token' and 'keystone_token' auth_type
# if no context is passed to the credential factory. (string value)
#token = <None>

# Username for authentication. Required for 'password' auth_type. Optional for
# the 'keystone_password' auth_type. (string value)
#username = <None>

# Password for authentication. Required for 'password' and 'keystone_password'
# auth_type. (string value)
#password = <None>

# Use this endpoint to connect to Keystone. (string value)
#auth_url = <None>

# User ID for authentication. Optional for 'keystone_token' and
# 'keystone_password' auth_type. (string value)
#user_id = <None>

# User's domain ID for authentication. Optional for 'keystone_token' and
# 'keystone_password' auth_type. (string value)
#user_domain_id = <None>

# User's domain name for authentication. Optional for 'keystone_token' and
# 'keystone_password' auth_type. (string value)
#user_domain_name = <None>

# Trust ID for trust scoping. Optional for 'keystone_token' and
# 'keystone_password' auth_type. (string value)
#trust_id = <None>

# Domain ID for domain scoping. Optional for 'keystone_token' and
# 'keystone_password' auth_type. (string value)
#domain_id = <None>

# Domain name for domain scoping. Optional for 'keystone_token' and
# 'keystone_password' auth_type. (string value)
#domain_name = <None>

# Project ID for project scoping. Optional for 'keystone_token' and
# 'keystone_password' auth_type. (string value)
#project_id = <None>

# Project name for project scoping. Optional for 'keystone_token' and
# 'keystone_password' auth_type. (string value)
#project_name = <None>

# Project's domain ID for project. Optional for 'keystone_token' and
# 'keystone_password' auth_type. (string value)
#project_domain_id = <None>

# Project's domain name for project. Optional for 'keystone_token' and
# 'keystone_password' auth_type. (string value)
#project_domain_name = <None>

# Allow fetching a new token if the current one is going to expire. Optional
# for 'keystone_token' and 'keystone_password' auth_type. (boolean value)
#reauthenticate = true

#
# From cinder
#

# Fixed key returned by key manager, specified in hex (string value)
#fixed_key = <None>


[keystone_authtoken]

#
# From keystonemiddleware.auth_token
#

# Complete "public" Identity API endpoint. This endpoint should not be an
# "admin" endpoint, as it should be accessible by all end users.
# Unauthenticated clients are redirected to this endpoint to authenticate.
# Although this endpoint should ideally be unversioned, client support in the
# wild varies. If you're using a versioned v2 endpoint here, then this should
# *not* be the same endpoint the service user utilizes for validating tokens,
# because normal end users may not be able to reach that endpoint. (string
# value)
#auth_uri = <None>

# API version of the admin Identity API endpoint. (string value)
#auth_version = <None>

# Do not handle authorization requests within the middleware, but delegate the
# authorization decision to downstream WSGI components. (boolean value)
#delay_auth_decision = false

# Request timeout value for communicating with Identity API server. (integer
# value)
#http_connect_timeout = <None>

# How many times are we trying to reconnect when communicating with Identity
# API Server. (integer value)
#http_request_max_retries = 3

# Request environment key where the Swift cache object is stored. When
# auth_token middleware is deployed with a Swift cache, use this option to have
# the middleware share a caching backend with swift. Otherwise, use the
# ``memcached_servers`` option instead. (string value)
#cache = <None>

# Required if identity server requires client certificate (string value)
#certfile = <None>

# Required if identity server requires client certificate (string value)
#keyfile = <None>

# A PEM encoded Certificate Authority to use when verifying HTTPs connections.
# Defaults to system CAs. (string value)
#cafile = <None>

# Verify HTTPS connections. (boolean value)
#insecure = false

# The region in which the identity server can be found. (string value)
#region_name = <None>

# DEPRECATED: Directory used to cache files related to PKI tokens. This option
# has been deprecated in the Ocata release and will be removed in the P
# release. (string value)
# This option is deprecated for removal since Ocata.
# Its value may be silently ignored in the future.
# Reason: PKI token format is no longer supported.
#signing_dir = <None>

# Optionally specify a list of memcached server(s) to use for caching. If left
# undefined, tokens will instead be cached in-process. (list value)
# Deprecated group/name - [keystone_authtoken]/memcache_servers
#memcached_servers = <None>

# In order to prevent excessive effort spent validating tokens, the middleware
# caches previously-seen tokens for a configurable duration (in seconds). Set
# to -1 to disable caching completely. (integer value)
#token_cache_time = 300

# DEPRECATED: Determines the frequency at which the list of revoked tokens is
# retrieved from the Identity service (in seconds). A high number of revocation
# events combined with a low cache duration may significantly reduce
# performance. Only valid for PKI tokens. This option has been deprecated in
# the Ocata release and will be removed in the P release. (integer value)
# This option is deprecated for removal since Ocata.
# Its value may be silently ignored in the future.
# Reason: PKI token format is no longer supported.
#revocation_cache_time = 10

# (Optional) If defined, indicate whether token data should be authenticated or
# authenticated and encrypted. If MAC, token data is authenticated (with HMAC)
# in the cache. If ENCRYPT, token data is encrypted and authenticated in the
# cache. If the value is not one of these options or empty, auth_token will
# raise an exception on initialization. (string value)
# Allowed values: None, MAC, ENCRYPT
#memcache_security_strategy = None

# (Optional, mandatory if memcache_security_strategy is defined) This string is
# used for key derivation. (string value)
#memcache_secret_key = <None>

# (Optional) Number of seconds memcached server is considered dead before it is
# tried again. (integer value)
#memcache_pool_dead_retry = 300

# (Optional) Maximum total number of open connections to every memcached
# server. (integer value)
#memcache_pool_maxsize = 10

# (Optional) Socket timeout in seconds for communicating with a memcached
# server. (integer value)
#memcache_pool_socket_timeout = 3

# (Optional) Number of seconds a connection to memcached is held unused in the
# pool before it is closed. (integer value)
#memcache_pool_unused_timeout = 60

# (Optional) Number of seconds that an operation will wait to get a memcached
# client connection from the pool. (integer value)
#memcache_pool_conn_get_timeout = 10

# (Optional) Use the advanced (eventlet safe) memcached client pool. The
# advanced pool will only work under python 2.x. (boolean value)
#memcache_use_advanced_pool = false

# (Optional) Indicate whether to set the X-Service-Catalog header. If False,
# middleware will not ask for service catalog on token validation and will not
# set the X-Service-Catalog header. (boolean value)
#include_service_catalog = true

# Used to control the use and type of token binding. Can be set to: "disabled"
# to not check token binding. "permissive" (default) to validate binding
# information if the bind type is of a form known to the server and ignore it
# if not. "strict" like "permissive" but if the bind type is unknown the token
# will be rejected. "required" any form of token binding is needed to be
# allowed. Finally the name of a binding method that must be present in tokens.
# (string value)
#enforce_token_bind = permissive

# DEPRECATED: If true, the revocation list will be checked for cached tokens.
# This requires that PKI tokens are configured on the identity server. (boolean
# value)
# This option is deprecated for removal since Ocata.
# Its value may be silently ignored in the future.
# Reason: PKI token format is no longer supported.
#check_revocations_for_cached = false

# DEPRECATED: Hash algorithms to use for hashing PKI tokens. This may be a
# single algorithm or multiple. The algorithms are those supported by Python
# standard hashlib.new(). The hashes will be tried in the order given, so put
# the preferred one first for performance. The result of the first hash will be
# stored in the cache. This will typically be set to multiple values only while
# migrating from a less secure algorithm to a more secure one. Once all the old
# tokens are expired this option should be set to a single value for better
# performance. (list value)
# This option is deprecated for removal since Ocata.
# Its value may be silently ignored in the future.
# Reason: PKI token format is no longer supported.
#hash_algorithms = md5

# A choice of roles that must be present in a service token. Service tokens are
# allowed to request that an expired token can be used and so this check should
# tightly control that only actual services should be sending this token. Roles
# here are applied as an ANY check so any role in this list must be present.
# For backwards compatibility reasons this currently only affects the
# allow_expired check. (list value)
#service_token_roles = service

# For backwards compatibility reasons we must let valid service tokens pass
# that don't pass the service_token_roles check as valid. Setting this true
# will become the default in a future release and should be enabled if
# possible. (boolean value)
#service_token_roles_required = false

# Authentication type to load (string value)
# Deprecated group/name - [keystone_authtoken]/auth_plugin
#auth_type = <None>

# Config Section from which to load plugin specific options (string value)
#auth_section = <None>


[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


[nova]

#
# From cinder
#

# Name of nova region to use. Useful if keystone manages more than one region.
# (string value)
# Deprecated group/name - [DEFAULT]/os_region_name
#region_name = <None>

# Type of the nova endpoint to use.  This endpoint will be looked up in the
# keystone catalog and should be one of public, internal or admin. (string
# value)
# Allowed values: public, admin, internal
#interface = public

# The authentication URL for the nova connection when using the current users
# token (string value)
#token_auth_url = <None>

# PEM encoded Certificate Authority to use when verifying HTTPs connections.
# (string value)
# Deprecated group/name - [nova]/nova_ca_certificates_file
#cafile = <None>

# PEM encoded client certificate cert file (string value)
#certfile = <None>

# PEM encoded client certificate key file (string value)
#keyfile = <None>

# Verify HTTPS connections. (boolean value)
# Deprecated group/name - [nova]/nova_api_insecure
#insecure = false

# Timeout value for http requests (integer value)
#timeout = <None>

# Authentication type to load (string value)
# Deprecated group/name - [nova]/auth_plugin
#auth_type = <None>

# Config Section from which to load plugin specific options (string value)
#auth_section = <None>


[oslo_concurrency]

#
# From oslo.concurrency
#

# Enables or disables inter-process locks. (boolean value)
#disable_process_locking = false

# Directory to use for lock files.  For security, the specified directory
# should only be writable by the user running the processes that need locking.
# Defaults to environment variable OSLO_LOCK_PATH. If external locks are used,
# a lock path must be set. (string value)
#lock_path = <None>


[oslo_messaging_amqp]

#
# From oslo.messaging
#

# Name for the AMQP container. must be globally unique. Defaults to a generated
# UUID (string value)
#container_name = <None>

# Timeout for inactive connections (in seconds) (integer value)
#idle_timeout = 0

# Debug: dump AMQP frames to stdout (boolean value)
#trace = false

# Attempt to connect via SSL. If no other ssl-related parameters are given, it
# will use the system's CA-bundle to verify the server's certificate. (boolean
# value)
#ssl = false

# CA certificate PEM file used to verify the server's certificate (string
# value)
#ssl_ca_file =

# Self-identifying certificate PEM file for client authentication (string
# value)
#ssl_cert_file =

# Private key PEM file used to sign ssl_cert_file certificate (optional)
# (string value)
#ssl_key_file =

# Password for decrypting ssl_key_file (if encrypted) (string value)
#ssl_key_password = <None>

# By default SSL checks that the name in the server's certificate matches the
# hostname in the transport_url. In some configurations it may be preferable to
# use the virtual hostname instead, for example if the server uses the Server
# Name Indication TLS extension (rfc6066) to provide a certificate per virtual
# host. Set ssl_verify_vhost to True if the server's SSL certificate uses the
# virtual host name instead of the DNS name. (boolean value)
#ssl_verify_vhost = false

# DEPRECATED: Accept clients using either SSL or plain TCP (boolean value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: Not applicable - not a SSL server
#allow_insecure_clients = false

# Space separated list of acceptable SASL mechanisms (string value)
#sasl_mechanisms =

# Path to directory that contains the SASL configuration (string value)
#sasl_config_dir =

# Name of configuration file (without .conf suffix) (string value)
#sasl_config_name =

# SASL realm to use if no realm present in username (string value)
#sasl_default_realm =

# DEPRECATED: User name for message broker authentication (string value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: Should use configuration option transport_url to provide the
# username.
#username =

# DEPRECATED: Password for message broker authentication (string value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: Should use configuration option transport_url to provide the
# password.
#password =

# Seconds to pause before attempting to re-connect. (integer value)
# Minimum value: 1
#connection_retry_interval = 1

# Increase the connection_retry_interval by this many seconds after each
# unsuccessful failover attempt. (integer value)
# Minimum value: 0
#connection_retry_backoff = 2

# Maximum limit for connection_retry_interval + connection_retry_backoff
# (integer value)
# Minimum value: 1
#connection_retry_interval_max = 30

# Time to pause between re-connecting an AMQP 1.0 link that failed due to a
# recoverable error. (integer value)
# Minimum value: 1
#link_retry_delay = 10

# The maximum number of attempts to re-send a reply message which failed due to
# a recoverable error. (integer value)
# Minimum value: -1
#default_reply_retry = 0

# The deadline for an rpc reply message delivery. (integer value)
# Minimum value: 5
#default_reply_timeout = 30

# The deadline for an rpc cast or call message delivery. Only used when caller
# does not provide a timeout expiry. (integer value)
# Minimum value: 5
#default_send_timeout = 30

# The deadline for a sent notification message delivery. Only used when caller
# does not provide a timeout expiry. (integer value)
# Minimum value: 5
#default_notify_timeout = 30

# The duration to schedule a purge of idle sender links. Detach link after
# expiry. (integer value)
# Minimum value: 1
#default_sender_link_timeout = 600

# Indicates the addressing mode used by the driver.
# Permitted values:
# 'legacy'   - use legacy non-routable addressing
# 'routable' - use routable addresses
# 'dynamic'  - use legacy addresses if the message bus does not support routing
# otherwise use routable addressing (string value)
#addressing_mode = dynamic

# Enable virtual host support for those message buses that do not natively
# support virtual hosting (such as qpidd). When set to true the virtual host
# name will be added to all message bus addresses, effectively creating a
# private 'subnet' per virtual host. Set to False if the message bus supports
# virtual hosting using the 'hostname' field in the AMQP 1.0 Open performative
# as the name of the virtual host. (boolean value)
#pseudo_vhost = true

# address prefix used when sending to a specific server (string value)
#server_request_prefix = exclusive

# address prefix used when broadcasting to all servers (string value)
#broadcast_prefix = broadcast

# address prefix when sending to any server in group (string value)
#group_request_prefix = unicast

# Address prefix for all generated RPC addresses (string value)
#rpc_address_prefix = openstack.org/om/rpc

# Address prefix for all generated Notification addresses (string value)
#notify_address_prefix = openstack.org/om/notify

# Appended to the address prefix when sending a fanout message. Used by the
# message bus to identify fanout messages. (string value)
#multicast_address = multicast

# Appended to the address prefix when sending to a particular RPC/Notification
# server. Used by the message bus to identify messages sent to a single
# destination. (string value)
#unicast_address = unicast

# Appended to the address prefix when sending to a group of consumers. Used by
# the message bus to identify messages that should be delivered in a round-
# robin fashion across consumers. (string value)
#anycast_address = anycast

# Exchange name used in notification addresses.
# Exchange name resolution precedence:
# Target.exchange if set
# else default_notification_exchange if set
# else control_exchange if set
# else 'notify' (string value)
#default_notification_exchange = <None>

# Exchange name used in RPC addresses.
# Exchange name resolution precedence:
# Target.exchange if set
# else default_rpc_exchange if set
# else control_exchange if set
# else 'rpc' (string value)
#default_rpc_exchange = <None>

# Window size for incoming RPC Reply messages. (integer value)
# Minimum value: 1
#reply_link_credit = 200

# Window size for incoming RPC Request messages (integer value)
# Minimum value: 1
#rpc_server_credit = 100

# Window size for incoming Notification messages (integer value)
# Minimum value: 1
#notify_server_credit = 100

# Send messages of this type pre-settled.
# Pre-settled messages will not receive acknowledgement
# from the peer. Note well: pre-settled messages may be
# silently discarded if the delivery fails.
# Permitted values:
# 'rpc-call' - send RPC Calls pre-settled
# 'rpc-reply'- send RPC Replies pre-settled
# 'rpc-cast' - Send RPC Casts pre-settled
# 'notify'   - Send Notifications pre-settled
#  (multi valued)
#pre_settled = rpc-cast
#pre_settled = rpc-reply


[oslo_messaging_kafka]

#
# From oslo.messaging
#

# DEPRECATED: Default Kafka broker Host (string value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: Replaced by [DEFAULT]/transport_url
#kafka_default_host = localhost

# DEPRECATED: Default Kafka broker Port (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
#kafka_default_port = 9092

# Max fetch bytes of Kafka consumer (integer value)
#kafka_max_fetch_bytes = 1048576

# Default timeout(s) for Kafka consumers (floating point value)
#kafka_consumer_timeout = 1.0

# Pool Size for Kafka Consumers (integer value)
#pool_size = 10

# The pool size limit for connections expiration policy (integer value)
#conn_pool_min_size = 2

# The time-to-live in sec of idle connections in the pool (integer value)
#conn_pool_ttl = 1200

# Group id for Kafka consumer. Consumers in one group will coordinate message
# consumption (string value)
#consumer_group = oslo_messaging_consumer

# Upper bound on the delay for KafkaProducer batching in seconds (floating
# point value)
#producer_batch_timeout = 0.0

# Size of batch for the producer async send (integer value)
#producer_batch_size = 16384


[oslo_messaging_notifications]

#
# From oslo.messaging
#

# The Drivers(s) to handle sending notifications. Possible values are
# messaging, messagingv2, routing, log, test, noop (multi valued)
# Deprecated group/name - [DEFAULT]/notification_driver
#driver =

# A URL representing the messaging driver to use for notifications. If not set,
# we fall back to the same configuration used for RPC. (string value)
# Deprecated group/name - [DEFAULT]/notification_transport_url
#transport_url = <None>

# AMQP topic used for OpenStack notifications. (list value)
# Deprecated group/name - [rpc_notifier2]/topics
# Deprecated group/name - [DEFAULT]/notification_topics
#topics = notifications

# The maximum number of attempts to re-send a notification message which failed
# to be delivered due to a recoverable error. 0 - No retry, -1 - indefinite
# (integer value)
#retry = -1


[oslo_messaging_rabbit]

#
# From oslo.messaging
#

# Use durable queues in AMQP. (boolean value)
# Deprecated group/name - [DEFAULT]/amqp_durable_queues
# Deprecated group/name - [DEFAULT]/rabbit_durable_queues
#amqp_durable_queues = false

# Auto-delete queues in AMQP. (boolean value)
#amqp_auto_delete = false

# Enable SSL (boolean value)
#ssl = <None>

# SSL version to use (valid only if SSL enabled). Valid values are TLSv1 and
# SSLv23. SSLv2, SSLv3, TLSv1_1, and TLSv1_2 may be available on some
# distributions. (string value)
# Deprecated group/name - [oslo_messaging_rabbit]/kombu_ssl_version
#ssl_version =

# SSL key file (valid only if SSL enabled). (string value)
# Deprecated group/name - [oslo_messaging_rabbit]/kombu_ssl_keyfile
#ssl_key_file =

# SSL cert file (valid only if SSL enabled). (string value)
# Deprecated group/name - [oslo_messaging_rabbit]/kombu_ssl_certfile
#ssl_cert_file =

# SSL certification authority file (valid only if SSL enabled). (string value)
# Deprecated group/name - [oslo_messaging_rabbit]/kombu_ssl_ca_certs
#ssl_ca_file =

# How long to wait before reconnecting in response to an AMQP consumer cancel
# notification. (floating point value)
#kombu_reconnect_delay = 1.0

# EXPERIMENTAL: Possible values are: gzip, bz2. If not set compression will not
# be used. This option may not be available in future versions. (string value)
#kombu_compression = <None>

# How long to wait a missing client before abandoning to send it its replies.
# This value should not be longer than rpc_response_timeout. (integer value)
# Deprecated group/name - [oslo_messaging_rabbit]/kombu_reconnect_timeout
#kombu_missing_consumer_retry_timeout = 60

# Determines how the next RabbitMQ node is chosen in case the one we are
# currently connected to becomes unavailable. Takes effect only if more than
# one RabbitMQ node is provided in config. (string value)
# Allowed values: round-robin, shuffle
#kombu_failover_strategy = round-robin

# DEPRECATED: The RabbitMQ broker address where a single node is used. (string
# value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: Replaced by [DEFAULT]/transport_url
#rabbit_host = localhost

# DEPRECATED: The RabbitMQ broker port where a single node is used. (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
#rabbit_port = 5672

# DEPRECATED: RabbitMQ HA cluster host:port pairs. (list value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: Replaced by [DEFAULT]/transport_url
#rabbit_hosts = $rabbit_host:$rabbit_port

# DEPRECATED: The RabbitMQ userid. (string value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: Replaced by [DEFAULT]/transport_url
#rabbit_userid = guest

# DEPRECATED: The RabbitMQ password. (string value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: Replaced by [DEFAULT]/transport_url
#rabbit_password = guest

# The RabbitMQ login method. (string value)
# Allowed values: PLAIN, AMQPLAIN, RABBIT-CR-DEMO
#rabbit_login_method = AMQPLAIN

# DEPRECATED: The RabbitMQ virtual host. (string value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: Replaced by [DEFAULT]/transport_url
#rabbit_virtual_host = /

# How frequently to retry connecting with RabbitMQ. (integer value)
#rabbit_retry_interval = 1

# How long to backoff for between retries when connecting to RabbitMQ. (integer
# value)
#rabbit_retry_backoff = 2

# Maximum interval of RabbitMQ connection retries. Default is 30 seconds.
# (integer value)
#rabbit_interval_max = 30

# DEPRECATED: Maximum number of RabbitMQ connection retries. Default is 0
# (infinite retry count). (integer value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
#rabbit_max_retries = 0

# Try to use HA queues in RabbitMQ (x-ha-policy: all). If you change this
# option, you must wipe the RabbitMQ database. In RabbitMQ 3.0, queue mirroring
# is no longer controlled by the x-ha-policy argument when declaring a queue.
# If you just want to make sure that all queues (except those with auto-
# generated names) are mirrored across all nodes, run: "rabbitmqctl set_policy
# HA '^(?!amq\.).*' '{"ha-mode": "all"}' " (boolean value)
#rabbit_ha_queues = false

# Positive integer representing duration in seconds for queue TTL (x-expires).
# Queues which are unused for the duration of the TTL are automatically
# deleted. The parameter affects only reply and fanout queues. (integer value)
# Minimum value: 1
#rabbit_transient_queues_ttl = 1800

# Specifies the number of messages to prefetch. Setting to zero allows
# unlimited messages. (integer value)
#rabbit_qos_prefetch_count = 0

# Number of seconds after which the Rabbit broker is considered down if
# heartbeat's keep-alive fails (0 disable the heartbeat). EXPERIMENTAL (integer
# value)
#heartbeat_timeout_threshold = 60

# How often times during the heartbeat_timeout_threshold we check the
# heartbeat. (integer value)
#heartbeat_rate = 2

# Deprecated, use rpc_backend=kombu+memory or rpc_backend=fake (boolean value)
#fake_rabbit = false

# Maximum number of channels to allow (integer value)
#channel_max = <None>

# The maximum byte size for an AMQP frame (integer value)
#frame_max = <None>

# How often to send heartbeats for consumer's connections (integer value)
#heartbeat_interval = 3

# Arguments passed to ssl.wrap_socket (dict value)
#ssl_options = <None>

# Set socket timeout in seconds for connection's socket (floating point value)
#socket_timeout = 0.25

# Set TCP_USER_TIMEOUT in seconds for connection's socket (floating point
# value)
#tcp_user_timeout = 0.25

# Set delay for reconnection to some host which has connection error (floating
# point value)
#host_connection_reconnect_delay = 0.25

# Connection factory implementation (string value)
# Allowed values: new, single, read_write
#connection_factory = single

# Maximum number of connections to keep queued. (integer value)
#pool_max_size = 30

# Maximum number of connections to create above `pool_max_size`. (integer
# value)
#pool_max_overflow = 0

# Default number of seconds to wait for a connections to available (integer
# value)
#pool_timeout = 30

# Lifetime of a connection (since creation) in seconds or None for no
# recycling. Expired connections are closed on acquire. (integer value)
#pool_recycle = 600

# Threshold at which inactive (since release) connections are considered stale
# in seconds or None for no staleness. Stale connections are closed on acquire.
# (integer value)
#pool_stale = 60

# Default serialization mechanism for serializing/deserializing
# outgoing/incoming messages (string value)
# Allowed values: json, msgpack
#default_serializer_type = json

# Persist notification messages. (boolean value)
#notification_persistence = false

# Exchange name for sending notifications (string value)
#default_notification_exchange = ${control_exchange}_notification

# Max number of not acknowledged message which RabbitMQ can send to
# notification listener. (integer value)
#notification_listener_prefetch_count = 100

# Reconnecting retry count in case of connectivity problem during sending
# notification, -1 means infinite retry. (integer value)
#default_notification_retry_attempts = -1

# Reconnecting retry delay in case of connectivity problem during sending
# notification message (floating point value)
#notification_retry_delay = 0.25

# Time to live for rpc queues without consumers in seconds. (integer value)
#rpc_queue_expiration = 60

# Exchange name for sending RPC messages (string value)
#default_rpc_exchange = ${control_exchange}_rpc

# Exchange name for receiving RPC replies (string value)
#rpc_reply_exchange = ${control_exchange}_rpc_reply

# Max number of not acknowledged message which RabbitMQ can send to rpc
# listener. (integer value)
#rpc_listener_prefetch_count = 100

# Max number of not acknowledged message which RabbitMQ can send to rpc reply
# listener. (integer value)
#rpc_reply_listener_prefetch_count = 100

# Reconnecting retry count in case of connectivity problem during sending
# reply. -1 means infinite retry during rpc_timeout (integer value)
#rpc_reply_retry_attempts = -1

# Reconnecting retry delay in case of connectivity problem during sending
# reply. (floating point value)
#rpc_reply_retry_delay = 0.25

# Reconnecting retry count in case of connectivity problem during sending RPC
# message, -1 means infinite retry. If actual retry attempts in not 0 the rpc
# request could be processed more than one time (integer value)
#default_rpc_retry_attempts = -1

# Reconnecting retry delay in case of connectivity problem during sending RPC
# message (floating point value)
#rpc_retry_delay = 0.25


[oslo_messaging_zmq]

#
# From oslo.messaging
#

# ZeroMQ bind address. Should be a wildcard (*), an ethernet interface, or IP.
# The "host" option should point or resolve to this address. (string value)
#rpc_zmq_bind_address = *

# MatchMaker driver. (string value)
# Allowed values: redis, sentinel, dummy
#rpc_zmq_matchmaker = redis

# Number of ZeroMQ contexts, defaults to 1. (integer value)
#rpc_zmq_contexts = 1

# Maximum number of ingress messages to locally buffer per topic. Default is
# unlimited. (integer value)
#rpc_zmq_topic_backlog = <None>

# Directory for holding IPC sockets. (string value)
#rpc_zmq_ipc_dir = /var/run/openstack

# Name of this node. Must be a valid hostname, FQDN, or IP address. Must match
# "host" option, if running Nova. (string value)
#rpc_zmq_host = localhost

# Number of seconds to wait before all pending messages will be sent after
# closing a socket. The default value of -1 specifies an infinite linger
# period. The value of 0 specifies no linger period. Pending messages shall be
# discarded immediately when the socket is closed. Positive values specify an
# upper bound for the linger period. (integer value)
# Deprecated group/name - [DEFAULT]/rpc_cast_timeout
#zmq_linger = -1

# The default number of seconds that poll should wait. Poll raises timeout
# exception when timeout expired. (integer value)
#rpc_poll_timeout = 1

# Expiration timeout in seconds of a name service record about existing target
# ( < 0 means no timeout). (integer value)
#zmq_target_expire = 300

# Update period in seconds of a name service record about existing target.
# (integer value)
#zmq_target_update = 180

# Use PUB/SUB pattern for fanout methods. PUB/SUB always uses proxy. (boolean
# value)
#use_pub_sub = false

# Use ROUTER remote proxy. (boolean value)
#use_router_proxy = false

# This option makes direct connections dynamic or static. It makes sense only
# with use_router_proxy=False which means to use direct connections for direct
# message types (ignored otherwise). (boolean value)
#use_dynamic_connections = false

# How many additional connections to a host will be made for failover reasons.
# This option is actual only in dynamic connections mode. (integer value)
#zmq_failover_connections = 2

# Minimal port number for random ports range. (port value)
# Minimum value: 0
# Maximum value: 65535
#rpc_zmq_min_port = 49153

# Maximal port number for random ports range. (integer value)
# Minimum value: 1
# Maximum value: 65536
#rpc_zmq_max_port = 65536

# Number of retries to find free port number before fail with ZMQBindError.
# (integer value)
#rpc_zmq_bind_port_retries = 100

# Default serialization mechanism for serializing/deserializing
# outgoing/incoming messages (string value)
# Allowed values: json, msgpack
#rpc_zmq_serialization = json

# This option configures round-robin mode in zmq socket. True means not keeping
# a queue when server side disconnects. False means to keep queue and messages
# even if server is disconnected, when the server appears we send all
# accumulated messages to it. (boolean value)
#zmq_immediate = true

# Enable/disable TCP keepalive (KA) mechanism. The default value of -1 (or any
# other negative value) means to skip any overrides and leave it to OS default;
# 0 and 1 (or any other positive value) mean to disable and enable the option
# respectively. (integer value)
#zmq_tcp_keepalive = -1

# The duration between two keepalive transmissions in idle condition. The unit
# is platform dependent, for example, seconds in Linux, milliseconds in Windows
# etc. The default value of -1 (or any other negative value and 0) means to
# skip any overrides and leave it to OS default. (integer value)
#zmq_tcp_keepalive_idle = -1

# The number of retransmissions to be carried out before declaring that remote
# end is not available. The default value of -1 (or any other negative value
# and 0) means to skip any overrides and leave it to OS default. (integer
# value)
#zmq_tcp_keepalive_cnt = -1

# The duration between two successive keepalive retransmissions, if
# acknowledgement to the previous keepalive transmission is not received. The
# unit is platform dependent, for example, seconds in Linux, milliseconds in
# Windows etc. The default value of -1 (or any other negative value and 0)
# means to skip any overrides and leave it to OS default. (integer value)
#zmq_tcp_keepalive_intvl = -1

# Maximum number of (green) threads to work concurrently. (integer value)
#rpc_thread_pool_size = 100

# Expiration timeout in seconds of a sent/received message after which it is
# not tracked anymore by a client/server. (integer value)
#rpc_message_ttl = 300

# Wait for message acknowledgements from receivers. This mechanism works only
# via proxy without PUB/SUB. (boolean value)
#rpc_use_acks = false

# Number of seconds to wait for an ack from a cast/call. After each retry
# attempt this timeout is multiplied by some specified multiplier. (integer
# value)
#rpc_ack_timeout_base = 15

# Number to multiply base ack timeout by after each retry attempt. (integer
# value)
#rpc_ack_timeout_multiplier = 2

# Default number of message sending attempts in case of any problems occurred:
# positive value N means at most N retries, 0 means no retries, None or -1 (or
# any other negative values) mean to retry forever. This option is used only if
# acknowledgments are enabled. (integer value)
#rpc_retry_attempts = 3

# List of publisher hosts SubConsumer can subscribe on. This option has higher
# priority then the default publishers list taken from the matchmaker. (list
# value)
#subscribe_on =


[oslo_middleware]

#
# From oslo.middleware
#

# The maximum body size for each  request, in bytes. (integer value)
# Deprecated group/name - [DEFAULT]/osapi_max_request_body_size
# Deprecated group/name - [DEFAULT]/max_request_body_size
#max_request_body_size = 114688

# DEPRECATED: The HTTP Header that will be used to determine what the original
# request protocol scheme was, even if it was hidden by a SSL termination
# proxy. (string value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
#secure_proxy_ssl_header = X-Forwarded-Proto

# Whether the application is behind a proxy or not. This determines if the
# middleware should parse the headers or not. (boolean value)
#enable_proxy_headers_parsing = false


[oslo_policy]

#
# From oslo.policy
#

# The file that defines policies. (string value)
#policy_file = policy.json

# Default rule. Enforced when a requested rule is not found. (string value)
#policy_default_rule = default

# Directories where policy configuration files are stored. They can be relative
# to any directory in the search path defined by the config_dir option, or
# absolute paths. The file defined by policy_file must exist for these
# directories to be searched.  Missing or empty directories are ignored. (multi
# valued)
#policy_dirs = policy.d


[oslo_reports]

#
# From oslo.reports
#

# Path to a log directory where to create a file (string value)
#log_dir = <None>

# The path to a file to watch for changes to trigger the reports, instead of
# signals. Setting this option disables the signal trigger for the reports. If
# application is running as a WSGI application it is recommended to use this
# instead of signals. (string value)
#file_event_handler = <None>

# How many seconds to wait between polls when file_event_handler is set
# (integer value)
#file_event_handler_interval = 1


[oslo_versionedobjects]

#
# From oslo.versionedobjects
#

# Make exception message format errors fatal (boolean value)
#fatal_exception_format_errors = false


[profiler]

#
# From osprofiler
#

#
# Enables the profiling for all services on this node. Default value is False
# (fully disable the profiling feature).
#
# Possible values:
#
# * True: Enables the feature
# * False: Disables the feature. The profiling cannot be started via this
# project
# operations. If the profiling is triggered by another project, this project
# part
# will be empty.
#  (boolean value)
# Deprecated group/name - [profiler]/profiler_enabled
#enabled = false

#
# Enables SQL requests profiling in services. Default value is False (SQL
# requests won't be traced).
#
# Possible values:
#
# * True: Enables SQL requests profiling. Each SQL query will be part of the
# trace and can the be analyzed by how much time was spent for that.
# * False: Disables SQL requests profiling. The spent time is only shown on a
# higher level of operations. Single SQL queries cannot be analyzed this
# way.
#  (boolean value)
#trace_sqlalchemy = false

#
# Secret key(s) to use for encrypting context data for performance profiling.
# This string value should have the following format:
# <key1>[,<key2>,...<keyn>],
# where each key is some random string. A user who triggers the profiling via
# the REST API has to set one of these keys in the headers of the REST API call
# to include profiling results of this node for this particular project.
#
# Both "enabled" flag and "hmac_keys" config options should be set to enable
# profiling. Also, to generate correct profiling information across all
# services
# at least one key needs to be consistent between OpenStack projects. This
# ensures it can be used from client side to generate the trace, containing
# information from all possible resources. (string value)
#hmac_keys = SECRET_KEY

#
# Connection string for a notifier backend. Default value is messaging:// which
# sets the notifier to oslo_messaging.
#
# Examples of possible values:
#
# * messaging://: use oslo_messaging driver for sending notifications.
# * mongodb://127.0.0.1:27017 : use mongodb driver for sending notifications.
# * elasticsearch://127.0.0.1:9200 : use elasticsearch driver for sending
# notifications.
#  (string value)
#connection_string = messaging://

#
# Document type for notification indexing in elasticsearch.
#  (string value)
#es_doc_type = notification

#
# This parameter is a time value parameter (for example: es_scroll_time=2m),
# indicating for how long the nodes that participate in the search will
# maintain
# relevant resources in order to continue and support it.
#  (string value)
#es_scroll_time = 2m

#
# Elasticsearch splits large requests in batches. This parameter defines
# maximum size of each batch (for example: es_scroll_size=10000).
#  (integer value)
#es_scroll_size = 10000

#
# Redissentinel provides a timeout option on the connections.
# This parameter defines that timeout (for example: socket_timeout=0.1).
#  (floating point value)
#socket_timeout = 0.1

#
# Redissentinel uses a service name to identify a master redis service.
# This parameter defines the name (for example:
# sentinal_service_name=mymaster).
#  (string value)
#sentinel_service_name = mymaster


[ssl]

#
# From oslo.service.sslutils
#

# CA certificate file to use to verify connecting clients. (string value)
# Deprecated group/name - [DEFAULT]/ssl_ca_file
#ca_file = <None>

# Certificate file to use when starting the server securely. (string value)
# Deprecated group/name - [DEFAULT]/ssl_cert_file
#cert_file = <None>

# Private key file to use when starting the server securely. (string value)
# Deprecated group/name - [DEFAULT]/ssl_key_file
#key_file = <None>

# SSL version to use (valid only if SSL enabled). Valid values are TLSv1 and
# SSLv23. SSLv2, SSLv3, TLSv1_1, and TLSv1_2 may be available on some
# distributions. (string value)
#version = <None>

# Sets the list of available ciphers. value should be a string in the OpenSSL
# cipher list format. (string value)
#ciphers = <None>
Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.