From edb9fed9aca8452e54624d9da109cdd7cabcf30c Mon Sep 17 00:00:00 2001 From: Mark Asselstine Date: Mon, 30 Apr 2018 14:51:41 -0400 Subject: python-cinder: uprev to latest stable/pike Requires the introduction of python-oauth2client and python-google-api-python-client packages/recipes. As with other openstack component uprev's we move some of the initialization from the first run scripts to the cinder-init.service which is run on first boot. This allows for someone to disable the default configuration by not including the cinder-init package in their image. The initialization is done following the guide at: At this point we have cinder up and running, which we can verify using the "openstack volume service list" command. root@controller:~# openstack volume service list +------------------+----------------------+------+---------+-------+----------------------------+ | Binary | Host | Zone | Status | State | Updated At | +------------------+----------------------+------+---------+-------+----------------------------+ | cinder-backup | controller | nova | enabled | down | 2018-04-30T15:31:08.330770 | | cinder-volume | controller@nfsdriver | nova | enabled | down | 2018-04-30T15:31:10.477678 | | cinder-scheduler | controller | nova | enabled | down | 2018-04-30T15:31:10.653041 | +------------------+----------------------+------+---------+-------+----------------------------+ We will have to adjust the configuration for a compute node but at this point we are concentrating on the initial configuration for the controller image. Signed-off-by: Mark Asselstine Signed-off-by: Bruce Ashfield --- .../python/python-cinder/cinder-api.service | 20 + .../python/python-cinder/cinder-backup.service | 20 + .../python/python-cinder/cinder-init | 57 + .../python/python-cinder/cinder-init.service | 12 + .../python/python-cinder/cinder-scheduler.service | 20 + .../python/python-cinder/cinder-volume.service | 20 + .../python/python-cinder/cinder.conf | 5547 +++++++++++++++++--- .../python/python-cinder/cinder.init | 130 - .../recipes-devtools/python/python-cinder_git.bb | 309 +- .../recipes-devtools/python/python-nova_git.bb | 3 + 10 files changed, 5042 insertions(+), 1096 deletions(-) create mode 100644 meta-openstack/recipes-devtools/python/python-cinder/cinder-api.service create mode 100644 meta-openstack/recipes-devtools/python/python-cinder/cinder-backup.service create mode 100644 meta-openstack/recipes-devtools/python/python-cinder/cinder-init create mode 100644 meta-openstack/recipes-devtools/python/python-cinder/cinder-init.service create mode 100644 meta-openstack/recipes-devtools/python/python-cinder/cinder-scheduler.service create mode 100644 meta-openstack/recipes-devtools/python/python-cinder/cinder-volume.service delete mode 100644 meta-openstack/recipes-devtools/python/python-cinder/cinder.init diff --git a/meta-openstack/recipes-devtools/python/python-cinder/cinder-api.service b/meta-openstack/recipes-devtools/python/python-cinder/cinder-api.service new file mode 100644 index 0000000..cef90b4 --- /dev/null +++ b/meta-openstack/recipes-devtools/python/python-cinder/cinder-api.service @@ -0,0 +1,20 @@ +[Unit] +Description=OpenStack Cinder API +After=postgresql.service keystone.service rabbitmq-server.service ntp.service + +[Service] +User=%USER% +Group=%GROUP% +Type=simple +WorkingDirectory=%LOCALSTATEDIR%/lib/cinder +PermissionsStartOnly=true +ExecStartPre=/bin/mkdir -p %LOCALSTATEDIR%/lock/cinder %LOCALSTATEDIR%/log/cinder %LOCALSTATEDIR%/lib/cinder +ExecStartPre=/bin/chown cinder:cinder %LOCALSTATEDIR%/lock/cinder %LOCALSTATEDIR%/lib/cinder +ExecStartPre=/bin/chown cinder:adm %LOCALSTATEDIR%/log/cinder +ExecStart=/usr/bin/cinder-api --config-file=%SYSCONFDIR%/cinder/cinder.conf +Restart=on-failure +LimitNOFILE=65535 +TimeoutStopSec=15 + +[Install] +WantedBy=multi-user.target diff --git a/meta-openstack/recipes-devtools/python/python-cinder/cinder-backup.service b/meta-openstack/recipes-devtools/python/python-cinder/cinder-backup.service new file mode 100644 index 0000000..1ae030c --- /dev/null +++ b/meta-openstack/recipes-devtools/python/python-cinder/cinder-backup.service @@ -0,0 +1,20 @@ +[Unit] +Description=OpenStack Cinder Backup +After=postgresql.service keystone.service rabbitmq-server.service ntp.service + +[Service] +User=%USER% +Group=%GROUP% +Type=simple +WorkingDirectory=%LOCALSTATEDIR%/lib/cinder +PermissionsStartOnly=true +ExecStartPre=/bin/mkdir -p %LOCALSTATEDIR%/lock/cinder %LOCALSTATEDIR%/log/cinder %LOCALSTATEDIR%/lib/cinder +ExecStartPre=/bin/chown cinder:cinder %LOCALSTATEDIR%/lock/cinder %LOCALSTATEDIR%/lib/cinder +ExecStartPre=/bin/chown cinder:adm %LOCALSTATEDIR%/log/cinder +ExecStart=/usr/bin/cinder-backup --config-file=%SYSCONFDIR%/cinder/cinder.conf +Restart=on-failure +LimitNOFILE=65535 +TimeoutStopSec=15 + +[Install] +WantedBy=multi-user.target diff --git a/meta-openstack/recipes-devtools/python/python-cinder/cinder-init b/meta-openstack/recipes-devtools/python/python-cinder/cinder-init new file mode 100644 index 0000000..e1a5758 --- /dev/null +++ b/meta-openstack/recipes-devtools/python/python-cinder/cinder-init @@ -0,0 +1,57 @@ +#!/bin/bash +# +# Basic cinder setup based on: +# https://docs.openstack.org/cinder/pike/install/cinder-controller-install-ubuntu.html +# +# Prerequisites: keystone must be available and bootstrapped +# + +# Substitutions setup at do_intall() +DB_USER=%DB_USER% +CINDER_USER=%CINDER_USER% +CINDER_GROUP=%CINDER_GROUP% +CONTROLLER_IP=%CONTROLLER_IP% +ADMIN_USER=%ADMIN_USER% +ADMIN_PASSWORD=%ADMIN_PASSWORD% +ADMIN_ROLE=%ADMIN_ROLE% +SYSCONFDIR=%SYSCONFDIR% + +sudo -u postgres psql -c "CREATE DATABASE \"cinder\"" 2> /dev/null +sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE \"cinder\" TO ${DB_USER}" 2> /dev/null + +source ${SYSCONFDIR}/keystone/admin-openrc + +openstack user create --domain default --password ${ADMIN_PASSWORD} ${CINDER_USER} + +# Ensure the 'service' project exists +openstack project show service > /dev/null 2>&1 +if [ $? -ne 0 ]; then + openstack project create service --domain default +fi +openstack role add --project service --user ${CINDER_USER} ${ADMIN_ROLE} + +# Create cinderv2 service and service endpoints +openstack service create --name cinderv2 --description "OpenStack Block Storage" volumev2 +openstack endpoint create --region RegionOne volumev2 public http://${CONTROLLER_IP}:8776/v2/%\(project_id\)s +openstack endpoint create --region RegionOne volumev2 internal http://${CONTROLLER_IP}:8776/v2/%\(project_id\)s +openstack endpoint create --region RegionOne volumev2 admin http://${CONTROLLER_IP}:8776/v2/%\(project_id\)s + +# Create cinderv3 service and service endpoints +openstack service create --name cinderv3 --description "OpenStack Block Storage" volumev3 +openstack endpoint create --region RegionOne volumev3 public http://${CONTROLLER_IP}:8776/v3/%\(project_id\)s +openstack endpoint create --region RegionOne volumev3 internal http://${CONTROLLER_IP}:8776/v3/%\(project_id\)s +openstack endpoint create --region RegionOne volumev3 admin http://${CONTROLLER_IP}:8776/v3/%\(project_id\)s + +sudo -u ${CINDER_USER} cinder-manage db sync + +# Enable cinder services now that they are configured +systemctl enable cinder-api +systemctl enable cinder-volume +systemctl enable cinder-backup +systemctl enable cinder-scheduler + +# Start our services +systemctl start cinder-api +systemctl start cinder-volume +systemctl start cinder-backup +systemctl start cinder-scheduler diff --git a/meta-openstack/recipes-devtools/python/python-cinder/cinder-init.service b/meta-openstack/recipes-devtools/python/python-cinder/cinder-init.service new file mode 100644 index 0000000..75425ba --- /dev/null +++ b/meta-openstack/recipes-devtools/python/python-cinder/cinder-init.service @@ -0,0 +1,12 @@ +[Unit] +Description=Barebones OpenStack cinder initialization +After=postgresql-init.service keystone-init.service + +[Service] +Type=oneshot +ExecStart=%SYSCONFDIR%/cinder/cinder-init +ExecStartPost=/bin/systemctl --no-reload disable cinder-init.service +RemainAfterExit=No + +[Install] +WantedBy=multi-user.target diff --git a/meta-openstack/recipes-devtools/python/python-cinder/cinder-scheduler.service b/meta-openstack/recipes-devtools/python/python-cinder/cinder-scheduler.service new file mode 100644 index 0000000..cbf3465 --- /dev/null +++ b/meta-openstack/recipes-devtools/python/python-cinder/cinder-scheduler.service @@ -0,0 +1,20 @@ +[Unit] +Description=OpenStack Cinder Scheduler +After=postgresql.service keystone.service rabbitmq-server.service ntp.service + +[Service] +User=%USER% +Group=%GROUP% +Type=simple +WorkingDirectory=%LOCALSTATEDIR%/lib/cinder +PermissionsStartOnly=true +ExecStartPre=/bin/mkdir -p %LOCALSTATEDIR%/lock/cinder %LOCALSTATEDIR%/log/cinder %LOCALSTATEDIR%/lib/cinder +ExecStartPre=/bin/chown cinder:cinder %LOCALSTATEDIR%/lock/cinder %LOCALSTATEDIR%/lib/cinder +ExecStartPre=/bin/chown cinder:adm %LOCALSTATEDIR%/log/cinder +ExecStart=/usr/bin/cinder-scheduler --config-file=%SYSCONFDIR%/cinder/cinder.conf +Restart=on-failure +LimitNOFILE=65535 +TimeoutStopSec=15 + +[Install] +WantedBy=multi-user.target diff --git a/meta-openstack/recipes-devtools/python/python-cinder/cinder-volume.service b/meta-openstack/recipes-devtools/python/python-cinder/cinder-volume.service new file mode 100644 index 0000000..ba5991d --- /dev/null +++ b/meta-openstack/recipes-devtools/python/python-cinder/cinder-volume.service @@ -0,0 +1,20 @@ +[Unit] +Description=OpenStack Cinder Volume +After=postgresql.service keystone.service rabbitmq-server.service ntp.service + +[Service] +User=%USER% +Group=%GROUP% +Type=simple +WorkingDirectory=%LOCALSTATEDIR%/lib/cinder +PermissionsStartOnly=true +ExecStartPre=/bin/mkdir -p %LOCALSTATEDIR%/lock/cinder %LOCALSTATEDIR%/log/cinder %LOCALSTATEDIR%/lib/cinder +ExecStartPre=/bin/chown cinder:cinder %LOCALSTATEDIR%/lock/cinder %LOCALSTATEDIR%/lib/cinder +ExecStartPre=/bin/chown cinder:adm %LOCALSTATEDIR%/log/cinder +ExecStart=/usr/bin/cinder-volume --config-file=%SYSCONFDIR%/cinder/cinder.conf +Restart=on-failure +LimitNOFILE=65535 +TimeoutStopSec=15 + +[Install] +WantedBy=multi-user.target diff --git a/meta-openstack/recipes-devtools/python/python-cinder/cinder.conf b/meta-openstack/recipes-devtools/python/python-cinder/cinder.conf index 8b2bc84..9444535 100644 --- a/meta-openstack/recipes-devtools/python/python-cinder/cinder.conf +++ b/meta-openstack/recipes-devtools/python/python-cinder/cinder.conf @@ -1,1248 +1,5145 @@ -#################### -# cinder.conf sample # -#################### +[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 = + +# 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 = + +# 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 : format. +# Eg: 1.2.3.4:backup_vol (string value) +#glusterfs_backup_share = + +# The GCS bucket to use. (string value) +#backup_gcs_bucket = + +# 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 = + +# Owner project id for GCS bucket. (string value) +#backup_gcs_project_id = + +# 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 = + +# 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 = + +# Mount options passed to the NFS client. See NFS man page for details. (string +# value) +#backup_mount_options = + +# 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 = + +# The URL of the Swift endpoint (uri value) +#backup_swift_url = + +# The URL of the Keystone endpoint (uri value) +#backup_swift_auth_url = + +# Info to match when looking for swift in the service catalog. Format is: +# separated values of the form: :: - +# 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: :: - +# 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 = + +# Swift user domain name. Required when connecting to an auth 3.0 system +# (string value) +#backup_swift_user_domain = + +# Swift project domain name. Required when connecting to an auth 3.0 system +# (string value) +#backup_swift_project_domain = + +# Swift project/account name. Required when connecting to an auth 3.0 system +# (string value) +#backup_swift_project = + +# Swift user name (string value) +#backup_swift_user = + +# Swift key for authentication (string value) +#backup_swift_key = + +# 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 = + +# 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 = + +# 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 = 23.253.174.31 + +# 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 = + +# 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 = + +# 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 = + +# 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-rax-ord-0003741211 + +# 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 = + +# 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 = + +# Default group type to use (string value) +#default_group_type = + +# 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 = + +# 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 = + +# 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 = + +# 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 = + +# 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 = + +# 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: +# :: (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 = + +# 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 = + +# ID of the project which will be used as the Cinder internal tenant. (string +# value) +#cinder_internal_tenant_project_id = + +# ID of the user to be used in volume operations as the Cinder internal tenant. +# (string value) +#cinder_internal_tenant_user_id = + +# 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: :: - +# 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 = + +# 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 = + +# 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 = + +# 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 = + +# The path to the client certificate for verification, if the driver supports +# it. (string value) +#driver_client_cert = + +# 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 = + +# 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 = + +# 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 = + +# 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 = + +# 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 = + +# 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 = + +# 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:,key1:value1,key2:value2... (dict value) +#replication_device = + +# 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 = + +# 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 = + +# 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 = + +# Sets the value of TCP_KEEPCNT for each server socket. Not supported on OS X. +# (integer value) +#tcp_keepalive_count = + +# +# 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 = + +# 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 = + +# (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 = + +# 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 = + +# 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 = + +# 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, , and +# :, where 0 results in listening on a random tcp port number; +# results in listening on the specified port number (and not enabling +# backdoor if that port is in use); and : 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 = + +# 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 = + +# 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 = + + +[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 = + +# 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 = + +# 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 = + +# The path to the client certificate for verification, if the driver supports +# it. (string value) +#driver_client_cert = + +# 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 = + +# 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 = + +# 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 = + +# 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 = + +# 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 = + +# 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 = + +# 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:,key1:value1,key2:value2... (dict value) +#replication_device = + +# 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 = + +# 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 = + +# Override HTTPS port to connect to Blockbridge API server. (integer value) +#blockbridge_api_port = + +# 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 = + +# Blockbridge API user (for auth scheme 'password') (string value) +#blockbridge_auth_user = + +# Blockbridge API password (for auth scheme 'password') (string value) +#blockbridge_auth_password = + +# 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 = + +# RPC port to connect to Coho Data MicroArray (integer value) +#coho_rpc_port = 2049 + +# Hostname for the CoprHD Instance (string value) +#coprhd_hostname = + +# 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 = + +# Password for accessing the CoprHD Instance (string value) +#coprhd_password = + +# Tenant to utilize within the CoprHD Instance (string value) +#coprhd_tenant = + +# Project to utilize within the CoprHD Instance (string value) +#coprhd_project = + +# Virtual Array to utilize within the CoprHD Instance (string value) +#coprhd_varray = + +# 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 = + +# Rest Gateway Password (string value) +#coprhd_scaleio_rest_server_password = + +# verify server certificate (boolean value) +#scaleio_verify_server_certificate = false + +# Server certificate path (string value) +#scaleio_server_certificate_path = + +# 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 = + +# 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 = + +# 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 = + +# 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 = + +# 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 = + +# 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 = + +# 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 = + +# 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 = + +# ScaleIO API version. (string value) +#sio_server_api_version = + +# 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 + +# 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 = + +# 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 = + +# Naviseccli Path. (string value) +#naviseccli_path = + +# Comma-separated list of storage pool names to be used. (list value) +#storage_vnx_pool_names = + +# 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 = + +# Comma separated iSCSI or FC ports to be used in Nova or Cinder. (list value) +#io_port_list = + +# 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 = + +# 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 = + +# 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:. You can also have up to two storage pools, P for +# primary and O for all supporting devices. The usage is P:,O +# : (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 = + +# Name of an array unit (string value) +#hitachi_unit_name = + +# Pool ID of storage system (integer value) +#hitachi_pool_id = + +# Thin pool ID of storage system (integer value) +#hitachi_thin_pool_id = + +# Range of logical device of storage system (string value) +#hitachi_ldev_range = + +# 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 = + +# Range of group number (string value) +#hitachi_group_range = + +# 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 = + +# Password of storage system for HORCM (string value) +#hitachi_horcm_password = + +# 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 = + +# 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 = + +# Command to communicate to HNAS. (string value) +#hnas_ssc_cmd = ssc + +# HNAS username. (string value) +#hnas_username = + +# HNAS password. (string value) +#hnas_password = + +# 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 = + +# The IP of the HNAS cluster admin. Required only for HNAS multi-cluster +# setups. (string value) +#hnas_cluster_admin_ip0 = + +# Service 0 pool name (string value) +# Deprecated group/name - [backend_defaults]/hnas_svc0_volume_type +#hnas_svc0_pool_name = + +# Service 0 HDP (string value) +#hnas_svc0_hdp = + +# Service 1 pool name (string value) +# Deprecated group/name - [backend_defaults]/hnas_svc1_volume_type +#hnas_svc1_pool_name = + +# Service 1 HDP (string value) +#hnas_svc1_hdp = + +# Service 2 pool name (string value) +# Deprecated group/name - [backend_defaults]/hnas_svc2_volume_type +#hnas_svc2_pool_name = + +# Service 2 HDP (string value) +#hnas_svc2_hdp = + +# Service 3 pool name: (string value) +# Deprecated group/name - [backend_defaults]/hnas_svc3_volume_type +#hnas_svc3_pool_name = + +# Service 3 HDP (string value) +#hnas_svc3_hdp = + +# Product number of the storage system. (string value) +#vsp_storage_id = + +# Pool number or pool name of the DP pool. (string value) +#vsp_pool = + +# Pool number or pool name of the Thin Image pool. (string value) +#vsp_thin_pool = + +# 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 = + +# 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 = + +# 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 = + +# 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 = + +# Password corresponding to vsp_horcm_user. (string value) +#vsp_horcm_password = + +# 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 = + +# 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 = + +# Password corresponding to vsp_auth_user. (string value) +#vsp_auth_password = + +# 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://:8081/lhos (uri +# value) +# Deprecated group/name - [backend_defaults]/hplefthand_api_url +#hpelefthand_api_url = + +# HPE LeftHand Super user username (string value) +# Deprecated group/name - [backend_defaults]/hplefthand_username +#hpelefthand_username = + +# HPE LeftHand Super user password (string value) +# Deprecated group/name - [backend_defaults]/hplefthand_password +#hpelefthand_password = + +# HPE LeftHand cluster name (string value) +# Deprecated group/name - [backend_defaults]/hplefthand_clustername +#hpelefthand_clustername = + +# 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 = + +# The remote metro device san user. (string value) +#metro_san_user = + +# The remote metro device san password. (string value) +#metro_san_password = + +# The remote metro device domain name. (string value) +#metro_domain_name = + +# The remote metro device request url. (string value) +#metro_san_address = + +# The remote metro device pool names. (string value) +#metro_storage_pools = + +# 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 = + +# Specifies the path of the Image service repository in GPFS. Leave undefined +# if not storing images in GPFS. (string value) +#gpfs_images_dir = + +# 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, +#gpfs_images_share_mode = + +# 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 = + +# Specifies secondary management IP or hostname to be used if san_ip is invalid +# or becomes inaccessible. (string value) +#storwize_san_secondary_ip = + +# 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 = + +# 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 = + +# 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 = + +# 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 = + +# The hostname (or IP address) for the storage system or proxy server. (string +# value) +#netapp_server_hostname = + +# 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 = + +# 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 = + +# Password for the administrative user account specified in the netapp_login +# option. (string value) +#netapp_password = + +# 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 = + +# 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 = + +# 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 = + +# 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 = + +# Password for the NetApp E-Series storage array. (string value) +#netapp_sa_password = + +# 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 = + +# 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 = + +# 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 = + +# 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:,src_aggr_name1:dest_aggr_name1,src_aggr_name2:dest_aggr_name2,... +# (dict value) +#netapp_replication_aggregate_map = + +# 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 = + +# 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 = + +# 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 = + +# 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 = + +# The pool name in the QNAP Storage (string value) +#qnap_poolname = + +# Communication protocol to access QNAP storage (string value) +#qnap_storage_protocol = iscsi + +# Quobyte URL to the Quobyte volume e.g., quobyte://, / (string value) +#quobyte_volume_url = + +# Path to a Quobyte Client configuration file. (string value) +#quobyte_client_cfg = + +# Create volumes as sparse 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) +#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 = + +# 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 = + +# 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 + +# 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 = + +# 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 = + +# 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 = + +# Create SolidFire volumes with this prefix. Volume names are of the form +# . 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 = + +# 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 = -[DEFAULT] -sql_connection = postgresql://%DB_USER%:%DB_PASSWORD%@localhost/cinder -api_paste_confg = /etc/cinder/api-paste.ini -state_path = /etc/cinder/data +# Device id for skip one time password check for logging in Synology storage if +# OTP is enabled. (string value) +#synology_device_id = -iscsi_helper=tgtadm -volume_name_template = volume-%s -volume_group = cinder-volumes -verbose = True -auth_strategy = keystone +# Create volumes in this pool (string value) +#tegile_default_pool = -rpc_backend = cinder.openstack.common.rpc.impl_kombu -rabbit_host=localhost -rabbit_port=5672 +# Create volumes in this project (string value) +#tegile_default_project = -# -# Options defined in cinder.openstack.common.cfg:CommonConfigOpts -# +# The hostname (or IP address) for the storage system (string value) +#tintri_server_hostname = -# Print debugging output (boolean value) -#debug=false +# User name for the storage system (string value) +#tintri_server_username = -# Print more verbose output (boolean value) -#verbose=false +# Password for the storage system (string value) +#tintri_server_password = -# If this option is specified, the logging configuration file -# specified is used and overrides any other logging options -# specified. Please see the Python logging module -# documentation for details on logging configuration files. -# (string value) -#log_config= +# API version for the storage system (string value) +#tintri_api_version = v310 -# A logging.Formatter log message format string which may use -# any of the available logging.LogRecord attributes. Default: -# %(default)s (string value) -#log_format=%(asctime)s %(levelname)8s [%(name)s] %(message)s +# Delete unused image snapshots older than mentioned days (integer value) +#tintri_image_cache_expiry_days = 30 -# Format string for %%(asctime)s in log records. Default: -# %(default)s (string value) -#log_date_format=%Y-%m-%d %H:%M:%S +# Path to image nfs shares file (string value) +#tintri_image_shares_config = -# (Optional) Name of log file to output to. If not set, -# logging will go to stdout. (string value) -#log_file= +# Global backend request timeout, in seconds. (integer value) +#violin_request_timeout = 300 -# (Optional) The directory to keep log files in (will be -# prepended to --log-file) (string value) -log_dir=/var/log/cinder +# Storage pools to be used to setup dedup luns only.(Comma separated list) +# (list value) +#violin_dedup_only_pools = -# Use syslog for logging. (boolean value) -#use_syslog=false +# Storage pools capable of dedup and other luns.(Comma separated list) (list +# value) +#violin_dedup_capable_pools = -# syslog facility to receive log lines (string value) -#syslog_log_facility=LOG_USER +# Method of choosing a storage pool for a lun. (string value) +# Allowed values: random, largest, smallest +#violin_pool_allocation_method = random -# Do not count snapshots against gigabytes quota (bool value) -#no_snapshot_gb_quota=False +# Target iSCSI addresses to use.(Comma separated list) (list value) +#violin_iscsi_target_ips = -# -# Options defined in cinder.exception -# +# IP address for connecting to VMware vCenter server. (string value) +#vmware_host_ip = -# make exception message format errors fatal (boolean value) -#fatal_exception_format_errors=false +# 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 = -# -# Options defined in cinder.flags -# +# Password for authenticating with VMware vCenter server. (string value) +#vmware_host_password = -# Virtualization api connection type : libvirt, xenapi, or -# fake (string value) -#connection_type= +# Optional VIM service WSDL Location e.g http:///vimService.wsdl. +# Optional over-ride to default location for bug work-arounds. (string value) +#vmware_wsdl_location = -# The SQLAlchemy connection string used to connect to the -# database (string value) -#sql_connection=sqlite:///$state_path/$sqlite_db +# Number of times VMware vCenter server API must be retried upon connection +# related issues. (integer value) +#vmware_api_retry_count = 10 -# Verbosity of SQL debugging information. 0=None, -# 100=Everything (integer value) -#sql_connection_debug=0 +# The interval (in seconds) for polling remote tasks invoked on VMware vCenter +# server. (floating point value) +#vmware_task_poll_interval = 2.0 -# File name for the paste.deploy config for cinder-api (string -# value) -#api_paste_config=api-paste.ini +# Name of the vCenter inventory folder that will contain Cinder volumes. This +# folder will be created under "OpenStack/", where +# project_folder is of format "Project ()". (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 -# Directory where the cinder python module is installed +# 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) -#pybasedir=/usr/lib/python/site-packages +#vmware_host_version = -# Directory where cinder binaries are installed (string value) -#bindir=$pybasedir/bin +# Directory where virtual disks are stored during volume backup and restore. +# (string value) +#vmware_tmp_dir = /tmp -# Top-level directory for maintaining cinder's state (string +# CA bundle file to use in verifying the vCenter server certificate. (string # value) -#state_path=$pybasedir +#vmware_ca_file = -# ip address of this host (string value) -#my_ip=10.0.0.1 +# 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 -# default glance hostname or ip (string value) -#glance_host=$my_ip - -# default glance port (integer value) -#glance_port=9292 +# Name of a vCenter compute cluster where volumes should be created. (multi +# valued) +#vmware_cluster_name = -# A list of the glance api servers available to cinder -# ([hostname|ip]:port) (list value) -#glance_api_servers=$glance_host:$glance_port +# Maximum number of connections in http connection pool. (integer value) +#vmware_connection_pool_size = 10 -# default version of the glance api to use -#glance_api_version=1 +# Default adapter type to be used for attaching volumes. (string value) +# Allowed values: lsiLogic, busLogic, lsiLogicsas, paraVirtual, ide +#vmware_adapter_type = lsiLogic -# Number retries when downloading an image from glance -# (integer value) -#glance_num_retries=0 +# File with the list of available vzstorage shares. (string value) +#vzstorage_shares_config = /etc/cinder/vzstorage_shares -# Allow to perform insecure SSL (https) requests to glance +# 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) -#glance_api_insecure=false +#vzstorage_sparsed_volumes = true -# the topic scheduler nodes listen on (string value) -#scheduler_topic=cinder-scheduler +# 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 -# the topic volume nodes listen on (string value) -#volume_topic=cinder-volume +# Base dir containing mount points for vzstorage shares. (string value) +#vzstorage_mount_point_base = $state_path/mnt -# Deploy v1 of the Cinder API. (boolean value) -#enable_v1_api=true +# Mount options passed to the vzstorage client. See section of the pstorage- +# mount man page for details. (list value) +#vzstorage_mount_options = -# Deploy v2 of the Cinder API. (boolean value) -#enable_v2_api=true +# Default format that will be used when creating volumes if no volume format is +# specified. (string value) +#vzstorage_default_volume_format = raw -# whether to rate limit the api (boolean value) -#api_rate_limit=true +# File with the list of available smbfs shares. (string value) +#smbfs_shares_config = C:\OpenStack\smbfs_shares.txt -# Specify list of extensions to load when using -# osapi_volume_extension option with -# cinder.api.contrib.select_extensions (list value) -#osapi_volume_ext_list= +# 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 -# osapi volume extension to load (multi valued) -#osapi_volume_extension=cinder.api.contrib.standard_extensions +# 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 -# Base URL that will be presented to users in links to the -# OpenStack Volume API (string value) -#osapi_volume_base_URL= +# 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 -# the maximum number of items returned in a single response -# from a collection resource (integer value) -#osapi_max_limit=1000 +# 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 = -# the filename to use with sqlite (string value) -#sqlite_db=cinder.sqlite +# 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 = -# If passed, use synchronous mode for sqlite (boolean value) -#sqlite_synchronous=true +# Base dir containing mount points for smbfs shares. (string value) +#smbfs_mount_point_base = C:\OpenStack\_mnt -# timeout before idle sql connections are reaped (integer -# value) -#sql_idle_timeout=3600 +# 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 = -# maximum db connection retries during startup. (setting -1 -# implies an infinite retry count) (integer value) -#sql_max_retries=10 +# Path to store VHD backed volumes (string value) +#windows_iscsi_lun_path = C:\iSCSIVirtualDisks -# interval between retries of opening a sql connection -# (integer value) -#sql_retry_interval=10 +# Default storage pool for volumes. (integer value) +#ise_storage_pool = 1 -# full class name for the Manager for volume (string value) -#volume_manager=cinder.volume.manager.VolumeManager +# Raid level for ISE volumes. (integer value) +#ise_raid = 1 -# full class name for the Manager for scheduler (string value) -#scheduler_manager=cinder.scheduler.manager.SchedulerManager +# Number of retries (per port) when establishing connection to ISE management +# port. (integer value) +#ise_connection_retries = 5 -# Name of this node. This can be an opaque identifier. It is -# not necessarily a hostname, FQDN, or IP address. (string -# value) -#host=cinder +# Interval (secs) between retries. (integer value) +#ise_retry_interval = 1 -# availability zone of this node (string value) -#storage_availability_zone=nova +# Number on retries to get completion status after issuing a command to ISE. +# (integer value) +#ise_completion_retries = 30 -# Memcached servers or None for in process cache. (list value) -#memcached_servers= +# VPSA - Use ISER instead of iSCSI (boolean value) +#zadara_use_iser = true -# default volume type to use (string value) -#default_volume_type= +# VPSA - Management Host name or IP address (string value) +#zadara_vpsa_host = -# time period to generate volume usages for. Time period must -# be hour, day, month or year (string value) -#volume_usage_audit_period=month +# VPSA - Port number (port value) +# Minimum value: 0 +# Maximum value: 65535 +#zadara_vpsa_port = -# Path to the rootwrap configuration file to use for running -# commands as root (string value) -#rootwrap_config=/etc/cinder/rootwrap.conf +# VPSA - Use SSL connection (boolean value) +#zadara_vpsa_use_ssl = false -# Whether to log monkey patching (boolean value) -#monkey_patch=false +# If set to True the http client will validate the SSL certificate of the VPSA +# endpoint. (boolean value) +#zadara_ssl_cert_verify = true -# List of modules/decorators to monkey patch (list value) -#monkey_patch_modules= +# VPSA - Username (string value) +#zadara_user = -# maximum time since last check-in for up service (integer -# value) -#service_down_time=60 +# VPSA - Password (string value) +#zadara_password = -# The full class name of the volume API class to use (string -# value) -#volume_api_class=cinder.volume.api.API +# VPSA - Storage Pool assigned for volumes (string value) +#zadara_vpsa_poolname = -# The strategy to use for auth. Supports noauth, keystone, and -# deprecated. (string value) -#auth_strategy=noauth +# VPSA - Default encryption policy for volumes (boolean value) +#zadara_vol_encrypt = false -# AMQP exchange to connect to if using RabbitMQ or Qpid -# (string value) -#control_exchange=cinder +# 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 -# -# Options defined in cinder.policy -# +# Storage pool name. (string value) +#zfssa_pool = -# JSON file representing policy (string value) -#policy_file=policy.json +# Project name. (string value) +#zfssa_project = -# Rule checked when requested rule is not found (string value) -#policy_default_rule=default +# 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 -# -# Options defined in cinder.quota -# +# Data compression. (string value) +# Allowed values: off, lzjb, gzip-2, gzip, gzip-9 +#zfssa_lun_compression = off -# number of volumes allowed per project (integer value) -#quota_volumes=10 +# Synchronous write bias. (string value) +# Allowed values: latency, throughput +#zfssa_lun_logbias = latency -# number of volume snapshots allowed per project (integer value) -#quota_snapshots=10 +# iSCSI initiator group. (string value) +#zfssa_initiator_group = -# number of volume and snapshot gigabytes allowed per project (integer -# value) -#quota_gigabytes=1000 +# iSCSI initiator IQNs. (comma separated) (string value) +#zfssa_initiator = -# number of seconds until a reservation expires (integer -# value) -#reservation_expire=86400 +# iSCSI initiator CHAP user (name). (string value) +#zfssa_initiator_user = -# count of reservations until usage is refreshed (integer -# value) -#until_refresh=0 +# Secret of the iSCSI initiator CHAP user. (string value) +#zfssa_initiator_password = -# number of seconds between subsequent usage refreshes -# (integer value) -#max_age=0 +# iSCSI initiators configuration. (string value) +#zfssa_initiator_config = -# default driver to use for quota checks (string value) -#quota_driver=cinder.quota.DbQuotaDriver +# iSCSI target group name. (string value) +#zfssa_target_group = tgt-grp +# iSCSI target CHAP user (name). (string value) +#zfssa_target_user = -# -# Options defined in cinder.service -# +# Secret of the iSCSI target CHAP user. (string value) +#zfssa_target_password = -# seconds between nodes reporting state to datastore (integer -# value) -#report_interval=10 +# iSCSI target portal (Data-IP:Port, w.x.y.z:3260). (string value) +#zfssa_target_portal = -# seconds between running periodic tasks (integer value) -#periodic_interval=60 +# Network interfaces of iSCSI targets. (comma separated) (string value) +#zfssa_target_interfaces = -# range of seconds to randomly delay when starting the -# periodic task scheduler to reduce stampeding. (Disable by -# setting to 0) (integer value) -#periodic_fuzzy_delay=60 +# REST connection timeout. (seconds) (integer value) +#zfssa_rest_timeout = -# IP address for OpenStack Volume API to listen (string value) -#osapi_volume_listen=0.0.0.0 +# IP address used for replication data. (maybe the same as data ip) (string +# value) +#zfssa_replication_ip = -# port for os volume api to listen (integer value) -#osapi_volume_listen_port=8776 +# 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 -# -# Options defined in cinder.test -# +# Driver policy for volume manage. (string value) +# Allowed values: loose, strict +#zfssa_manage_policy = loose -# File name of clean sqlite db (string value) -#sqlite_clean_db=clean.sqlite +# Data path IP address (string value) +#zfssa_data_ip = -# should we use everything for testing (boolean value) -#fake_tests=true +# HTTPS port number (string value) +#zfssa_https_port = 443 +# Options to be passed while mounting share over nfs (string value) +#zfssa_nfs_mount_options = -# -# Options defined in cinder.wsgi -# +# Storage pool name. (string value) +#zfssa_nfs_pool = -# Number of backlog requests to configure the socket with -# (integer value) -#backlog=4096 +# Project name. (string value) +#zfssa_nfs_project = NFSProject -# Sets the value of TCP_KEEPIDLE in seconds for each server -# socket. Not supported on OS X. (integer value) -#tcp_keepidle=600 +# Share name. (string value) +#zfssa_nfs_share = nfs_share -# CA certificate file to use to verify connecting clients -# (string value) -#ssl_ca_file= +# Data compression. (string value) +# Allowed values: off, lzjb, gzip-2, gzip, gzip-9 +#zfssa_nfs_share_compression = off -# Certificate file to use when starting the server securely -# (string value) -#ssl_cert_file= +# Synchronous write bias-latency, throughput. (string value) +# Allowed values: latency, throughput +#zfssa_nfs_share_logbias = latency -# Private key file to use when starting the server securely +# Name of directory inside zfssa_nfs_share where cache volumes are stored. # (string value) -#ssl_key_file= +#zfssa_cache_directory = os-cinder-cache +# Main controller IP. (IP address value) +#zteControllerIP0 = -# -# Options defined in cinder.api.middleware.auth -# +# Slave controller IP. (IP address value) +#zteControllerIP1 = -# Treat X-Forwarded-For as the canonical remote address. Only -# enable this if you have a sanitizing proxy. (boolean value) -#use_forwarded_for=false +# Local IP. (IP address value) +#zteLocalIP = +# User name. (string value) +#zteUserName = -# -# Options defined in cinder.api.middleware.sizelimit -# +# User password. (string value) +#zteUserPassword = -# Max size for body of a request (integer value) -#osapi_max_request_body_size=114688 +# 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 -# -# Options defined in cinder.common.deprecated -# +# Cache policy. 0, Write Back; 1, Write Through. (integer value) +#zteCachePolicy = 1 -# make deprecations fatal (boolean value) -#fatal_deprecations=false +# SSD cache switch. 0, OFF; 1, ON. (integer value) +#zteSSDCacheSwitch = 1 +# Pool name list. (list value) +#zteStoragePool = -# -# Options defined in cinder.db.api -# +# Pool volume allocated policy. 0, Auto; 1, High Performance Tier First; 2, +# Performance Tier First; 3, Capacity Tier First. (integer value) +#ztePoolVoAllocatedPolicy = 0 -# The backend to use for db (string value) -#db_backend=sqlalchemy +# Pool volume move policy.0, Auto; 1, Highest Available; 2, Lowest Available; +# 3, No Relocation. (integer value) +#ztePoolVolMovePolicy = 0 -# Services to be added to the available pool on create -# (boolean value) -#enable_new_services=true +# Whether it is a thin volume. (boolean value) +#ztePoolVolIsThin = false -# Template string to be used to generate volume names (string -# value) -#volume_name_template=volume-%s +# Pool volume init allocated Capacity.Unit : KB. (integer value) +#ztePoolVolInitAllocatedCapacity = 0 -# Template string to be used to generate snapshot names -# (string value) -#snapshot_name_template=snapshot-%s +# Pool volume alarm threshold. [0, 100] (integer value) +#ztePoolVolAlarmThreshold = 0 -# Template string to be used to generate backup names (string -# value) -#backup_name_template=backup-%s +# Pool volume alarm stop allocated flag. (integer value) +#ztePoolVolAlarmStopAllocatedFlag = 0 -# -# Options defined in cinder.db.base -# +# 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 -# driver to use for database access (string value) -#db_driver=cinder.db +[barbican] # -# Options defined in cinder.image.image_utils +# From castellan.config # -# parent dir for tempdir used for image conversion (string -# value) -#image_conversion_dir=/tmp +# Use this endpoint to connect to Barbican, for example: +# "http://localhost:9311/" (string value) +#barbican_endpoint = +# Version of the Barbican API, for example: "v1" (string value) +#barbican_api_version = -# -# Options defined in cinder.openstack.common.lockutils -# +# 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 -# Whether to disable inter-process locks (boolean value) -#disable_process_locking=false +# Specifies if insecure TLS (https) requests. If False, the server's +# certificate will not be validated (boolean value) +#verify_ssl = true -# Directory to use for lock files (string value) -#lock_path= +[brcd_fabric_example] # -# Options defined in cinder.openstack.common.log +# From cinder # -# Log output to a per-service log file in named directory -# (string value) -#logdir= - -# Log output to a named file (string value) -#logfile= +# South bound connector for the fabric. (string value) +# Allowed values: SSH, HTTP, HTTPS +#fc_southbound_protocol = HTTP -# Log output to standard error (boolean value) -#use_stderr=true +# Management IP of fabric. (string value) +#fc_fabric_address = -# Default file mode used when creating log files (string -# value) -#logfile_mode=0644 +# Fabric user ID. (string value) +#fc_fabric_user = -# format string to use for log messages with context (string -# value) -#logging_context_format_string=%(asctime)s %(levelname)s %(name)s [%(request_id)s %(user_id)s %(project_id)s] %(instance)s%(message)s +# Password for user. (string value) +#fc_fabric_password = -# format string to use for log messages without context -# (string value) -#logging_default_format_string=%(asctime)s %(process)d %(levelname)s %(name)s [-] %(instance)s%(message)s +# Connecting port (port value) +# Minimum value: 0 +# Maximum value: 65535 +#fc_fabric_port = 22 -# data to append to log format when level is DEBUG (string -# value) -#logging_debug_format_suffix=%(funcName)s %(pathname)s:%(lineno)d +# Local SSH certificate Path. (string value) +#fc_fabric_ssh_cert_path = -# prefix each line of exception output with this format -# (string value) -#logging_exception_prefix=%(asctime)s %(process)d TRACE %(name)s %(instance)s +# Overridden zoning policy. (string value) +#zoning_policy = initiator-target -# list of logger=LEVEL pairs (list value) -#default_log_levels=amqplib=WARN,sqlalchemy=WARN,boto=WARN,suds=INFO,keystone=INFO,eventlet.wsgi.server=WARN +# Overridden zoning activation state. (boolean value) +#zone_activate = true -# publish error events (boolean value) -#publish_errors=false +# Overridden zone name prefix. (string value) +#zone_name_prefix = openstack -# If an instance is passed with the log message, format it -# like this (string value) -#instance_format="[instance: %(uuid)s] " +# Virtual Fabric ID. (string value) +#fc_virtual_fabric_id = -# If an instance UUID is passed with the log message, format -# it like this (string value) -#instance_uuid_format="[instance: %(uuid)s] " +[cisco_fabric_example] # -# Options defined in cinder.openstack.common.notifier.api +# From cinder # -# Driver or drivers to handle sending notifications (multi -# valued) +# Management IP of fabric (string value) +#cisco_fc_fabric_address = -# Default notification level for outgoing notifications -# (string value) -#default_notification_level=INFO +# 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 = + +# VSAN of the Fabric (string value) +#cisco_zoning_vsan = -# Default publisher_id for outgoing notifications (string -# value) -#default_publisher_id=$host +[coordination] # -# Options defined in cinder.openstack.common.notifier.rabbit_notifier +# From cinder # -# AMQP topic used for openstack notifications (list value) -#notification_topics=notifications +# 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] # -# Options defined in cinder.openstack.common.rpc +# From oslo.middleware # -# The messaging module to use, defaults to kombu. (string -# value) -#rpc_backend=cinder.openstack.common.rpc.impl_kombu +# Indicate whether this resource may be shared with the domain received in the +# requests "origin" header. Format: "://[:]", no trailing +# slash. Example: https://horizon.example.com (list value) +#allowed_origin = -# Size of RPC thread pool (integer value) -#rpc_thread_pool_size=64 +# Indicate that the actual request can include user credentials (boolean value) +#allow_credentials = true -# Size of RPC connection pool (integer value) -#rpc_conn_pool_size=30 +# 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 -# Seconds to wait for a response from call or multicall -# (integer value) -#rpc_response_timeout=60 +# Maximum cache age of CORS preflight requests. (integer value) +#max_age = 3600 -# Seconds to wait before a cast expires (TTL). Only supported -# by impl_zmq. (integer value) -#rpc_cast_timeout=30 +# Indicate which methods can be used during the actual request. (list value) +#allow_methods = GET,PUT,POST,DELETE,PATCH,HEAD -# Modules of exceptions that are permitted to be recreatedupon -# receiving exception data from an rpc call. (list value) -#allowed_rpc_exception_modules=cinder.openstack.common.exception,nova.exception,cinder.exception +# 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 -# If passed, use a fake RabbitMQ provider (boolean value) -#fake_rabbit=false +[database] # -# Options defined in cinder.openstack.common.rpc.impl_kombu +# From oslo.db # -# SSL version to use (valid only if SSL enabled) (string -# value) -#kombu_ssl_version= +# If True, SQLite uses synchronous mode. (boolean value) +#sqlite_synchronous = true -# SSL key file (valid only if SSL enabled) (string value) -#kombu_ssl_keyfile= +# The back end to use for the database. (string value) +# Deprecated group/name - [DEFAULT]/db_backend +#backend = sqlalchemy -# SSL cert file (valid only if SSL enabled) (string value) -#kombu_ssl_certfile= +# 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 = -# SSL certification authority file (valid only if SSL enabled) +# The SQLAlchemy connection string to use to connect to the slave database. # (string value) -#kombu_ssl_ca_certs= +#slave_connection = -# The RabbitMQ broker address where a single node is used +# 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) -#rabbit_host=localhost +#mysql_sql_mode = TRADITIONAL -# The RabbitMQ broker port where a single node is used -# (integer value) -#rabbit_port=5672 - -# RabbitMQ HA cluster host:port pairs (list value) -#rabbit_hosts=$rabbit_host:$rabbit_port - -# connect over SSL for RabbitMQ (boolean value) -#rabbit_use_ssl=false +# 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 -# the RabbitMQ userid (string value) -#rabbit_userid=guest +# Add Python stack traces to SQL as comment strings. (boolean value) +# Deprecated group/name - [DEFAULT]/sql_connection_trace +#connection_trace = false -# the RabbitMQ password (string value) -#rabbit_password=guest +# If set, use this value for pool_timeout with SQLAlchemy. (integer value) +# Deprecated group/name - [DATABASE]/sqlalchemy_pool_timeout +#pool_timeout = -# the RabbitMQ virtual host (string value) -#rabbit_virtual_host=/ +# Enable the experimental use of database reconnect on connection lost. +# (boolean value) +#use_db_reconnect = false -# how frequently to retry connecting with RabbitMQ (integer -# value) -#rabbit_retry_interval=1 +# Seconds between retries of a database transaction. (integer value) +#db_retry_interval = 1 -# how long to backoff for between retries when connecting to -# RabbitMQ (integer value) -#rabbit_retry_backoff=2 +# If True, increases the interval between retries of a database operation up to +# db_max_retry_interval. (boolean value) +#db_inc_retry_interval = true -# maximum retries with trying to connect to RabbitMQ (the -# default of 0 implies an infinite retry count) (integer -# value) -#rabbit_max_retries=0 +# If db_inc_retry_interval is set, the maximum seconds between retries of a +# database operation. (integer value) +#db_max_retry_interval = 10 -# use durable queues in RabbitMQ (boolean value) -#rabbit_durable_queues=false +# 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 -# use H/A queues in RabbitMQ (x-ha-policy: all).You need to -# wipe RabbitMQ database when changing this option. (boolean -# value) -#rabbit_ha_queues=false +[fc-zone-manager] # -# Options defined in cinder.openstack.common.rpc.impl_qpid +# From cinder # -# Qpid broker hostname (string value) -#qpid_hostname=localhost +# South bound connector for zoning operation (string value) +#brcd_sb_connector = HTTP -# Qpid broker port (string value) -#qpid_port=5672 +# Southbound connector for zoning operation (string value) +#cisco_sb_connector = cinder.zonemanager.drivers.cisco.cisco_fc_zone_client_cli.CiscoFCZoneClientCLI -# Username for qpid connection (string value) -#qpid_username= +# FC Zone Driver responsible for zone management (string value) +#zone_driver = cinder.zonemanager.drivers.brocade.brcd_fc_zone_driver.BrcdFCZoneDriver -# Password for qpid connection (string value) -#qpid_password= +# Zoning policy configured by user; valid values include "initiator-target" or +# "initiator" (string value) +#zoning_policy = initiator-target -# Space separated list of SASL mechanisms to use for auth +# 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) -#qpid_sasl_mechanisms= +#fc_fabric_names = -# Automatically reconnect (boolean value) -#qpid_reconnect=true +# FC SAN Lookup Service (string value) +#fc_san_lookup_service = cinder.zonemanager.drivers.brocade.brcd_fc_san_lookup_service.BrcdFCSanLookupService -# Reconnection timeout in seconds (integer value) -#qpid_reconnect_timeout=0 +# 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 -# Max reconnections before giving up (integer value) -#qpid_reconnect_limit=0 -# Minimum seconds between reconnection attempts (integer -# value) -#qpid_reconnect_interval_min=0 +[healthcheck] -# Maximum seconds between reconnection attempts (integer -# value) -#qpid_reconnect_interval_max=0 +# +# From oslo.middleware +# -# Equivalent to setting max and min to the same value (integer -# value) -#qpid_reconnect_interval=0 +# 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 -# Seconds between connection keepalive heartbeats (integer -# value) -#qpid_heartbeat=60 +# 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 = -# Transport to use, either 'tcp' or 'ssl' (string value) -#qpid_protocol=tcp +# 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 = -# Disable Nagle algorithm (boolean value) -#qpid_tcp_nodelay=true +# 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] + # -# Options defined in cinder.openstack.common.rpc.impl_zmq +# From castellan.config # -# 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=* +# The full class name of the key manager API class (string value) +#api_class = castellan.key_manager.barbican_key_manager.BarbicanKeyManager -# MatchMaker driver (string value) -#rpc_zmq_matchmaker=cinder.openstack.common.rpc.matchmaker.MatchMakerLocalhost +# 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 = -# ZeroMQ receiver listening port (integer value) -#rpc_zmq_port=9501 +# Token for authentication. Required for 'token' and 'keystone_token' auth_type +# if no context is passed to the credential factory. (string value) +#token = -# Number of ZeroMQ contexts, defaults to 1 (integer value) -#rpc_zmq_contexts=1 +# Username for authentication. Required for 'password' auth_type. Optional for +# the 'keystone_password' auth_type. (string value) +#username = -# Directory for holding IPC sockets (string value) -#rpc_zmq_ipc_dir=/var/run/openstack +# Password for authentication. Required for 'password' and 'keystone_password' +# auth_type. (string value) +#password = -# 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=cinder +# Use this endpoint to connect to Keystone. (string value) +#auth_url = +# User ID for authentication. Optional for 'keystone_token' and +# 'keystone_password' auth_type. (string value) +#user_id = -# -# Options defined in cinder.openstack.common.rpc.matchmaker -# +# User's domain ID for authentication. Optional for 'keystone_token' and +# 'keystone_password' auth_type. (string value) +#user_domain_id = -# Matchmaker ring file (JSON) (string value) -#matchmaker_ringfile=/etc/nova/matchmaker_ring.json +# User's domain name for authentication. Optional for 'keystone_token' and +# 'keystone_password' auth_type. (string value) +#user_domain_name = +# Trust ID for trust scoping. Optional for 'keystone_token' and +# 'keystone_password' auth_type. (string value) +#trust_id = -# -# Options defined in cinder.scheduler.driver -# +# Domain ID for domain scoping. Optional for 'keystone_token' and +# 'keystone_password' auth_type. (string value) +#domain_id = -# The scheduler host manager class to use (string value) -#scheduler_host_manager=cinder.scheduler.host_manager.HostManager +# Domain name for domain scoping. Optional for 'keystone_token' and +# 'keystone_password' auth_type. (string value) +#domain_name = +# Project ID for project scoping. Optional for 'keystone_token' and +# 'keystone_password' auth_type. (string value) +#project_id = -# -# Options defined in cinder.scheduler.host_manager -# +# Project name for project scoping. Optional for 'keystone_token' and +# 'keystone_password' auth_type. (string value) +#project_name = -# Which filter class names to use for filtering hosts when not -# specified in the request. (list value) -#scheduler_default_filters=AvailabilityZoneFilter,CapacityFilter,CapabilitiesFilter +# Project's domain ID for project. Optional for 'keystone_token' and +# 'keystone_password' auth_type. (string value) +#project_domain_id = -# Which weigher class names to use for weighing hosts. (list -# value) -#scheduler_default_weighers=CapacityWeigher +# Project's domain name for project. Optional for 'keystone_token' and +# 'keystone_password' auth_type. (string value) +#project_domain_name = +# 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 # -# Options defined in cinder.scheduler.manager +# From cinder # -# Default scheduler driver to use (string value) -#scheduler_driver=cinder.scheduler.simple.SimpleScheduler +# Fixed key returned by key manager, specified in hex (string value) +#fixed_key = + +[keystone_authtoken] # -# Options defined in cinder.scheduler.scheduler_options +# From keystonemiddleware.auth_token # -# Absolute path to scheduler configuration JSON file. (string +# 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) -#scheduler_json_config_location= +#auth_uri = +# API version of the admin Identity API endpoint. (string value) +#auth_version = -# -# Options defined in cinder.scheduler.simple -# +# Do not handle authorization requests within the middleware, but delegate the +# authorization decision to downstream WSGI components. (boolean value) +#delay_auth_decision = false -# maximum number of volume gigabytes to allow per host -# (integer value) -#max_gigabytes=10000 +# Request timeout value for communicating with Identity API server. (integer +# value) +#http_connect_timeout = + +# 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 = + +# Required if identity server requires client certificate (string value) +#certfile = + +# Required if identity server requires client certificate (string value) +#keyfile = + +# A PEM encoded Certificate Authority to use when verifying HTTPs connections. +# Defaults to system CAs. (string value) +#cafile = + +# Verify HTTPS connections. (boolean value) +#insecure = false + +# The region in which the identity server can be found. (string value) +#region_name = + +# 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 = + +# 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 = + +# 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 = + +# (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 = + +# Config Section from which to load plugin specific options (string value) +#auth_section = + + +[matchmaker_redis] # -# Options defined in cinder.scheduler.weights.capacity +# From oslo.messaging # -# Multiplier used for weighing volume capacity. Negative -# numbers mean to stack vs spread. (floating point value) -#capacity_weight_multiplier=1.0 +# 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 -# -# Options defined in cinder.volume.api -# +# 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 -# Create volume from snapshot at the host where snapshot -# resides (boolean value) -#snapshot_same_host=true +# 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] # -# Options defined in cinder.volume.driver +# From cinder # -# number of times to attempt to run flakey shell commands -# (integer value) -#num_shell_tries=3 +# 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 = -# The percentage of backend capacity is reserved (integer +# 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) -#reserved_percentage=0 +# Allowed values: public, admin, internal +#interface = public -# number of times to rescan iSCSI target to find volume -# (integer value) -#num_iscsi_scan_tries=3 +# The authentication URL for the nova connection when using the current users +# token (string value) +#token_auth_url = -# Number of iscsi target ids per host (integer value) -#iscsi_num_targets=100 +# PEM encoded Certificate Authority to use when verifying HTTPs connections. +# (string value) +# Deprecated group/name - [nova]/nova_ca_certificates_file +#cafile = -# prefix for iscsi volumes (string value) -#iscsi_target_prefix=iqn.2010-10.org.openstack: +# PEM encoded client certificate cert file (string value) +#certfile = -# The port that the iSCSI daemon is listening on (string -# value) -#iscsi_ip_address=$my_ip +# PEM encoded client certificate key file (string value) +#keyfile = -# The port that the iSCSI daemon is listening on (integer -# value) -#iscsi_port=3260 +# Verify HTTPS connections. (boolean value) +# Deprecated group/name - [nova]/nova_api_insecure +#insecure = false + +# Timeout value for http requests (integer value) +#timeout = + +# Authentication type to load (string value) +# Deprecated group/name - [nova]/auth_plugin +#auth_type = + +# Config Section from which to load plugin specific options (string value) +#auth_section = -# Optional override to the capacity based volume backend name -# -#volume_backend_name=LVM_iSCSI_unique1 + +[oslo_concurrency] # -# Options defined in cinder.volume.drivers.glusterfs +# From oslo.concurrency # -# File with the list of available gluster shares (string -# value) -#glusterfs_shares_config= - -# Base dir where gluster expected to be mounted (string value) -#glusterfs_mount_point_base=$state_path/mnt +# Enables or disables inter-process locks. (boolean value) +#disable_process_locking = false -# Use du or df for free space calculation (string value) -#glusterfs_disk_util=df +# 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 = -# 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) -#glusterfs_sparsed_volumes=true +[oslo_messaging_amqp] # -# Options defined in cinder.volume.drivers.lvm +# From oslo.messaging # -# Name for the VG that will contain exported volumes (string -# value) -#volume_group=cinder-volumes +# Name for the AMQP container. must be globally unique. Defaults to a generated +# UUID (string value) +#container_name = -# Method used to wipe old volumes (valid options are: none, -# zero, shred) (string value) -#volume_clear=zero +# Timeout for inactive connections (in seconds) (integer value) +#idle_timeout = 0 -# Size in MiB to wipe at start of old volumes. 0 => all -# (integer value) -#volume_clear_size=0 +# Debug: dump AMQP frames to stdout (boolean value) +#trace = false -# Size of thin provisioning pool (None uses entire cinder VG) -# (string value) -#pool_size= +# 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 = -# If set, create lvms with multiple mirrors. Note that this -# requires lvm_mirrors + 2 pvs with available space (integer +# Self-identifying certificate PEM file for client authentication (string # value) -#lvm_mirrors=0 +#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 = + +# 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 = + +# 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 = + +# 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] # -# Options defined in cinder.volume.drivers.netapp +# From oslo.messaging # -# URL of the WSDL file for the DFM server (string value) -#netapp_wsdl_url= - -# User name for the DFM server (string value) -#netapp_login= +# 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 -# Password for the DFM server (string value) -#netapp_password= +# 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 -# Hostname for the DFM server (string value) -#netapp_server_hostname= +# Max fetch bytes of Kafka consumer (integer value) +#kafka_max_fetch_bytes = 1048576 -# Port number for the DFM server (integer value) -#netapp_server_port=8088 +# Default timeout(s) for Kafka consumers (floating point value) +#kafka_consumer_timeout = 1.0 -# Storage service to use for provisioning (when -# volume_type=None) (string value) -#netapp_storage_service= +# Pool Size for Kafka Consumers (integer value) +#pool_size = 10 -# Prefix of storage service name to use for provisioning -# (volume_type name will be appended) (string value) -#netapp_storage_service_prefix= +# The pool size limit for connections expiration policy (integer value) +#conn_pool_min_size = 2 -# Vfiler to use for provisioning (string value) -#netapp_vfiler= +# 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 -# -# Options defined in cinder.volume.drivers.netapp_nfs -# +# Upper bound on the delay for KafkaProducer batching in seconds (floating +# point value) +#producer_batch_timeout = 0.0 -# Does snapshot creation call returns immediately (integer -# value) -#synchronous_snapshot_create=0 +# Size of batch for the producer async send (integer value) +#producer_batch_size = 16384 -# URL of the WSDL file for the DFM server (string value) -#netapp_wsdl_url= -# User name for the DFM server (string value) -#netapp_login= +[oslo_messaging_notifications] -# Password for the DFM server (string value) -#netapp_password= +# +# From oslo.messaging +# -# Hostname for the DFM server (string value) -#netapp_server_hostname= +# 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 = -# Port number for the DFM server (integer value) -#netapp_server_port=8088 +# 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 = -# Storage service to use for provisioning (when -# volume_type=None) (string value) -#netapp_storage_service= +# AMQP topic used for OpenStack notifications. (list value) +# Deprecated group/name - [rpc_notifier2]/topics +# Deprecated group/name - [DEFAULT]/notification_topics +#topics = notifications -# Prefix of storage service name to use for provisioning -# (volume_type name will be appended) (string value) -#netapp_storage_service_prefix= +# 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 -# Vfiler to use for provisioning (string value) -#netapp_vfiler= +[oslo_messaging_rabbit] # -# Options defined in cinder.volume.drivers.nexenta.volume +# From oslo.messaging # -# IP address of Nexenta SA (string value) -#nexenta_host= +# 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 -# HTTP port to connect to Nexenta REST API server (integer -# value) -#nexenta_rest_port=2000 +# Auto-delete queues in AMQP. (boolean value) +#amqp_auto_delete = false -# Use http or https for REST connection (default auto) (string -# value) -#nexenta_rest_protocol=auto +# Enable SSL (boolean value) +#ssl = -# User name to connect to Nexenta SA (string value) -#nexenta_user=admin +# 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 = -# Password to connect to Nexenta SA (string value) -#nexenta_password=nexenta +# SSL key file (valid only if SSL enabled). (string value) +# Deprecated group/name - [oslo_messaging_rabbit]/kombu_ssl_keyfile +#ssl_key_file = -# Nexenta target portal port (integer value) -#nexenta_iscsi_target_portal_port=3260 +# SSL cert file (valid only if SSL enabled). (string value) +# Deprecated group/name - [oslo_messaging_rabbit]/kombu_ssl_certfile +#ssl_cert_file = -# pool on SA that will hold all volumes (string value) -#nexenta_volume=cinder +# SSL certification authority file (valid only if SSL enabled). (string value) +# Deprecated group/name - [oslo_messaging_rabbit]/kombu_ssl_ca_certs +#ssl_ca_file = -# IQN prefix for iSCSI targets (string value) -#nexenta_target_prefix=iqn.1986-03.com.sun:02:cinder- +# How long to wait before reconnecting in response to an AMQP consumer cancel +# notification. (floating point value) +#kombu_reconnect_delay = 1.0 -# prefix for iSCSI target groups on SA (string value) -#nexenta_target_group_prefix=cinder/ +# 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 = -# block size for volumes (blank=default,8KB) (string value) -#nexenta_blocksize= +# 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 -# flag to create sparse volumes (boolean value) -#nexenta_sparse=false +# 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 -# -# Options defined in cinder.volume.drivers.nfs -# +# 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 -# File with the list of available nfs shares (string value) -#nfs_shares_config= +# 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 -# Base dir where nfs expected to be mounted (string value) -#nfs_mount_point_base=$state_path/mnt +# How often times during the heartbeat_timeout_threshold we check the +# heartbeat. (integer value) +#heartbeat_rate = 2 -# Use du or df for free space calculation (string value) -#nfs_disk_util=df +# Deprecated, use rpc_backend=kombu+memory or rpc_backend=fake (boolean value) +#fake_rabbit = false -# 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 +# Maximum number of channels to allow (integer value) +#channel_max = -# Mount options passed to the nfs client (string value) -# The value set here is passed directly to the -o flag -# of the mount command. See the nfs man page for details. -#nfs_mount_options=None +# The maximum byte size for an AMQP frame (integer value) +#frame_max = +# How often to send heartbeats for consumer's connections (integer value) +#heartbeat_interval = 3 -# -# Options defined in cinder.volume.drivers.rbd -# +# Arguments passed to ssl.wrap_socket (dict value) +#ssl_options = -# the RADOS pool in which rbd volumes are stored (string -# value) -#rbd_pool=rbd +# Set socket timeout in seconds for connection's socket (floating point value) +#socket_timeout = 0.25 -# the RADOS client name for accessing rbd volumes (string +# Set TCP_USER_TIMEOUT in seconds for connection's socket (floating point # value) -#rbd_user= +#tcp_user_timeout = 0.25 -# the libvirt uuid of the secret for the rbd_uservolumes -# (string value) -#rbd_secret_uuid= +# Set delay for reconnection to some host which has connection error (floating +# point value) +#host_connection_reconnect_delay = 0.25 -# where to store temporary image files if the volume driver -# does not write them directly to the volume (string value) -#volume_tmp_dir= +# 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 -# -# Options defined in cinder.volume.drivers.san.san -# +# Maximum number of connections to create above `pool_max_size`. (integer +# value) +#pool_max_overflow = 0 -# Use thin provisioning for SAN volumes? (boolean value) -#san_thin_provision=true +# Default number of seconds to wait for a connections to available (integer +# value) +#pool_timeout = 30 -# IP address of SAN controller (string value) -#san_ip= +# Lifetime of a connection (since creation) in seconds or None for no +# recycling. Expired connections are closed on acquire. (integer value) +#pool_recycle = 600 -# Username for SAN controller (string value) -#san_login=admin +# 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 -# Password for SAN controller (string value) -#san_password= +# Default serialization mechanism for serializing/deserializing +# outgoing/incoming messages (string value) +# Allowed values: json, msgpack +#default_serializer_type = json -# Filename of private key to use for SSH authentication -# (string value) -#san_private_key= +# Persist notification messages. (boolean value) +#notification_persistence = false -# Cluster name to use for creating volumes (string value) -#san_clustername= +# Exchange name for sending notifications (string value) +#default_notification_exchange = ${control_exchange}_notification -# SSH port to use with SAN (integer value) -#san_ssh_port=22 +# Max number of not acknowledged message which RabbitMQ can send to +# notification listener. (integer value) +#notification_listener_prefetch_count = 100 -# Execute commands locally instead of over SSH; use if the -# volume service is running on the SAN device (boolean value) -#san_is_local=false +# Reconnecting retry count in case of connectivity problem during sending +# notification, -1 means infinite retry. (integer value) +#default_notification_retry_attempts = -1 -# SSH connection timeout in seconds (integer value) -#ssh_conn_timeout=30 +# Reconnecting retry delay in case of connectivity problem during sending +# notification message (floating point value) +#notification_retry_delay = 0.25 -# Minimum ssh connections in the pool (integer value) -#ssh_min_pool_conn=1 +# Time to live for rpc queues without consumers in seconds. (integer value) +#rpc_queue_expiration = 60 -# Maximum ssh connections in the pool (integer value) -#ssh_max_pool_conn=5 +# 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 -# -# Options defined in cinder.volume.drivers.san.solaris -# +# Max number of not acknowledged message which RabbitMQ can send to rpc +# listener. (integer value) +#rpc_listener_prefetch_count = 100 -# The ZFS path under which to create zvols for volumes. -# (string value) -#san_zfs_volume_base=rpool/ +# 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 -# -# Options defined in cinder.volume.drivers.scality -# +# Reconnecting retry delay in case of connectivity problem during sending +# reply. (floating point value) +#rpc_reply_retry_delay = 0.25 -# Path or URL to Scality SOFS configuration file (string -# value) -#scality_sofs_config= +# 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 -# Base dir where Scality SOFS shall be mounted (string value) -#scality_sofs_mount_point=$state_path/scality +# Reconnecting retry delay in case of connectivity problem during sending RPC +# message (floating point value) +#rpc_retry_delay = 0.25 -# Path from Scality SOFS root to volume dir (string value) -#scality_sofs_volume_dir=cinder/volumes +[oslo_messaging_zmq] # -# Options defined in cinder.volume.drivers.solidfire +# From oslo.messaging # -# Set 512 byte emulation on volume creation; (boolean value) -#sf_emulate_512=true +# 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 = * -# Allow tenants to specify QOS on create (boolean value) -#sf_allow_tenant_qos=false +# 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 -# -# Options defined in cinder.volume.drivers.storwize_svc -# +# Maximum number of ingress messages to locally buffer per topic. Default is +# unlimited. (integer value) +#rpc_zmq_topic_backlog = -# Storage system storage pool for volumes (string value) -#storwize_svc_volpool_name=volpool +# Directory for holding IPC sockets. (string value) +#rpc_zmq_ipc_dir = /var/run/openstack -# Storage system space-efficiency parameter for volumes -# (string value) -#storwize_svc_vol_rsize=2% +# 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 -# Storage system threshold for volume capacity warnings -# (string value) -#storwize_svc_vol_warning=0 +# 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 -# Storage system autoexpand parameter for volumes (True/False) -# (boolean value) -#storwize_svc_vol_autoexpand=true +# The default number of seconds that poll should wait. Poll raises timeout +# exception when timeout expired. (integer value) +#rpc_poll_timeout = 1 -# Storage system grain size parameter for volumes -# (32/64/128/256) (string value) -#storwize_svc_vol_grainsize=256 +# Expiration timeout in seconds of a name service record about existing target +# ( < 0 means no timeout). (integer value) +#zmq_target_expire = 300 -# Storage system compression option for volumes (boolean +# 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) -#storwize_svc_vol_compression=false +#use_pub_sub = false -# Enable Easy Tier for volumes (boolean value) -#storwize_svc_vol_easytier=true +# Use ROUTER remote proxy. (boolean value) +#use_router_proxy = false -# Maximum number of seconds to wait for FlashCopy to be -# prepared. Maximum value is 600 seconds (10 minutes). (string -# value) -#storwize_svc_flashcopy_timeout=120 +# 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 -# -# Options defined in cinder.volume.drivers.windows -# +# Minimal port number for random ports range. (port value) +# Minimum value: 0 +# Maximum value: 65535 +#rpc_zmq_min_port = 49153 -# Path to store VHD backed volumes (string value) -#windows_iscsi_lun_path=C:\iSCSIVirtualDisks +# 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 -# -# Options defined in cinder.volume.drivers.xenapi.sm -# +# 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 -# NFS server to be used by XenAPINFSDriver (string value) -#xenapi_nfs_server= +# Maximum number of (green) threads to work concurrently. (integer value) +#rpc_thread_pool_size = 100 -# Path of exported NFS, used by XenAPINFSDriver (string value) -#xenapi_nfs_serverpath= +# 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 -# URL for XenAPI connection (string value) -#xenapi_connection_url= +# Wait for message acknowledgements from receivers. This mechanism works only +# via proxy without PUB/SUB. (boolean value) +#rpc_use_acks = false -# Username for XenAPI connection (string value) -#xenapi_connection_username=root +# 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 -# Password for XenAPI connection (string value) -#xenapi_connection_password= +# 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 -# -# Options defined in cinder.volume.drivers.xiv -# +# 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 = -# Proxy driver (string value) -#xiv_proxy=xiv_openstack.nova_proxy.XIVNovaProxy +[oslo_middleware] # -# Options defined in cinder.volume.drivers.zadara +# From oslo.middleware # -# Management IP of Zadara VPSA (string value) -#zadara_vpsa_ip= +# 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 -# Zadara VPSA port number (string value) -#zadara_vpsa_port= +# 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 -# Use SSL connection (boolean value) -#zadara_vpsa_use_ssl=false +# 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 -# User name for the VPSA (string value) -#zadara_user= -# Password for the VPSA (string value) -#zadara_password= +[oslo_policy] -# Name of VPSA storage pool for volumes (string value) -#zadara_vpsa_poolname= - -# Default cache policy for volumes (string value) -#zadara_default_cache_policy=write-through - -# Default encryption policy for volumes (string value) -#zadara_default_encryption=NO - -# Default striping mode for volumes (string value) -#zadara_default_striping_mode=simple +# +# From oslo.policy +# -# Default stripe size for volumes (string value) -#zadara_default_stripesize=64 +# The file that defines policies. (string value) +#policy_file = policy.json -# Default template for VPSA volume names (string value) -#zadara_vol_name_template=OS_%s +# Default rule. Enforced when a requested rule is not found. (string value) +#policy_default_rule = default -# Automatically detach from servers on volume delete (boolean -# value) -#zadara_vpsa_auto_detach_on_delete=true +# 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 -# Don't halt on deletion of non-existing volumes (boolean -# value) -#zadara_vpsa_allow_nonexistent_delete=true +[oslo_reports] # -# Options defined in cinder.volume.iscsi +# From oslo.reports # -# iscsi target user-land tool to use (string value) -#iscsi_helper=tgtadm +# Path to a log directory where to create a file (string value) +#log_dir = -# Volume configuration file storage directory (string value) -#volumes_dir=$state_path/volumes +# 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 = -# IET configuration file (string value) -#iet_conf=/etc/iet/ietd.conf +# How many seconds to wait between polls when file_event_handler is set +# (integer value) +#file_event_handler_interval = 1 -# Comma-separatd list of initiator IQNs allowed to connect to -# the iSCSI target. (From Nova compute nodes.) (string value) -#lio_initiator_iqns= +[oslo_versionedobjects] # -# Options defined in cinder.volume.manager +# From oslo.versionedobjects # -# Driver to use for volume creation (string value) -#volume_driver=cinder.volume.drivers.lvm.LVMISCSIDriver +# Make exception message format errors fatal (boolean value) +#fatal_exception_format_errors = false +[profiler] + # -# Backup backend options +# From osprofiler # -backup_driver=%CINDER_BACKUP_BACKEND_DRIVER% +# +# 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 # -# Ceph backup backend options +# 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 -backup_ceph_conf=/etc/ceph/ceph.conf -backup_ceph_user=cinder-backup -backup_ceph_chunk_size=134217728 -backup_ceph_pool=cinder-backups -backup_ceph_stripe_unit=0 -backup_ceph_stripe_count=0 -restore_discard_excess_bytes=true +# +# Secret key(s) to use for encrypting context data for performance profiling. +# This string value should have the following format: +# [,,...], +# 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 # -# Swift backup backend options +# 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:// -backup_swift_url=http://controller:8888/v1/AUTH_ -backup_swift_auth=per_user -#backup_swift_user= -#backup_swift_key= -backup_swift_container=cinder-backups -backup_swift_object_size=52428800 -backup_swift_retry_attempts=3 -backup_swift_retry_backoff=2 -backup_compression_algorithm=zlib +# +# 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 # -# Multi backend options +# 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 -# Define the names of the groups for multiple volume backends -#enabled_backends=fakedriver,lvmdriver -enabled_backends=lvmdriver,nfsdriver,glusterfsdriver,rbdcephdriver +# +# 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 -# Define the groups as above -#[fakedriver] -#volume_driver=cinder.volume.driver.FakeISCSIDriver -[lvmdriver] -volume_group=cinder-volumes -volume_driver=cinder.volume.drivers.lvm.LVMISCSIDriver -volume_backend_name=LVM_iSCSI +[ssl] -[nfsdriver] -volume_group=nfs-group-1 -volume_driver=cinder.volume.drivers.nfs.NfsDriver -volume_backend_name=Generic_NFS +# +# From oslo.service.sslutils +# -[glusterfsdriver] -volume_group=glusterfs-group-1 -volume_driver=cinder.volume.drivers.glusterfs.GlusterfsDriver -volume_backend_name=GlusterFS +# CA certificate file to use to verify connecting clients. (string value) +# Deprecated group/name - [DEFAULT]/ssl_ca_file +#ca_file = -[rbdcephdriver] -volume_driver=cinder.volume.drivers.rbd.RBDDriver -rbd_pool=cinder-volumes -rbd_ceph_conf=/etc/ceph/ceph.conf -rbd_flatten_volume_from_snapshot=false -rbd_max_clone_depth=5 -rbd_user=cinder-volume -#rbd_secret_uuid= -volume_backend_name=RBD_CEPH +# Certificate file to use when starting the server securely. (string value) +# Deprecated group/name - [DEFAULT]/ssl_cert_file +#cert_file = -# Total option count: 255 +# Private key file to use when starting the server securely. (string value) +# Deprecated group/name - [DEFAULT]/ssl_key_file +#key_file = -# [nova_client] -# max_timing_buffer=100 +# 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 = -[keystone_authtoken] -identity_uri=http://127.0.0.1:8081/keystone/admin -admin_tenant_name = %SERVICE_TENANT_NAME% -admin_user = %SERVICE_USER% -admin_password = %SERVICE_PASSWORD% +# Sets the list of available ciphers. value should be a string in the OpenSSL +# cipher list format. (string value) +#ciphers = diff --git a/meta-openstack/recipes-devtools/python/python-cinder/cinder.init b/meta-openstack/recipes-devtools/python/python-cinder/cinder.init deleted file mode 100644 index 4c97962..0000000 --- a/meta-openstack/recipes-devtools/python/python-cinder/cinder.init +++ /dev/null @@ -1,130 +0,0 @@ -#!/bin/sh - -### BEGIN INIT INFO -# Provides: cinder-api -# Required-Start: $remote_fs $syslog -# Required-Stop: $remote_fs $syslog -# Should-Start: postgresql rabbitmq-server -# Should-Stop: postgresql rabbitmq-server -# Default-Start: 3 5 -# Default-Stop: 0 1 2 6 -# Short-Description: OpenStack Block Storage (Cinder) - API -# Description: OpenStack Block Storage (Cinder) - API -### END INIT INFO - -SUFFIX=@suffix@ -DESC="cinder-$SUFFIX" -DAEMON="/usr/bin/cinder-$SUFFIX" -PIDFILE="/var/run/cinder-$SUFFIX.pid" - -start() -{ - if [ -e $PIDFILE ]; then - PIDDIR=/proc/$(cat $PIDFILE) - if [ -d ${PIDDIR} ]; then - echo "$DESC already running." - exit 1 - else - echo "Removing stale PID file $PIDFILE" - rm -f $PIDFILE - fi - fi - - if [ ! -d /var/log/cinder ]; then - mkdir /var/log/cinder - fi - - echo -n "Starting $DESC..." - - start-stop-daemon --start --quiet --background \ - --pidfile ${PIDFILE} --make-pidfile --exec ${DAEMON} \ - -- --log-dir=/var/log/cinder - - if [ $? -eq 0 ]; then - echo "done." - else - echo "failed." - fi -} - -stop() -{ - echo -n "Stopping $DESC..." - start-stop-daemon --stop --quiet --pidfile $PIDFILE - if [ $? -eq 0 ]; then - echo "done." - else - echo "failed." - fi - rm -f $PIDFILE -} - -status() -{ - pid=`cat $PIDFILE 2>/dev/null` - if [ -n "$pid" ]; then - if ps -p $pid > /dev/null 2>&1 ; then - echo "$DESC is running" - return - fi - fi - echo "$DESC is not running" -} - -reset() -{ - . /etc/nova/openrc - - # Cleanup cinder volume - simple_delete "cinder list --all-tenant" "cinder delete" 1 "cinder volume" - - # Cleanup cinder backup - simple_delete "cinder backup-list" "cinder backup-delete" 1 "cinder backup" - - stop - - if ! pidof postmaster > /dev/null; then - /etc/init.d/postgresql-init - /etc/init.d/postgresql start - fi - [ ! -d /var/log/cinder ] && mkdir /var/log/cinder - sudo -u postgres dropdb cinder - sudo -u postgres createdb cinder - cinder-manage db sync - - if [ ! -f /etc/cinder/nfs_shares ]; then - /bin/bash /etc/cinder/drivers/nfs_setup.sh - fi - - # Create Cinder glusterfs_share config file with default glusterfs server - if [ ! -f /etc/cinder/glusterfs_shares ] && [ -f /usr/sbin/glusterfsd ]; then - /bin/bash /etc/cinder/drivers/glusterfs_setup.sh - fi - - start -} - -case "$1" in - start) - start - ;; - stop) - stop - ;; - restart|force-reload|reload) - stop - start - ;; - status) - status - ;; - reset) - reset - ;; - *) - echo "Usage: $0 {start|stop|force-reload|restart|reload|status|reset}" - exit 1 - ;; -esac - -exit 0 diff --git a/meta-openstack/recipes-devtools/python/python-cinder_git.bb b/meta-openstack/recipes-devtools/python/python-cinder_git.bb index 3523038..5274698 100644 --- a/meta-openstack/recipes-devtools/python/python-cinder_git.bb +++ b/meta-openstack/recipes-devtools/python/python-cinder_git.bb @@ -6,9 +6,14 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2" SRCNAME = "cinder" -SRC_URI = "git://github.com/openstack/${SRCNAME}.git;branch=master \ +SRC_URI = "git://github.com/openstack/${SRCNAME}.git;branch=stable/pike \ + file://cinder-init \ + file://cinder-init.service \ + file://cinder-api.service \ + file://cinder-backup.service \ + file://cinder-scheduler.service \ + file://cinder-volume.service \ file://cinder.conf \ - file://cinder.init \ file://cinder-volume \ file://nfs_setup.sh \ file://glusterfs_setup.sh \ @@ -16,41 +21,22 @@ SRC_URI = "git://github.com/openstack/${SRCNAME}.git;branch=master \ file://add-cinder-volume-types.sh \ " -# file://0001-run_tests-respect-tools-dir.patch -# file://fix_cinder_memory_leak.patch -# file://cinder-builtin-tests-config-location.patch - -SRCREV = "61026d4e4f2a58dd84ffb2e4e40ab99860b9316a" -PV = "7.0.0+git${SRCPV}" +SRCREV = "4fb3a702ba8c3de24c41a6f706597bfa81e60435" +PV = "11.1.0+git${SRCPV}" S = "${WORKDIR}/git" -inherit setuptools update-rc.d identity default_configs hosts monitor - -CINDER_BACKUP_BACKEND_DRIVER ?= "cinder.backup.drivers.swift" - -SERVICECREATE_PACKAGES = "${SRCNAME}-setup" -KEYSTONE_HOST="${CONTROLLER_IP}" +inherit setuptools systemd useradd identity default_configs hosts monitor -# USERCREATE_PARAM and SERVICECREATE_PARAM contain the list of parameters to be set. -# If the flag for a parameter in the list is not set here, the default value will be given to that parameter. -# Parameters not in the list will be set to empty. +USER = "cinder" +GROUP = "cinder" -USERCREATE_PARAM_${SRCNAME}-setup = "name pass tenant role email" -SERVICECREATE_PARAM_${SRCNAME}-setup = "name type description region publicurl adminurl internalurl" -python () { - flags = {'type':'volume',\ - 'description':'OpenStack Volume Service',\ - 'publicurl':"'http://${KEYSTONE_HOST}:8776/v1/\$(tenant_id)s'",\ - 'adminurl':"'http://${KEYSTONE_HOST}:8776/v1/\$(tenant_id)s'",\ - 'internalurl':"'http://${KEYSTONE_HOST}:8776/v1/\$(tenant_id)s'"} +USERADD_PACKAGES = "${PN}" +GROUPADD_PARAM_${PN} = "--system ${GROUP}" +USERADD_PARAM_${PN} = "--system -m -d ${localstatedir}/lib/cinder -s /bin/false -g ${GROUP} ${USER}" - d.setVarFlags("SERVICECREATE_PARAM_%s-setup" % d.getVar('SRCNAME',True), flags) -} -SERVICECREATE_PACKAGES[vardeps] += "KEYSTONE_HOST" +CINDER_BACKUP_BACKEND_DRIVER ?= "cinder.backup.drivers.swift" -#do_install_prepend() { -# sed 's:%PYTHON_SITEPACKAGES_DIR%:${PYTHON_SITEPACKAGES_DIR}:g' -i ${S}/${SRCNAME}/tests/conf_fixture.py -#} +KEYSTONE_HOST="${CONTROLLER_IP}" CINDER_LVM_VOLUME_BACKING_FILE_SIZE ?= "2G" CINDER_NFS_VOLUME_SERVERS_DEFAULT = "controller:/etc/cinder/nfs_volumes" @@ -65,9 +51,9 @@ do_install_append() { #Instead of substituting api-paste.ini from the WORKDIR, #move it over to the image's directory and do the substitution there install -d ${CINDER_CONF_DIR} - install -m 600 ${WORKDIR}/cinder.conf ${CINDER_CONF_DIR}/ - install -m 600 ${TEMPLATE_CONF_DIR}/api-paste.ini ${CINDER_CONF_DIR}/ - install -m 600 ${S}/etc/cinder/policy.json ${CINDER_CONF_DIR}/ + install -o ${USER} -m 664 ${WORKDIR}/cinder.conf ${CINDER_CONF_DIR}/ + install -o ${USER} -m 664 ${TEMPLATE_CONF_DIR}/api-paste.ini ${CINDER_CONF_DIR}/ + install -o ${USER} -m 664 ${S}/etc/cinder/policy.json ${CINDER_CONF_DIR}/ install -d ${CINDER_CONF_DIR}/drivers install -m 600 ${WORKDIR}/nfs_setup.sh ${CINDER_CONF_DIR}/drivers/ @@ -76,33 +62,62 @@ do_install_append() { install -m 700 ${WORKDIR}/add-cinder-volume-types.sh ${CINDER_CONF_DIR}/ install -d ${D}${localstatedir}/log/${SRCNAME} - - for file in api-paste.ini cinder.conf; do - sed -e "s:%SERVICE_TENANT_NAME%:${SERVICE_TENANT_NAME}:g" \ - -i ${CINDER_CONF_DIR}/$file - sed -e "s:%SERVICE_USER%:${SRCNAME}:g" -i ${CINDER_CONF_DIR}/$file - sed -e "s:%SERVICE_PASSWORD%:${SERVICE_PASSWORD}:g" \ - -i ${CINDER_CONF_DIR}/$file - - sed -e "s:%DB_USER%:${DB_USER}:g" -i ${CINDER_CONF_DIR}/$file - sed -e "s:%DB_PASSWORD%:${DB_PASSWORD}:g" -i ${CINDER_CONF_DIR}/$file - sed -e "s:%CINDER_BACKUP_BACKEND_DRIVER%:${CINDER_BACKUP_BACKEND_DRIVER}:g" \ - -i ${CINDER_CONF_DIR}/$file + + # Setup the neutron initialization script + INIT_FILE=${CINDER_CONF_DIR}/cinder-init + install -g ${USER} -m 750 ${WORKDIR}/cinder-init ${INIT_FILE} + sed -e "s:%DB_USER%:${DB_USER}:g" -i ${INIT_FILE} + sed -e "s:%CINDER_USER%:${USER}:g" -i ${INIT_FILE} + sed -e "s:%CINDER_GROUP%:${GROUP}:g" -i ${INIT_FILE} + sed -e "s:%CONTROLLER_IP%:${CONTROLLER_IP}:g" -i ${INIT_FILE} + sed -e "s:%ADMIN_USER%:${ADMIN_USER}:g" -i ${INIT_FILE} + sed -e "s:%ADMIN_PASSWORD%:${ADMIN_PASSWORD}:g" -i ${INIT_FILE} + sed -e "s:%ADMIN_ROLE%:${ADMIN_ROLE}:g" -i ${INIT_FILE} + sed -e "s:%SYSCONFDIR%:${sysconfdir}:g" -i ${INIT_FILE} + sed -e "s:%ROOT_HOME%:${ROOT_HOME}:g" -i ${INIT_FILE} + + # install systemd service files + install -d ${D}${systemd_system_unitdir}/ + for j in cinder-init cinder-api cinder-backup cinder-volume cinder-scheduler; do + SERVICE_FILE=${D}${systemd_system_unitdir}/$j.service + install -m 644 ${WORKDIR}/$j.service ${SERVICE_FILE} + sed -e "s:%USER%:${USER}:g" -i ${SERVICE_FILE} + sed -e "s:%GROUP%:${GROUP}:g" -i ${SERVICE_FILE} + sed -e "s:%LOCALSTATEDIR%:${localstatedir}:g" -i ${SERVICE_FILE} + sed -e "s:%SYSCONFDIR%:${sysconfdir}:g" -i ${SERVICE_FILE} done - if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then - install -d ${D}${sysconfdir}/init.d - sed 's:@suffix@:api:' < ${WORKDIR}/cinder.init >${WORKDIR}/cinder-api.init.sh - install -m 0755 ${WORKDIR}/cinder-api.init.sh ${D}${sysconfdir}/init.d/cinder-api - sed 's:@suffix@:scheduler:' < ${WORKDIR}/cinder.init >${WORKDIR}/cinder-scheduler.init.sh - install -m 0755 ${WORKDIR}/cinder-scheduler.init.sh ${D}${sysconfdir}/init.d/cinder-scheduler - sed 's:@suffix@:backup:' < ${WORKDIR}/cinder.init >${WORKDIR}/cinder-backup.init.sh - install -m 0755 ${WORKDIR}/cinder-backup.init.sh ${D}${sysconfdir}/init.d/cinder-backup - install -m 0755 ${WORKDIR}/cinder-volume ${D}${sysconfdir}/init.d/cinder-volume - fi + # + # Per https://docs.openstack.org/cinder/pike/install/cinder-controller-install-ubuntu.html + # + CONF_FILE="${CINDER_CONF_DIR}/cinder.conf" + sed -e "/^\[database\]/aconnection = postgresql+psycopg2://${DB_USER}:${DB_PASSWORD}@${CONTROLLER_IP}/cinder" \ + -i ${CONF_FILE} + sed -e "/#transport_url =/atransport_url = rabbit://openstack:${ADMIN_PASSWORD}@${CONTROLLER_IP}" -i ${CONF_FILE} + sed -e "/#auth_strategy =/aauth_strategy = keystone" -i ${CONF_FILE} + + str="auth_uri = http://${CONTROLLER_IP}:5000" + str="$str\nauth_url = http://${CONTROLLER_IP}:35357" + str="$str\nmemcached_servers = ${CONTROLLER_IP}:11211" + str="$str\nauth_type = password" + str="$str\nproject_domain_name = Default" + str="$str\nuser_domain_name = Default" + str="$str\nproject_name = service" + str="$str\nusername = ${USER}" + str="$str\npassword = ${ADMIN_PASSWORD}" + sed -e "/^\[keystone_authtoken\].*/a$str" -i ${CONF_FILE} + + sed -e "/#my_ip =/amy_ip = ${MY_IP}" -i ${CONF_FILE} + sed -e "/#lock_path =/alock_path = ${localstatedir}/lib/cinder/tmp" -i ${CONF_FILE} + + sed -e "/#enabled_backends =/aenabled_backends = nfsdriver" -i ${CONF_FILE} + str="[nfsdriver]" + str="$str\nvolume_group=nfs-group-1" + str="$str\nvolume_driver=cinder.volume.drivers.nfs.NfsDriver" + str="$str\nvolume_backend_name=Generic_NFS" + sed -e "s/\(^\[backend\].*\)/$str\n\1/" -i ${CONF_FILE} # test setup - cp run_tests.sh ${CINDER_CONF_DIR} cp -r tools ${CINDER_CONF_DIR} #Create cinder volume group backing file @@ -123,32 +138,26 @@ do_install_append() { sed -e "s:%IS_DEFAULT%:${is_default}:g" -i ${D}/etc/cinder/drivers/glusterfs_setup.sh } -pkg_postinst_${SRCNAME}-setup () { - if [ -z "$D" ]; then - # This is to make sure postgres is configured and running - if ! pidof postmaster > /dev/null; then - /etc/init.d/postgresql-init - /etc/init.d/postgresql start - fi - - if [ ! -d /var/log/cinder ]; then - mkdir /var/log/cinder - fi - - sudo -u postgres createdb cinder - cinder-manage db sync - - # Create Cinder nfs_share config file with default nfs server - if [ ! -f /etc/cinder/nfs_shares ]; then - /bin/bash /etc/cinder/drivers/nfs_setup.sh - fi - - # Create Cinder glusterfs_share config file with default glusterfs server - if [ ! -f /etc/cinder/glusterfs_shares ] && [ -f /usr/sbin/glusterfsd ]; then - /bin/bash /etc/cinder/drivers/glusterfs_setup.sh - fi - fi -} +#pkg_postinst_${SRCNAME}-setup () { +# if [ -z "$D" ]; then +# if [ ! -d /var/log/cinder ]; then +# mkdir /var/log/cinder +# fi +# +# sudo -u postgres createdb cinder +# cinder-manage db sync +# +# # Create Cinder nfs_share config file with default nfs server +# if [ ! -f /etc/cinder/nfs_shares ]; then +# /bin/bash /etc/cinder/drivers/nfs_setup.sh +# fi +# +# # Create Cinder glusterfs_share config file with default glusterfs server +# if [ ! -f /etc/cinder/glusterfs_shares ] && [ -f /usr/sbin/glusterfsd ]; then +# /bin/bash /etc/cinder/drivers/glusterfs_setup.sh +# fi +# fi +#} PACKAGES += "${SRCNAME}-tests ${SRCNAME} ${SRCNAME}-setup ${SRCNAME}-api ${SRCNAME}-volume ${SRCNAME}-scheduler ${SRCNAME}-backup" ALLOW_EMPTY_${SRCNAME}-setup = "1" @@ -161,20 +170,23 @@ RDEPENDS_${SRCNAME}-tests += " bash python" FILES_${PN} = "${libdir}/* /etc/tgt" -FILES_${SRCNAME}-tests = "${sysconfdir}/${SRCNAME}/run_tests.sh \ - ${sysconfdir}/${SRCNAME}/tools" +FILES_${SRCNAME}-tests = "${sysconfdir}/${SRCNAME}/tools" -FILES_${SRCNAME}-api = "${bindir}/cinder-api \ - ${sysconfdir}/init.d/cinder-api" +FILES_${SRCNAME}-api = " \ + ${bindir}/cinder-api \ +" -FILES_${SRCNAME}-volume = "${bindir}/cinder-volume \ - ${sysconfdir}/init.d/cinder-volume" +FILES_${SRCNAME}-volume = " \ + ${bindir}/cinder-volume \ +" -FILES_${SRCNAME}-scheduler = "${bindir}/cinder-scheduler \ - ${sysconfdir}/init.d/cinder-scheduler" +FILES_${SRCNAME}-scheduler = " \ + ${bindir}/cinder-scheduler \ +" -FILES_${SRCNAME}-backup = "${bindir}/cinder-backup \ - ${sysconfdir}/init.d/cinder-backup" +FILES_${SRCNAME}-backup = " \ + ${bindir}/cinder-backup \ +" FILES_${SRCNAME} = "${bindir}/* \ ${sysconfdir}/${SRCNAME}/* \ @@ -187,32 +199,21 @@ DEPENDS += " \ python-pbr \ " -RDEPENDS_${PN} += "lvm2 \ - python-sqlalchemy \ - python-amqplib \ - python-anyjson \ - python-eventlet \ - python-kombu \ - python-lxml \ - python-routes \ - python-webob \ - python-greenlet \ - python-lockfile \ - python-pastedeploy \ - python-paste \ - python-sqlalchemy-migrate \ - python-stevedore \ - python-suds-jurko \ - python-paramiko \ - python-babel \ - python-iso8601 \ - python-setuptools-git \ - python-glanceclient \ - python-keystoneclient \ - python-swiftclient \ - python-cinderclient \ - python-oslo.config \ - python-oslo.rootwrap \ +RDEPENDS_${PN} += " \ + lvm2 \ + python-pbr \ + python-babel \ + python-decorator \ + python-eventlet \ + python-greenlet \ + python-httplib2 \ + python-iso8601 \ + python-ipaddress \ + python-keystoneauth1 \ + python-keystonemiddleware \ + python-lxml \ + python-oauth2client \ + python-oslo.config \ python-oslo.concurrency \ python-oslo.context \ python-oslo.db \ @@ -220,52 +221,78 @@ RDEPENDS_${PN} += "lvm2 \ python-oslo.messaging \ python-oslo.middleware \ python-oslo.policy \ + python-oslo.privsep \ python-oslo.reports \ + python-oslo.rootwrap \ python-oslo.serialization \ python-oslo.service \ python-oslo.utils \ python-oslo.versionedobjects \ - python-pbr \ - python-taskflow \ - python-rtslib-fb \ - python-keystonemiddleware \ - python-netaddr \ python-osprofiler \ - python-pycrypto \ + python-paramiko \ + python-paste \ + python-pastedeploy \ + python-psutil \ python-pyparsing \ python-barbicanclient \ python-glanceclient \ + python-keystoneclient \ python-novaclient \ python-swiftclient \ + python-pytz \ python-requests \ python-retrying \ + python-routes \ python-taskflow \ python-rtslib-fb \ + python-simplejson \ python-six \ + python-sqlalchemy \ + python-sqlalchemy-migrate \ + python-stevedore \ + python-suds-jurko \ + python-webob \ python-oslo.i18n \ python-oslo.vmware \ python-os-brick \ - python-enum34 \ - python-routes \ - " + python-os-win \ + python-tooz \ + python-google-api-python-client \ + python-castellan \ + python-cryptography \ + " -RDEPENDS_${SRCNAME} = "${PN} \ - postgresql postgresql-client python-psycopg2 tgt" +RDEPENDS_${SRCNAME} = " \ + ${PN} \ + postgresql \ + postgresql-client \ + python-psycopg2 \ + tgt" RDEPENDS_${SRCNAME}-api = "${SRCNAME}" RDEPENDS_${SRCNAME}-volume = "${SRCNAME}" RDEPENDS_${SRCNAME}-scheduler = "${SRCNAME}" -RDEPENDS_${SRCNAME}-setup = "postgresql sudo ${SRCNAME}" - -INITSCRIPT_PACKAGES = "${SRCNAME}-api ${SRCNAME}-volume ${SRCNAME}-scheduler ${SRCNAME}-backup" -INITSCRIPT_NAME_${SRCNAME}-api = "cinder-api" -INITSCRIPT_PARAMS_${SRCNAME}-api = "${OS_DEFAULT_INITSCRIPT_PARAMS}" -INITSCRIPT_NAME_${SRCNAME}-volume = "cinder-volume" -INITSCRIPT_PARAMS_${SRCNAME}-volume = "${OS_DEFAULT_INITSCRIPT_PARAMS}" -INITSCRIPT_NAME_${SRCNAME}-scheduler = "cinder-scheduler" -INITSCRIPT_PARAMS_${SRCNAME}-scheduler = "${OS_DEFAULT_INITSCRIPT_PARAMS}" -INITSCRIPT_NAME_${SRCNAME}-backup = "cinder-backup" -INITSCRIPT_PARAMS_${SRCNAME}-backup = "${OS_DEFAULT_INITSCRIPT_PARAMS}" +RDEPENDS_${SRCNAME}-setup = "postgresql sudo ${SRCNAME} bash" + +SYSTEMD_PACKAGES = " \ + ${SRCNAME}-setup \ + ${SRCNAME}-api \ + ${SRCNAME}-volume \ + ${SRCNAME}-scheduler \ + ${SRCNAME}-backup \ +" + +SYSTEMD_SERVICE_${SRCNAME}-setup = "cinder-init.service" +SYSTEMD_SERVICE_${SRCNAME}-api = "cinder-api.service" +SYSTEMD_SERVICE_${SRCNAME}-volume = "cinder-volume.service" +SYSTEMD_SERVICE_${SRCNAME}-scheduler = "cinder-scheduler.service" +SYSTEMD_SERVICE_${SRCNAME}-backup = "cinder-backup.service" + +# Disable until they are configured (via -setup) +SYSTEMD_AUTO_ENABLE_${SRCNAME}-api = "disable" +SYSTEMD_AUTO_ENABLE_${SRCNAME}-volume = "disable" +SYSTEMD_AUTO_ENABLE_${SRCNAME}-scheduler = "disable" +SYSTEMD_AUTO_ENABLE_${SRCNAME}-backup = "disable" MONITOR_SERVICE_PACKAGES = "${SRCNAME}" MONITOR_SERVICE_${SRCNAME} = "cinder" diff --git a/meta-openstack/recipes-devtools/python/python-nova_git.bb b/meta-openstack/recipes-devtools/python/python-nova_git.bb index 741fc0a..3e646df 100644 --- a/meta-openstack/recipes-devtools/python/python-nova_git.bb +++ b/meta-openstack/recipes-devtools/python/python-nova_git.bb @@ -188,6 +188,9 @@ do_install_append() { sed -e "/#api_servers =/aapi_servers = ${CONTROLLER_IP}:9292" -i ${CONF_FILE} sed -e "/#lock_path =/alock_path = /var/lib/nova/tmp" -i ${CONF_FILE} + # Configure cinder + sed -e "/^\[cinder\].*/aos_region_name = RegionOne" -i ${CONF_FILE} + str="os_region_name = RegionOne" str="$str\nproject_domain_name = Default" str="$str\nproject_name = service" -- cgit v1.2.3-54-g00ecf