Available Drivers

Volume Drivers

Supported Drivers

AS13000Driver

Driver configuration options

Name = Default Value

(Type) Description

as13000_ipsan_pools = [‘Pool0’]

(List of String) The Storage Pools Cinder should use, a comma separated list.

as13000_meta_pool = None

(String) The pool which is used as a meta pool when creating a volume, and it should be a replication pool at present. If not set, the driver will choose a replication pool from the value of as13000_ipsan_pools.

as13000_token_available_time = 3300

(Integer(min=600, max=3600)) The effective time of token validity in seconds.

  • Description: Driver for Inspur AS13000 storage.

Version history:
    1.0.0 - Initial driver

DSWAREDriver

Driver configuration options

Name = Default Value

(Type) Description

clone_volume_timeout = 680

(Integer) Create clone volume timeout

dsware_isthin = False

(Boolean) The flag of thin storage allocation.

dsware_manager =

(String) Fusionstorage manager ip addr for cinder-volume.

dsware_rest_url =

(String) The address of FusionStorage array. For example, “dsware_rest_url=xxx”

dsware_storage_pools =

(String) The list of pools on the FusionStorage array, the semicolon(;) was used to split the storage pools, “dsware_storage_pools = xxx1; xxx2; xxx3”

fusionstorageagent =

(String) Fusionstorage agent ip addr range

manager_ips = {}

(Dict of String) This option is to support the FSA to mount across the different nodes. The parameters takes the standard dict config form, manager_ips = host1:ip1, host2:ip2…

pool_id_filter = []

(List of String) Pool id permit to use

pool_type = default

(String) Pool type, like sata-2copy

  • Description: <None>

DateraDriver

Driver configuration options

Name = Default Value

(Type) Description

backend_availability_zone = None

(String) Availability zone for this volume backend. If not set, the storage_availability_zone option value is used as the default for all backends.

chap_password =

(String) Password for specified CHAP account name.

chap_username =

(String) CHAP user name.

chiscsi_conf = /etc/chelsio-iscsi/chiscsi.conf

(String) Chiscsi (CXT) global defaults configuration file

driver_client_cert = None

(String) The path to the client certificate for verification, if the driver supports it.

driver_client_cert_key = None

(String) The path to the client certificate key for verification, if the driver supports it.

driver_data_namespace = None

(String) Namespace for driver private data values to be saved in.

driver_ssl_cert_path = None

(String) 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

driver_ssl_cert_verify = False

(Boolean) If set to True the http client will validate the SSL certificate of the backend endpoint.

driver_use_ssl = False

(Boolean) Tell driver to use SSL for connection to backend storage if the driver supports it.

enable_unsupported_driver = False

(Boolean) 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.

filter_function = None

(String) 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.

goodness_function = None

(String) 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.

iet_conf = /etc/iet/ietd.conf

(String) DEPRECATED: IET configuration file

iscsi_iotype = fileio

(String(choices=[‘blockio’, ‘fileio’, ‘auto’])) 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

iscsi_secondary_ip_addresses = []

(List of String) The list of secondary IP addresses of the iSCSI daemon

iscsi_target_flags =

(String) 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.

iscsi_write_cache = on

(String(choices=[‘on’, ‘off’])) Sets the behavior of the iSCSI target to either perform write-back(on) or write-through(off). This parameter is valid if target_helper is set to tgtadm.

max_over_subscription_ratio = 20.0

(String(regex=’^(auto|\d*.\d+|\d+)$’)) Representation of the over subscription ratio when thin provisioning is enabled. 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. If ratio is ‘auto’, Cinder will automatically calculate the ratio based on the provisioned capacity and the used space. If not set to auto, the ratio has to be a minimum of 1.0.

num_shell_tries = 3

(Integer) Number of times to attempt to run flakey shell commands

num_volume_device_scan_tries = 3

(Integer) The maximum number of times to rescan targets to find volume

replication_device = None

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

report_discard_supported = False

(Boolean) 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.

reserved_percentage = 0

(Integer(min=0, max=100)) The percentage of backend capacity is reserved

storage_protocol = iscsi

(String(choices=[‘iscsi’, ‘fc’])) Protocol for transferring data between host and storage back-end.

target_helper = tgtadm

(String(choices=[‘tgtadm’, ‘lioadm’, ‘scstadmin’, ‘iscsictl’, ‘ietadm’, ‘nvmet’, ‘spdk-nvmeof’, ‘fake’])) 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, nvmet for NVMEoF support, spdk-nvmeof for SPDK NVMe-oF, or fake for testing. Note: The IET driver is deprecated and will be removed in the V release.

target_ip_address = $my_ip

(String) The IP address that the iSCSI daemon is listening on

target_port = 3260

(Port(min=0, max=65535)) The port that the iSCSI daemon is listening on

target_prefix = iqn.2010-10.org.openstack:

(String) Prefix for iSCSI volumes

target_protocol = iscsi

(String(choices=[‘iscsi’, ‘iser’, ‘nvmet_rdma’])) Determines the target protocol for new volumes, created with tgtadm, lioadm and nvmet 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”, in case of nvmet target set to “nvmet_rdma”.

trace_flags = None

(List of String) List of options that control which trace info is written to the DEBUG log level to assist developers. Valid values are method and api.

use_chap_auth = False

(Boolean) Option to enable/disable CHAP authentication for targets.

volume_backend_name = None

(String) The backend name for a given driver implementation

volume_clear = zero

(String(choices=[‘none’, ‘zero’])) Method used to wipe old volumes

volume_clear_ionice = None

(String) 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.

volume_clear_size = 0

(Integer(max=1024)) Size in MiB to wipe at start of old volumes. 1024 MiB at max. 0 => all

volume_copy_blkio_cgroup_name = cinder-volume-copy

(String) The blkio cgroup name to be used to limit bandwidth of volume copy

volume_copy_bps_limit = 0

(Integer) The upper limit of bandwidth of volume copy. 0 => unlimited

volume_dd_blocksize = 1M

(String) The default block size used when copying/clearing volumes

volumes_dir = $state_path/volumes

(String) Volume configuration file storage directory

  • Description: The OpenStack Datera iSCSI volume driver.


Version history:
  • 1.0 - Initial driver

  • 1.1 - Look for lun-0 instead of lun-1.

  • 2.0 - Update For Datera API v2

  • 2.1 - Multipath, ACL and reorg

  • 2.2 - Capabilites List, Extended Volume-Type Support

    Naming convention change, Volume Manage/Unmanage support

  • 2.3 - Templates, Tenants, Snapshot Polling,

    2.1 Api Version Support, Restructure

  • 2.3.1 - Scalability bugfixes

  • 2.3.2 - Volume Placement, ACL multi-attach bugfix

  • 2.4.0 - Fast Retype Support

  • 2.5.0 - Glance Image Caching, retyping/QoS bugfixes

  • 2.6.0 - Api 2.2 support

  • 2.6.1 - Glance interoperability fix

  • 2.7.0 - IOPS/GB and BW/GB settings, driver level overrides

    (API 2.1+ only)

  • 2.7.2 - Allowing DF: QoS Spec prefix, QoS type leak bugfix

  • 2.7.3 - Fixed bug in clone_image where size was not set correctly

  • 2.7.4 - Fix for create_tenant incorrect API call

    Temporary fix for DAT-15931

  • 2.7.5 - Removed “force” parameter from /initiators v2.1 API requests

  • 2.8.0 - iops_per_gb and bandwidth_per_gb are now limited by

    total_iops_max and total_bandwidth_max (API 2.1+ only) Bugfix for cinder retype with online volume

  • 2.8.1 - Bugfix for missing default dict during retype

  • 2.8.2 - Updated most retype operations to not detach volume

  • 2.8.3 - Bugfix for not allowing fast clones for shared/community

    volumes

  • 2.8.4 - Fixed missing API version pinning in _offline_flip

  • 2.8.5 - Membership check for fast image cloning. Metadata API pinning

  • 2.8.6 - Added LDAP support and CHAP support

  • 2.8.7 - Bugfix for missing tenancy calls in offline_flip

  • 2.9.0 - Volumes now correctly renamed during backend migration.

    Implemented update_migrated_volume (API 2.1+ only), Prevent non-raw image cloning

  • 2.9.1 - Added extended metadata attributes during volume creation

    and attachment. Added datera_disable_extended_metadata option to disable it.

  • 2.9.2 - Made ensure_export a no-op. Removed usage of

    initiator-groups

  • 2018.4.5.0 - Switch to new date-based versioning scheme. Removed v2

    API support

  • 2018.4.17.1 - Bugfixes to IP Pools, Templates and Initiators

  • 2018.4.25.0 - Snapshot Manage. List Manageable Snapshots support

  • 2018.4.27.0 - Major driver revamp/restructure, no functionality

    change

  • 2018.5.1.0 - Bugfix for Map tenant auto-creation

  • 2018.5.18.0 - Bugfix for None tenant handling

  • 2018.6.7.0 - Bugfix for missing project_id during image clone

  • 2018.7.13.0 - Massive update porting to use the Datera Python-SDK

  • 2018.7.20.0 - Driver now includes display_name in created backend

    app_instances.

  • 2018.9.17.0 - Requirements and doc changes

  • 2018.10.8.0 - Added extra_headers to Python-SDK constructor call.

    This allows for the SDK to send the type of driver performing each request along with the request. This functionality existed before the Python-SDK revamp, so this change adds the functionality back in.

  • 2018.10.8.1 - Adding thread_local to Python-SDK constructor call.

    This preserves trace_id in the logs

  • 2018.10.30.0 - Adding template_override support. Added

    datera_disable_template_override cfgOpt to disable this feature. Updated required requests version to >=2.20.0 because of a security vulnerability in <=2.19.X. Added support for filter_function and goodness_function.

  • 2018.11.1.0 - Adding flash and hybrid capacity info to

    get_volume_stats

  • 2018.11.8.0 - Fixing bug that broke 2.2.X support

  • 2018.11.14.0 - Bugfixes for v2.1 API support and unicode character

    support

  • 2019.1.24.0 - Python-SDK requirements update, README updates

  • 2019.2.25.0 - Scalability fixes and utility script updates

  • 2019.6.4.1 - Added Pypi packaging installation support

  • 2019.12.10.0 - Python 3.x support, tox tests, CI ready, live

    migration support, image cache, bugfixes.

FJDXFCDriver

Driver configuration options

Name = Default Value

(Type) Description

cinder_eternus_config_file = /etc/cinder/cinder_fujitsu_eternus_dx.xml

(String) Config file for cinder eternus_dx volume driver.

  • Description: FC Cinder Volume Driver for Fujitsu ETERNUS DX S3 series.

FJDXISCSIDriver

Driver configuration options

Name = Default Value

(Type) Description

cinder_eternus_config_file = /etc/cinder/cinder_fujitsu_eternus_dx.xml

(String) Config file for cinder eternus_dx volume driver.

  • Description: iSCSI Cinder Volume Driver for Fujitsu ETERNUS DX S3 series.

GPFSDriver

Driver configuration options

Name = Default Value

(Type) Description

gpfs_images_dir = None

(String) Specifies the path of the Image service repository in GPFS. Leave undefined if not storing images in GPFS.

gpfs_images_share_mode = None

(String(choices=[‘copy’, ‘copy_on_write’, None])) Specifies the type of image copy to be used. Set this when the Image service repository also uses GPFS so that image files can be transferred efficiently from the Image service to the Block Storage service. There are two valid values: “copy” specifies that a full copy of the image is made; “copy_on_write” specifies that copy-on-write optimization strategy is used and unmodified blocks of the image file are shared efficiently.

gpfs_max_clone_depth = 0

(Integer) 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.

gpfs_mount_point_base = None

(String) Specifies the path of the GPFS directory where Block Storage volume and snapshot files are stored.

gpfs_sparse_volumes = True

(Boolean) 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.

gpfs_storage_pool = system

(String) Specifies the storage pool that volumes are assigned to. By default, the system storage pool is used.

  • Description: Implements volume functions using GPFS primitives.

Version history:

  1.0.0 - Initial driver
  1.1.0 - Add volume retype, refactor volume migration
  1.2.0 - Add consistency group support
  1.3.0 - Add NFS based GPFS storage backend support
  1.3.1 - Add GPFS native encryption (encryption of data at rest) support

GPFSNFSDriver

Driver configuration options

Name = Default Value

(Type) Description

gpfs_images_dir = None

(String) Specifies the path of the Image service repository in GPFS. Leave undefined if not storing images in GPFS.

gpfs_images_share_mode = None

(String(choices=[‘copy’, ‘copy_on_write’, None])) Specifies the type of image copy to be used. Set this when the Image service repository also uses GPFS so that image files can be transferred efficiently from the Image service to the Block Storage service. There are two valid values: “copy” specifies that a full copy of the image is made; “copy_on_write” specifies that copy-on-write optimization strategy is used and unmodified blocks of the image file are shared efficiently.

gpfs_max_clone_depth = 0

(Integer) 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.

gpfs_mount_point_base = None

(String) Specifies the path of the GPFS directory where Block Storage volume and snapshot files are stored.

gpfs_sparse_volumes = True

(Boolean) 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.

gpfs_storage_pool = system

(String) Specifies the storage pool that volumes are assigned to. By default, the system storage pool is used.

  • Description: GPFS cinder driver extension.

This extends the capability of existing GPFS cinder driver to be able to create cinder volumes when cinder volume service is not running on GPFS node.

GPFSRemoteDriver

Driver configuration options

Name = Default Value

(Type) Description

gpfs_hosts = []

(List of String) Comma-separated list of IP address or hostnames of GPFS nodes.

gpfs_hosts_key_file = $state_path/ssh_known_hosts

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

gpfs_images_dir = None

(String) Specifies the path of the Image service repository in GPFS. Leave undefined if not storing images in GPFS.

gpfs_images_share_mode = None

(String(choices=[‘copy’, ‘copy_on_write’, None])) Specifies the type of image copy to be used. Set this when the Image service repository also uses GPFS so that image files can be transferred efficiently from the Image service to the Block Storage service. There are two valid values: “copy” specifies that a full copy of the image is made; “copy_on_write” specifies that copy-on-write optimization strategy is used and unmodified blocks of the image file are shared efficiently.

gpfs_max_clone_depth = 0

(Integer) 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.

gpfs_mount_point_base = None

(String) Specifies the path of the GPFS directory where Block Storage volume and snapshot files are stored.

gpfs_private_key =

(String) Filename of private key to use for SSH authentication.

gpfs_sparse_volumes = True

(Boolean) 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.

gpfs_ssh_port = 22

(Port(min=0, max=65535)) SSH port to use.

gpfs_storage_pool = system

(String) Specifies the storage pool that volumes are assigned to. By default, the system storage pool is used.

gpfs_strict_host_key_policy = False

(Boolean) Option to enable strict gpfs host key checking while connecting to gpfs nodes. Default=False

gpfs_user_login = root

(String) Username for GPFS nodes.

gpfs_user_password =

(String) Password for GPFS node user.

  • Description: GPFS cinder driver extension.

This extends the capability of existing GPFS cinder driver to be able to run the driver when cinder volume service is not running on GPFS node where as Nova Compute is a GPFS client. This deployment is typically in Container based OpenStack environment.

HBSDFCDriver

Driver configuration options

Name = Default Value

(Type) Description

backend_availability_zone = None

(String) Availability zone for this volume backend. If not set, the storage_availability_zone option value is used as the default for all backends.

chap_password =

(String) Password for specified CHAP account name.

chap_username =

(String) CHAP user name.

chiscsi_conf = /etc/chelsio-iscsi/chiscsi.conf

(String) Chiscsi (CXT) global defaults configuration file

driver_client_cert = None

(String) The path to the client certificate for verification, if the driver supports it.

driver_client_cert_key = None

(String) The path to the client certificate key for verification, if the driver supports it.

driver_data_namespace = None

(String) Namespace for driver private data values to be saved in.

driver_ssl_cert_path = None

(String) 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

driver_ssl_cert_verify = False

(Boolean) If set to True the http client will validate the SSL certificate of the backend endpoint.

driver_use_ssl = False

(Boolean) Tell driver to use SSL for connection to backend storage if the driver supports it.

enable_unsupported_driver = False

(Boolean) 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.

filter_function = None

(String) 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.

goodness_function = None

(String) 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.

iet_conf = /etc/iet/ietd.conf

(String) DEPRECATED: IET configuration file

iscsi_iotype = fileio

(String(choices=[‘blockio’, ‘fileio’, ‘auto’])) 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

iscsi_secondary_ip_addresses = []

(List of String) The list of secondary IP addresses of the iSCSI daemon

iscsi_target_flags =

(String) 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.

iscsi_write_cache = on

(String(choices=[‘on’, ‘off’])) Sets the behavior of the iSCSI target to either perform write-back(on) or write-through(off). This parameter is valid if target_helper is set to tgtadm.

max_over_subscription_ratio = 20.0

(String(regex=’^(auto|\d*.\d+|\d+)$’)) Representation of the over subscription ratio when thin provisioning is enabled. 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. If ratio is ‘auto’, Cinder will automatically calculate the ratio based on the provisioned capacity and the used space. If not set to auto, the ratio has to be a minimum of 1.0.

num_shell_tries = 3

(Integer) Number of times to attempt to run flakey shell commands

num_volume_device_scan_tries = 3

(Integer) The maximum number of times to rescan targets to find volume

replication_device = None

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

report_discard_supported = False

(Boolean) 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.

reserved_percentage = 0

(Integer(min=0, max=100)) The percentage of backend capacity is reserved

storage_protocol = iscsi

(String(choices=[‘iscsi’, ‘fc’])) Protocol for transferring data between host and storage back-end.

target_helper = tgtadm

(String(choices=[‘tgtadm’, ‘lioadm’, ‘scstadmin’, ‘iscsictl’, ‘ietadm’, ‘nvmet’, ‘spdk-nvmeof’, ‘fake’])) 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, nvmet for NVMEoF support, spdk-nvmeof for SPDK NVMe-oF, or fake for testing. Note: The IET driver is deprecated and will be removed in the V release.

target_ip_address = $my_ip

(String) The IP address that the iSCSI daemon is listening on

target_port = 3260

(Port(min=0, max=65535)) The port that the iSCSI daemon is listening on

target_prefix = iqn.2010-10.org.openstack:

(String) Prefix for iSCSI volumes

target_protocol = iscsi

(String(choices=[‘iscsi’, ‘iser’, ‘nvmet_rdma’])) Determines the target protocol for new volumes, created with tgtadm, lioadm and nvmet 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”, in case of nvmet target set to “nvmet_rdma”.

trace_flags = None

(List of String) List of options that control which trace info is written to the DEBUG log level to assist developers. Valid values are method and api.

use_chap_auth = False

(Boolean) Option to enable/disable CHAP authentication for targets.

volume_backend_name = None

(String) The backend name for a given driver implementation

volume_clear = zero

(String(choices=[‘none’, ‘zero’])) Method used to wipe old volumes

volume_clear_ionice = None

(String) 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.

volume_clear_size = 0

(Integer(max=1024)) Size in MiB to wipe at start of old volumes. 1024 MiB at max. 0 => all

volume_copy_blkio_cgroup_name = cinder-volume-copy

(String) The blkio cgroup name to be used to limit bandwidth of volume copy

volume_copy_bps_limit = 0

(Integer) The upper limit of bandwidth of volume copy. 0 => unlimited

volume_dd_blocksize = 1M

(String) The default block size used when copying/clearing volumes

volumes_dir = $state_path/volumes

(String) Volume configuration file storage directory

  • Description: Fibre channel class for Hitachi HBSD Driver.

Version history:

1.0.0 - Initial driver.
1.1.0 - Add manage_existing/manage_existing_get_size/unmanage methods
2.0.0 - Major redesign of the driver. This version requires the REST
        API for communication with the storage backend.

HBSDISCSIDriver

Driver configuration options

Name = Default Value

(Type) Description

backend_availability_zone = None

(String) Availability zone for this volume backend. If not set, the storage_availability_zone option value is used as the default for all backends.

chap_password =

(String) Password for specified CHAP account name.

chap_username =

(String) CHAP user name.

chiscsi_conf = /etc/chelsio-iscsi/chiscsi.conf

(String) Chiscsi (CXT) global defaults configuration file

driver_client_cert = None

(String) The path to the client certificate for verification, if the driver supports it.

driver_client_cert_key = None

(String) The path to the client certificate key for verification, if the driver supports it.

driver_data_namespace = None

(String) Namespace for driver private data values to be saved in.

driver_ssl_cert_path = None

(String) 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

driver_ssl_cert_verify = False

(Boolean) If set to True the http client will validate the SSL certificate of the backend endpoint.

driver_use_ssl = False

(Boolean) Tell driver to use SSL for connection to backend storage if the driver supports it.

enable_unsupported_driver = False

(Boolean) 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.

filter_function = None

(String) 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.

goodness_function = None

(String) 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.

iet_conf = /etc/iet/ietd.conf

(String) DEPRECATED: IET configuration file

iscsi_iotype = fileio

(String(choices=[‘blockio’, ‘fileio’, ‘auto’])) 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

iscsi_secondary_ip_addresses = []

(List of String) The list of secondary IP addresses of the iSCSI daemon

iscsi_target_flags =

(String) 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.

iscsi_write_cache = on

(String(choices=[‘on’, ‘off’])) Sets the behavior of the iSCSI target to either perform write-back(on) or write-through(off). This parameter is valid if target_helper is set to tgtadm.

max_over_subscription_ratio = 20.0

(String(regex=’^(auto|\d*.\d+|\d+)$’)) Representation of the over subscription ratio when thin provisioning is enabled. 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. If ratio is ‘auto’, Cinder will automatically calculate the ratio based on the provisioned capacity and the used space. If not set to auto, the ratio has to be a minimum of 1.0.

num_shell_tries = 3

(Integer) Number of times to attempt to run flakey shell commands

num_volume_device_scan_tries = 3

(Integer) The maximum number of times to rescan targets to find volume

replication_device = None

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

report_discard_supported = False

(Boolean) 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.

reserved_percentage = 0

(Integer(min=0, max=100)) The percentage of backend capacity is reserved

storage_protocol = iscsi

(String(choices=[‘iscsi’, ‘fc’])) Protocol for transferring data between host and storage back-end.

target_helper = tgtadm

(String(choices=[‘tgtadm’, ‘lioadm’, ‘scstadmin’, ‘iscsictl’, ‘ietadm’, ‘nvmet’, ‘spdk-nvmeof’, ‘fake’])) 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, nvmet for NVMEoF support, spdk-nvmeof for SPDK NVMe-oF, or fake for testing. Note: The IET driver is deprecated and will be removed in the V release.

target_ip_address = $my_ip

(String) The IP address that the iSCSI daemon is listening on

target_port = 3260

(Port(min=0, max=65535)) The port that the iSCSI daemon is listening on

target_prefix = iqn.2010-10.org.openstack:

(String) Prefix for iSCSI volumes

target_protocol = iscsi

(String(choices=[‘iscsi’, ‘iser’, ‘nvmet_rdma’])) Determines the target protocol for new volumes, created with tgtadm, lioadm and nvmet 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”, in case of nvmet target set to “nvmet_rdma”.

trace_flags = None

(List of String) List of options that control which trace info is written to the DEBUG log level to assist developers. Valid values are method and api.

use_chap_auth = False

(Boolean) Option to enable/disable CHAP authentication for targets.

volume_backend_name = None

(String) The backend name for a given driver implementation

volume_clear = zero

(String(choices=[‘none’, ‘zero’])) Method used to wipe old volumes

volume_clear_ionice = None

(String) 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.

volume_clear_size = 0

(Integer(max=1024)) Size in MiB to wipe at start of old volumes. 1024 MiB at max. 0 => all

volume_copy_blkio_cgroup_name = cinder-volume-copy

(String) The blkio cgroup name to be used to limit bandwidth of volume copy

volume_copy_bps_limit = 0

(Integer) The upper limit of bandwidth of volume copy. 0 => unlimited

volume_dd_blocksize = 1M

(String) The default block size used when copying/clearing volumes

volumes_dir = $state_path/volumes

(String) Volume configuration file storage directory

  • Description: iSCSI class for Hitachi HBSD Driver.

Version history:

1.0.0 - Initial driver.
1.1.0 - Add manage_existing/manage_existing_get_size/unmanage methods
2.0.0 - Major redesign of the driver. This version requires the REST
        API for communication with the storage backend.

HPE3PARFCDriver

Driver configuration options

Name = Default Value

(Type) Description

hpe3par_api_url =

(String) WSAPI Server URL. This setting applies to both 3PAR and Primera. Example 1: for 3PAR, URL is: https://<3par ip>:8080/api/v1 Example 2: for Primera, URL is: https://<primera ip>:443/api/v1

hpe3par_cpg = [‘OpenStack’]

(List of String) List of the 3PAR / Primera CPG(s) to use for volume creation

hpe3par_cpg_snap =

(String) The 3PAR / Primera CPG to use for snapshots of volumes. If empty the userCPG will be used.

hpe3par_debug = False

(Boolean) Enable HTTP debugging to 3PAR / Primera

hpe3par_iscsi_chap_enabled = False

(Boolean) Enable CHAP authentication for iSCSI connections.

hpe3par_iscsi_ips = []

(List of String) List of target iSCSI addresses to use.

hpe3par_password =

(String) 3PAR / Primera password for the user specified in hpe3par_username

hpe3par_snapshot_expiration =

(String) The time in hours when a snapshot expires and is deleted. This must be larger than expiration

hpe3par_snapshot_retention =

(String) The time in hours to retain a snapshot. You can’t delete it before this expires.

hpe3par_target_nsp =

(String) The nsp of 3PAR backend to be used when: (1) multipath is not enabled in cinder.conf. (2) Fiber Channel Zone Manager is not used. (3) the 3PAR backend is prezoned with this specific nsp only. For example if nsp is 2 1 2, the format of the option’s value is 2:1:2

hpe3par_username =

(String) 3PAR / Primera username with the ‘edit’ role

max_over_subscription_ratio = 20.0

(String(regex=’^(auto|\d*.\d+|\d+)$’)) Representation of the over subscription ratio when thin provisioning is enabled. 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. If ratio is ‘auto’, Cinder will automatically calculate the ratio based on the provisioned capacity and the used space. If not set to auto, the ratio has to be a minimum of 1.0.

replication_device = None

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

reserved_percentage = 0

(Integer(min=0, max=100)) The percentage of backend capacity is reserved

san_ip =

(String) IP address of SAN controller

san_login = admin

(String) Username for SAN controller

san_password =

(String) Password for SAN controller

san_private_key =

(String) Filename of private key to use for SSH authentication

san_ssh_port = 22

(Port(min=0, max=65535)) SSH port to use with SAN

ssh_conn_timeout = 30

(Integer) SSH connection timeout in seconds

target_ip_address = $my_ip

(String) The IP address that the iSCSI daemon is listening on

target_port = 3260

(Port(min=0, max=65535)) The port that the iSCSI daemon is listening on

unique_fqdn_network = True

(Boolean) 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 3PAR using the FQDN, when false it will use the reversed IQN/WWNN.

  • Description: OpenStack Fibre Channel driver to enable 3PAR storage array.

Version history:

1.0   - Initial driver
1.1   - QoS, extend volume, multiple iscsi ports, remove domain,
        session changes, faster clone, requires 3.1.2 MU2 firmware,
        copy volume <--> Image.
1.2.0 - Updated the use of the hp3parclient to 2.0.0 and refactored
        the drivers to use the new APIs.
1.2.1 - Synchronized extend_volume method.
1.2.2 - Added try/finally around client login/logout.
1.2.3 - Added ability to add WWNs to host.
1.2.4 - Added metadata during attach/detach bug #1258033.
1.3.0 - Removed all SSH code.  We rely on the hp3parclient now.
2.0.0 - Update hp3parclient API uses 3.0.x
2.0.2 - Add back-end assisted volume migrate
2.0.3 - Added initiator-target map for FC Zone Manager
2.0.4 - Added support for managing/unmanaging of volumes
2.0.5 - Only remove FC Zone on last volume detach
2.0.6 - Added support for volume retype
2.0.7 - Only one FC port is used when a single FC path
        is present.  bug #1360001
2.0.8 - Fixing missing login/logout around attach/detach bug #1367429
2.0.9 - Add support for pools with model update
2.0.10 - Migrate without losing type settings bug #1356608
2.0.11 - Removing locks bug #1381190
2.0.12 - Fix queryHost call to specify wwns bug #1398206
2.0.13 - Fix missing host name during attach bug #1398206
2.0.14 - Removed usage of host name cache #1398914
2.0.15 - Added support for updated detach_volume attachment.
2.0.16 - Added encrypted property to initialize_connection #1439917
2.0.17 - Improved VLUN creation and deletion logic. #1469816
2.0.18 - Changed initialize_connection to use getHostVLUNs. #1475064
2.0.19 - Adds consistency group support
2.0.20 - Update driver to use ABC metaclasses
2.0.21 - Added update_migrated_volume. bug # 1492023
3.0.0 - Rebranded HP to HPE.
3.0.1 - Remove db access for consistency groups
3.0.2 - Adds v2 managed replication support
3.0.3 - Adds v2 unmanaged replication support
3.0.4 - Adding manage/unmanage snapshot support
3.0.5 - Optimize array ID retrieval
3.0.6 - Update replication to version 2.1
3.0.7 - Remove metadata that tracks the instance ID. bug #1572665
3.0.8 - NSP feature, creating FC Vlun as match set instead of
        host sees. bug #1577993
3.0.9 - Handling HTTP conflict 409, host WWN/iSCSI name already used
        by another host, while creating 3PAR FC Host. bug #1597454
3.0.10 - Added Entry point tracing
3.0.11 - Handle manage and unmanage hosts present. bug #1648067
3.0.12 - Adds consistency group capability in generic volume groups.
4.0.0 - Adds base class.
4.0.1 - Added check to remove FC zones. bug #1730720
4.0.2 - Create one vlun in single path configuration. bug #1727176
4.0.3 - Create FC vlun as host sees. bug #1734505
4.0.4 - Handle force detach case. bug #1686745
4.0.5 - Set proper backend on subsequent operation, after group
        failover. bug #1773069
4.0.6 - Set NSP for single path attachments. Bug #1809249
4.0.7 - Added Peer Persistence feature

HPE3PARISCSIDriver

Driver configuration options

Name = Default Value

(Type) Description

hpe3par_api_url =

(String) WSAPI Server URL. This setting applies to both 3PAR and Primera. Example 1: for 3PAR, URL is: https://<3par ip>:8080/api/v1 Example 2: for Primera, URL is: https://<primera ip>:443/api/v1

hpe3par_cpg = [‘OpenStack’]

(List of String) List of the 3PAR / Primera CPG(s) to use for volume creation

hpe3par_cpg_snap =

(String) The 3PAR / Primera CPG to use for snapshots of volumes. If empty the userCPG will be used.

hpe3par_debug = False

(Boolean) Enable HTTP debugging to 3PAR / Primera

hpe3par_iscsi_chap_enabled = False

(Boolean) Enable CHAP authentication for iSCSI connections.

hpe3par_iscsi_ips = []

(List of String) List of target iSCSI addresses to use.

hpe3par_password =

(String) 3PAR / Primera password for the user specified in hpe3par_username

hpe3par_snapshot_expiration =

(String) The time in hours when a snapshot expires and is deleted. This must be larger than expiration

hpe3par_snapshot_retention =

(String) The time in hours to retain a snapshot. You can’t delete it before this expires.

hpe3par_target_nsp =

(String) The nsp of 3PAR backend to be used when: (1) multipath is not enabled in cinder.conf. (2) Fiber Channel Zone Manager is not used. (3) the 3PAR backend is prezoned with this specific nsp only. For example if nsp is 2 1 2, the format of the option’s value is 2:1:2

hpe3par_username =

(String) 3PAR / Primera username with the ‘edit’ role

max_over_subscription_ratio = 20.0

(String(regex=’^(auto|\d*.\d+|\d+)$’)) Representation of the over subscription ratio when thin provisioning is enabled. 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. If ratio is ‘auto’, Cinder will automatically calculate the ratio based on the provisioned capacity and the used space. If not set to auto, the ratio has to be a minimum of 1.0.

replication_device = None

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

reserved_percentage = 0

(Integer(min=0, max=100)) The percentage of backend capacity is reserved

san_ip =

(String) IP address of SAN controller

san_login = admin

(String) Username for SAN controller

san_password =

(String) Password for SAN controller

san_private_key =

(String) Filename of private key to use for SSH authentication

san_ssh_port = 22

(Port(min=0, max=65535)) SSH port to use with SAN

ssh_conn_timeout = 30

(Integer) SSH connection timeout in seconds

target_ip_address = $my_ip

(String) The IP address that the iSCSI daemon is listening on

target_port = 3260

(Port(min=0, max=65535)) The port that the iSCSI daemon is listening on

unique_fqdn_network = True

(Boolean) 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 3PAR using the FQDN, when false it will use the reversed IQN/WWNN.

  • Description: OpenStack iSCSI driver to enable 3PAR storage array.

Version history:

1.0   - Initial driver
1.1   - QoS, extend volume, multiple iscsi ports, remove domain,
        session changes, faster clone, requires 3.1.2 MU2 firmware.
1.2.0 - Updated the use of the hp3parclient to 2.0.0 and refactored
        the drivers to use the new APIs.
1.2.1 - Synchronized extend_volume method.
1.2.2 - Added try/finally around client login/logout.
1.2.3 - log exceptions before raising
1.2.4 - Fixed iSCSI active path bug #1224594
1.2.5 - Added metadata during attach/detach bug #1258033
1.2.6 - Use least-used iscsi n:s:p for iscsi volume attach bug #1269515
        This update now requires 3.1.2 MU3 firmware
1.3.0 - Removed all SSH code.  We rely on the hp3parclient now.
2.0.0 - Update hp3parclient API uses 3.0.x
2.0.2 - Add back-end assisted volume migrate
2.0.3 - Added support for managing/unmanaging of volumes
2.0.4 - Added support for volume retype
2.0.5 - Added CHAP support, requires 3.1.3 MU1 firmware
        and hp3parclient 3.1.0.
2.0.6 - Fixing missing login/logout around attach/detach bug #1367429
2.0.7 - Add support for pools with model update
2.0.8 - Migrate without losing type settings bug #1356608
2.0.9 - Removing locks bug #1381190
2.0.10 - Add call to queryHost instead SSH based findHost #1398206
2.0.11 - Added missing host name during attach fix #1398206
2.0.12 - Removed usage of host name cache #1398914
2.0.13 - Update LOG usage to fix translations.  bug #1384312
2.0.14 - Do not allow a different iSCSI IP (hp3par_iscsi_ips) to be
         used during live-migration.  bug #1423958
2.0.15 - Added support for updated detach_volume attachment.
2.0.16 - Added encrypted property to initialize_connection #1439917
2.0.17 - Python 3 fixes
2.0.18 - Improved VLUN creation and deletion logic. #1469816
2.0.19 - Changed initialize_connection to use getHostVLUNs. #1475064
2.0.20 - Adding changes to support 3PAR iSCSI multipath.
2.0.21 - Adds consistency group support
2.0.22 - Update driver to use ABC metaclasses
2.0.23 - Added update_migrated_volume. bug # 1492023
3.0.0 - Rebranded HP to HPE.
3.0.1 - Python 3 support
3.0.2 - Remove db access for consistency groups
3.0.3 - Fix multipath dictionary key error. bug #1522062
3.0.4 - Adds v2 managed replication support
3.0.5 - Adds v2 unmanaged replication support
3.0.6 - Adding manage/unmanage snapshot support
3.0.7 - Optimize array ID retrieval
3.0.8 - Update replication to version 2.1
3.0.9 - Use same LUN ID for each VLUN path #1551994
3.0.10 - Remove metadata that tracks the instance ID. bug #1572665
3.0.11 - _create_3par_iscsi_host() now accepts iscsi_iqn as list only.
         Bug #1590180
3.0.12 - Added entry point tracing
3.0.13 - Handling HTTP conflict 409, host WWN/iSCSI name already used
        by another host, while creating 3PAR iSCSI Host. bug #1642945
3.0.14 - Handle manage and unmanage hosts present. bug #1648067
3.0.15 - Adds consistency group capability in generic volume groups.
3.0.16 - Get host from os-brick connector. bug #1690244
4.0.0 - Adds base class.
4.0.1 - Update CHAP on host record when volume is migrated
        to new compute host. bug # 1737181
4.0.2 - Handle force detach case. bug #1686745
4.0.3 - Set proper backend on subsequent operation, after group
        failover. bug #1773069
4.0.4 - Added Peer Persistence feature
4.0.5 - Added Primera array check. bug #1849525
4.0.6 - Allow iSCSI support for Primera 4.2 onwards

HPMSAFCDriver

Driver configuration options

Name = Default Value

(Type) Description

hpmsa_api_protocol = https

(String(choices=[‘http’, ‘https’])) HPMSA API interface protocol.

hpmsa_pool_name = A

(String) Pool or Vdisk name to use for volume creation.

hpmsa_pool_type = virtual

(String(choices=[‘linear’, ‘virtual’])) linear (for Vdisk) or virtual (for Pool).

hpmsa_verify_certificate = False

(Boolean) Whether to verify HPMSA array SSL certificate.

hpmsa_verify_certificate_path = None

(String) HPMSA array SSL certificate path.

  • Description: OpenStack Fibre Channel cinder drivers for HPMSA arrays.

Version history:
    1.0    - Inheriting from DotHill cinder drivers.
    1.6    - Add management path redundancy and reduce load placed
             on management controller.
    2.0    - DotHill driver renamed to Seagate (STX)

HPMSAISCSIDriver

Driver configuration options

Name = Default Value

(Type) Description

hpmsa_api_protocol = https

(String(choices=[‘http’, ‘https’])) HPMSA API interface protocol.

hpmsa_iscsi_ips = []

(List of String) List of comma-separated target iSCSI IP addresses.

hpmsa_pool_name = A

(String) Pool or Vdisk name to use for volume creation.

hpmsa_pool_type = virtual

(String(choices=[‘linear’, ‘virtual’])) linear (for Vdisk) or virtual (for Pool).

hpmsa_verify_certificate = False

(Boolean) Whether to verify HPMSA array SSL certificate.

hpmsa_verify_certificate_path = None

(String) HPMSA array SSL certificate path.

  • Description: OpenStack iSCSI cinder drivers for HPMSA arrays.

Version history:
    1.0    - Inheriting from DotHill cinder drivers.
    1.6    - Add management path redundancy and reduce load placed
             on management controller.
    2.0    - DotHill driver renamed to Seagate (STX)

HedvigISCSIDriver

Version history:

   1.0 - Initial driver

HuaweiFCDriver

Driver configuration options

Name = Default Value

(Type) Description

cinder_huawei_conf_file = /etc/cinder/cinder_huawei_conf.xml

(String) The configuration file for the Cinder Huawei driver.

hypermetro_devices = None

(String) The remote device hypermetro will use.

metro_domain_name = None

(String) The remote metro device domain name.

metro_san_address = None

(String) The remote metro device request url.

metro_san_password = None

(String) The remote metro device san password.

metro_san_user = None

(String) The remote metro device san user.

metro_storage_pools = None

(String) The remote metro device pool names.

  • Description: FC driver for Huawei OceanStor storage arrays.

Version history:

1.0.0 - Initial driver
1.1.0 - Provide Huawei OceanStor 18000 storage volume driver
1.1.1 - Code refactor
        Multiple pools support
        SmartX support
        Volume migration support
        Volume retype support
        FC zone enhancement
        Volume hypermetro support
2.0.0 - Rename to HuaweiFCDriver
2.0.1 - Manage/unmanage volume support
2.0.2 - Refactor HuaweiFCDriver
2.0.3 - Manage/unmanage snapshot support
2.0.4 - Balanced FC port selection
2.0.5 - Replication V2 support
2.0.7 - Hypermetro support
        Hypermetro consistency group support
        Consistency group support
        Cgsnapshot support
2.0.8 - Backup snapshot optimal path support
2.0.9 - Support reporting disk type of pool

HuaweiISCSIDriver

Driver configuration options

Name = Default Value

(Type) Description

cinder_huawei_conf_file = /etc/cinder/cinder_huawei_conf.xml

(String) The configuration file for the Cinder Huawei driver.

hypermetro_devices = None

(String) The remote device hypermetro will use.

metro_domain_name = None

(String) The remote metro device domain name.

metro_san_address = None

(String) The remote metro device request url.

metro_san_password = None

(String) The remote metro device san password.

metro_san_user = None

(String) The remote metro device san user.

metro_storage_pools = None

(String) The remote metro device pool names.

  • Description: ISCSI driver for Huawei storage arrays.

Version history:

1.0.0 - Initial driver
1.1.0 - Provide Huawei OceanStor storage 18000 driver
1.1.1 - Code refactor
        CHAP support
        Multiple pools support
        ISCSI multipath support
        SmartX support
        Volume migration support
        Volume retype support
2.0.0 - Rename to HuaweiISCSIDriver
2.0.1 - Manage/unmanage volume support
2.0.2 - Refactor HuaweiISCSIDriver
2.0.3 - Manage/unmanage snapshot support
2.0.5 - Replication V2 support
2.0.6 - Support iSCSI configuration in Replication
2.0.7 - Hypermetro support
        Hypermetro consistency group support
        Consistency group support
        Cgsnapshot support
2.0.8 - Backup snapshot optimal path support
2.0.9 - Support reporting disk type of pool

IBMStorageDriver

Driver configuration options

Name = Default Value

(Type) Description

chap = disabled

(String(choices=[‘disabled’, ‘enabled’])) CHAP authentication mode, effective only for iscsi (disabled|enabled)

connection_type = iscsi

(String(choices=[‘fibre_channel’, ‘iscsi’])) Connection type to the IBM Storage Array

management_ips =

(String) List of Management IP addresses (separated by commas)

proxy = cinder.volume.drivers.ibm.ibm_storage.proxy.IBMStorageProxy

(String) Proxy driver that connects to the IBM Storage Array

  • Description: IBM Storage driver

IBM Storage driver is a unified Volume driver for IBM XIV, Spectrum Accelerate, FlashSystem A9000, FlashSystem A9000R and DS8000 storage systems.

Version history:

2.0 - First open source driver version
2.1.0 - Support Consistency groups through Generic volume groups
      - Support XIV/A9000 Volume independent QoS
      - Support Consistency groups replication
2.3.0 - Support Report backend state

InStorageMCSFCDriver

Driver configuration options

Name = Default Value

(Type) Description

instorage_mcs_allow_tenant_qos = False

(Boolean) Allow tenants to specify QOS on create

instorage_mcs_localcopy_rate = 50

(Integer(min=1, max=100)) Specifies the InStorage LocalCopy copy rate to be used when creating a full volume copy. The default rate is 50, and the valid rates are 1-100.

instorage_mcs_localcopy_timeout = 120

(Integer(min=1, max=600)) Maximum number of seconds to wait for LocalCopy to be prepared.

instorage_mcs_vol_autoexpand = True

(Boolean) Storage system autoexpand parameter for volumes (True/False)

instorage_mcs_vol_compression = False

(Boolean) Storage system compression option for volumes

instorage_mcs_vol_grainsize = 256

(Integer(min=32, max=256)) Storage system grain size parameter for volumes (32/64/128/256)

instorage_mcs_vol_intier = True

(Boolean) Enable InTier for volumes

instorage_mcs_vol_iogrp = 0

(String) 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.

instorage_mcs_vol_rsize = 2

(Integer(min=-1, max=100)) Storage system space-efficiency parameter for volumes (percentage)

instorage_mcs_vol_warning = 0

(Integer(min=-1, max=100)) Storage system threshold for volume capacity warnings (percentage)

instorage_mcs_volpool_name = [‘volpool’]

(List of String) Comma separated list of storage system storage pools for volumes.

instorage_san_secondary_ip = None

(String) Specifies secondary management IP or hostname to be used if san_ip is invalid or becomes inaccessible.

  • Description: INSPUR InStorage MCS FC volume driver.

Version history:

1.0 - Initial driver

InStorageMCSISCSIDriver

Driver configuration options

Name = Default Value

(Type) Description

instorage_mcs_allow_tenant_qos = False

(Boolean) Allow tenants to specify QOS on create

instorage_mcs_localcopy_rate = 50

(Integer(min=1, max=100)) Specifies the InStorage LocalCopy copy rate to be used when creating a full volume copy. The default rate is 50, and the valid rates are 1-100.

instorage_mcs_localcopy_timeout = 120

(Integer(min=1, max=600)) Maximum number of seconds to wait for LocalCopy to be prepared.

instorage_mcs_vol_autoexpand = True

(Boolean) Storage system autoexpand parameter for volumes (True/False)

instorage_mcs_vol_compression = False

(Boolean) Storage system compression option for volumes

instorage_mcs_vol_grainsize = 256

(Integer(min=32, max=256)) Storage system grain size parameter for volumes (32/64/128/256)

instorage_mcs_vol_intier = True

(Boolean) Enable InTier for volumes

instorage_mcs_vol_iogrp = 0

(String) 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.

instorage_mcs_vol_rsize = 2

(Integer(min=-1, max=100)) Storage system space-efficiency parameter for volumes (percentage)

instorage_mcs_vol_warning = 0

(Integer(min=-1, max=100)) Storage system threshold for volume capacity warnings (percentage)

instorage_mcs_volpool_name = [‘volpool’]

(List of String) Comma separated list of storage system storage pools for volumes.

instorage_san_secondary_ip = None

(String) Specifies secondary management IP or hostname to be used if san_ip is invalid or becomes inaccessible.

  • Description: Inspur InStorage iSCSI volume driver.

Version history:

1.0 - Initial driver

InfiniboxVolumeDriver

Driver configuration options

Name = Default Value

(Type) Description

chap_password =

(String) Password for specified CHAP account name.

chap_username =

(String) CHAP user name.

enforce_multipath_for_image_xfer = False

(Boolean) 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. This parameter needs to be configured for each backend section or in [backend_defaults] section as a common configuration for all backends.

infinidat_iscsi_netspaces = []

(List of String) List of names of network spaces to use for iSCSI connectivity

infinidat_pool_name = None

(String) Name of the pool from which volumes are allocated

infinidat_storage_protocol = fc

(String(choices=[‘iscsi’, ‘fc’])) Protocol for transferring data between host and storage back-end.

infinidat_use_compression = False

(Boolean) Specifies whether to turn on compression for newly created volumes.

max_over_subscription_ratio = 20.0

(String(regex=’^(auto|\d*.\d+|\d+)$’)) Representation of the over subscription ratio when thin provisioning is enabled. 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. If ratio is ‘auto’, Cinder will automatically calculate the ratio based on the provisioned capacity and the used space. If not set to auto, the ratio has to be a minimum of 1.0.

num_volume_device_scan_tries = 3

(Integer) The maximum number of times to rescan targets to find volume

san_ip =

(String) IP address of SAN controller

san_login = admin

(String) Username for SAN controller

san_password =

(String) Password for SAN controller

san_thin_provision = True

(Boolean) Use thin provisioning for SAN volumes?

use_chap_auth = False

(Boolean) Option to enable/disable CHAP authentication for targets.

use_multipath_for_image_xfer = False

(Boolean) Do we attach/detach volumes in cinder using multipath for volume to image and image to volume transfers? This parameter needs to be configured for each backend section or in [backend_defaults] section as a common configuration for all backends.

volume_dd_blocksize = 1M

(String) The default block size used when copying/clearing volumes

  • Description: INFINIDAT InfiniBox Cinder driver.

Version history:

1.0 - initial release
1.1 - switched to use infinisdk package
1.2 - added support for iSCSI protocol
1.3 - added generic volume groups support
1.4 - added support for QoS
1.5 - added support for volume compression
1.6 - added support for volume multi-attach

InfortrendCLIFCDriver

Driver configuration options

Name = Default Value

(Type) Description

infortrend_cli_cache = False

(Boolean) The Infortrend CLI cache. While set True, the RAID status report will use cache stored in the CLI. Never enable this unless the RAID is managed only by Openstack and only by one infortrend cinder-volume backend. Otherwise, CLI might report out-dated status to cinder and thus there might be some race condition among all backend/CLIs.

infortrend_cli_max_retries = 5

(Integer) The maximum retry times if a command fails.

infortrend_cli_path = /opt/bin/Infortrend/raidcmd_ESDS10.jar

(String) The Infortrend CLI absolute path.

infortrend_cli_timeout = 60

(Integer) The timeout for CLI in seconds.

infortrend_iqn_prefix = iqn.2002-10.com.infortrend

(String) Infortrend iqn prefix for iSCSI.

infortrend_pools_name =

(List of String) The Infortrend logical volumes name list. It is separated with comma.

infortrend_slots_a_channels_id =

(List of String) Infortrend raid channel ID list on Slot A for OpenStack usage. It is separated with comma.

infortrend_slots_b_channels_id =

(List of String) Infortrend raid channel ID list on Slot B for OpenStack usage. It is separated with comma.

java_path = /usr/bin/java

(String) The Java absolute path.

  • Description: <None>

InfortrendCLIISCSIDriver

Driver configuration options

Name = Default Value

(Type) Description

infortrend_cli_cache = False

(Boolean) The Infortrend CLI cache. While set True, the RAID status report will use cache stored in the CLI. Never enable this unless the RAID is managed only by Openstack and only by one infortrend cinder-volume backend. Otherwise, CLI might report out-dated status to cinder and thus there might be some race condition among all backend/CLIs.

infortrend_cli_max_retries = 5

(Integer) The maximum retry times if a command fails.

infortrend_cli_path = /opt/bin/Infortrend/raidcmd_ESDS10.jar

(String) The Infortrend CLI absolute path.

infortrend_cli_timeout = 60

(Integer) The timeout for CLI in seconds.

infortrend_iqn_prefix = iqn.2002-10.com.infortrend

(String) Infortrend iqn prefix for iSCSI.

infortrend_pools_name =

(List of String) The Infortrend logical volumes name list. It is separated with comma.

infortrend_slots_a_channels_id =

(List of String) Infortrend raid channel ID list on Slot A for OpenStack usage. It is separated with comma.

infortrend_slots_b_channels_id =

(List of String) Infortrend raid channel ID list on Slot B for OpenStack usage. It is separated with comma.

java_path = /usr/bin/java

(String) The Java absolute path.

  • Description: <None>

KaminarioISCSIDriver

Driver configuration options

Name = Default Value

(Type) Description

auto_calc_max_oversubscription_ratio = False

(Boolean) K2 driver will calculate max_oversubscription_ratio on setting this option as True.

disable_discovery = False

(Boolean) Disabling iSCSI discovery (sendtargets) for multipath connections on K2 driver.

replication_device = None

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

san_ip =

(String) IP address of SAN controller

san_login = admin

(String) Username for SAN controller

san_password =

(String) Password for SAN controller

unique_fqdn_network = True

(Boolean) 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 3PAR using the FQDN, when false it will use the reversed IQN/WWNN.

volume_dd_blocksize = 1M

(String) The default block size used when copying/clearing volumes

  • Description: Kaminario K2 iSCSI Volume Driver.

Version history:

   1.0 - Initial driver
   1.1 - Added manage/unmanage and extra-specs support for nodedup
   1.2 - Added replication support
   1.3 - Added retype support
   1.4 - Added replication failback support

LVMVolumeDriver

  • Version: 3.0.0

  • volume_driver=cinder.volume.drivers.lvm.LVMVolumeDriver

  • Driver Configuration Options:

Driver configuration options

Name = Default Value

(Type) Description

iet_conf = /etc/iet/ietd.conf

(String) DEPRECATED: IET configuration file

iscsi_iotype = fileio

(String(choices=[‘blockio’, ‘fileio’, ‘auto’])) 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

iscsi_secondary_ip_addresses = []

(List of String) The list of secondary IP addresses of the iSCSI daemon

iscsi_target_flags =

(String) 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.

iscsi_write_cache = on

(String(choices=[‘on’, ‘off’])) Sets the behavior of the iSCSI target to either perform write-back(on) or write-through(off). This parameter is valid if target_helper is set to tgtadm.

lvm_conf_file = /etc/cinder/lvm.conf

(String) 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).

lvm_mirrors = 0

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

lvm_suppress_fd_warnings = False

(Boolean) Suppress leaked file descriptor warnings in LVM commands.

lvm_type = auto

(String(choices=[‘default’, ‘thin’, ‘auto’])) Type of LVM volumes to deploy; (default, thin, or auto). Auto defaults to thin if thin is supported.

max_over_subscription_ratio = 20.0

(String(regex=’^(auto|\d*.\d+|\d+)$’)) Representation of the over subscription ratio when thin provisioning is enabled. 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. If ratio is ‘auto’, Cinder will automatically calculate the ratio based on the provisioned capacity and the used space. If not set to auto, the ratio has to be a minimum of 1.0.

nvmet_port_id = 1

(Port(min=0, max=65535)) The port that the NVMe target is listening on.

reserved_percentage = 0

(Integer(min=0, max=100)) The percentage of backend capacity is reserved

scst_target_driver = iscsi

(String) SCST target implementation can choose from multiple SCST target drivers.

scst_target_iqn_name = None

(String) Certain ISCSI targets have predefined target names, SCST target driver uses this name.

spdk_max_queue_depth = 64

(Integer(min=1, max=128)) Queue depth for rdma transport.

spdk_rpc_ip = None

(String) The NVMe target remote configuration IP address.

spdk_rpc_password = None

(String) The NVMe target remote configuration password.

spdk_rpc_port = 8000

(Port(min=0, max=65535)) The NVMe target remote configuration port.

spdk_rpc_username = None

(String) The NVMe target remote configuration username.

target_helper = tgtadm

(String(choices=[‘tgtadm’, ‘lioadm’, ‘scstadmin’, ‘iscsictl’, ‘ietadm’, ‘nvmet’, ‘spdk-nvmeof’, ‘fake’])) 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, nvmet for NVMEoF support, spdk-nvmeof for SPDK NVMe-oF, or fake for testing. Note: The IET driver is deprecated and will be removed in the V release.

target_ip_address = $my_ip

(String) The IP address that the iSCSI daemon is listening on

target_port = 3260

(Port(min=0, max=65535)) The port that the iSCSI daemon is listening on

target_prefix = iqn.2010-10.org.openstack:

(String) Prefix for iSCSI volumes

target_protocol = iscsi

(String(choices=[‘iscsi’, ‘iser’, ‘nvmet_rdma’])) Determines the target protocol for new volumes, created with tgtadm, lioadm and nvmet 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”, in case of nvmet target set to “nvmet_rdma”.

volume_clear = zero

(String(choices=[‘none’, ‘zero’])) Method used to wipe old volumes

volume_clear_size = 0

(Integer(max=1024)) Size in MiB to wipe at start of old volumes. 1024 MiB at max. 0 => all

volume_dd_blocksize = 1M

(String) The default block size used when copying/clearing volumes

volume_group = cinder-volumes

(String) Name for the VG that will contain exported volumes

volumes_dir = $state_path/volumes

(String) Volume configuration file storage directory

  • Description: Executes commands relating to Volumes.

LenovoFCDriver

Driver configuration options

Name = Default Value

(Type) Description

lenovo_api_protocol = https

(String(choices=[‘http’, ‘https’])) Lenovo api interface protocol.

lenovo_pool_name = A

(String) Pool or Vdisk name to use for volume creation.

lenovo_pool_type = virtual

(String(choices=[‘linear’, ‘virtual’])) linear (for VDisk) or virtual (for Pool).

lenovo_verify_certificate = False

(Boolean) Whether to verify Lenovo array SSL certificate.

lenovo_verify_certificate_path = None

(String) Lenovo array SSL certificate path.

  • Description: OpenStack Fibre Channel cinder drivers for Lenovo Storage arrays.

Version history:
    1.0    - Inheriting from DotHill cinder drivers.
    1.6    - Add management path redundancy and reduce load placed
             on management controller.
    2.0    - DotHill driver renamed to Seagate (STX)

LenovoISCSIDriver

Driver configuration options

Name = Default Value

(Type) Description

lenovo_api_protocol = https

(String(choices=[‘http’, ‘https’])) Lenovo api interface protocol.

lenovo_iscsi_ips = []

(List of String) List of comma-separated target iSCSI IP addresses.

lenovo_pool_name = A

(String) Pool or Vdisk name to use for volume creation.

lenovo_pool_type = virtual

(String(choices=[‘linear’, ‘virtual’])) linear (for VDisk) or virtual (for Pool).

lenovo_verify_certificate = False

(Boolean) Whether to verify Lenovo array SSL certificate.

lenovo_verify_certificate_path = None

(String) Lenovo array SSL certificate path.

  • Description: OpenStack iSCSI cinder drivers for Lenovo Storage arrays.

Version history:
    1.0    - Inheriting from DotHill cinder drivers.
    1.6    - Add management path redundancy and reduce load placed
             on management controller.
    2.0    - DotHill driver renamed to Seagate (STX)

LinstorDrbdDriver

Driver configuration options

Name = Default Value

(Type) Description

linstor_autoplace_count = 0

(Integer) Autoplace replication count on volume deployment. 0 = Full cluster replication without autoplace, 1 = Single node deployment without replication, 2 or greater = Replicated deployment with autoplace.

linstor_controller_diskless = True

(Boolean) True means Cinder node is a diskless LINSTOR node.

linstor_default_blocksize = 4096

(Integer) Default Block size for Image restoration. When using iSCSI transport, this option specifies the block size.

linstor_default_storage_pool_name = DfltStorPool

(String) Default Storage Pool name for LINSTOR.

linstor_default_uri = linstor://localhost

(String) Default storage URI for LINSTOR.

linstor_default_volume_group_name = drbd-vg

(String) Default Volume Group name for LINSTOR. Not Cinder Volume.

linstor_volume_downsize_factor = 4096

(Float) Default volume downscale size in KiB = 4 MiB.

  • Description: Cinder DRBD driver that uses LINSTOR for storage.

LinstorIscsiDriver

Driver configuration options

Name = Default Value

(Type) Description

linstor_autoplace_count = 0

(Integer) Autoplace replication count on volume deployment. 0 = Full cluster replication without autoplace, 1 = Single node deployment without replication, 2 or greater = Replicated deployment with autoplace.

linstor_controller_diskless = True

(Boolean) True means Cinder node is a diskless LINSTOR node.

linstor_default_blocksize = 4096

(Integer) Default Block size for Image restoration. When using iSCSI transport, this option specifies the block size.

linstor_default_storage_pool_name = DfltStorPool

(String) Default Storage Pool name for LINSTOR.

linstor_default_uri = linstor://localhost

(String) Default storage URI for LINSTOR.

linstor_default_volume_group_name = drbd-vg

(String) Default Volume Group name for LINSTOR. Not Cinder Volume.

linstor_volume_downsize_factor = 4096

(Float) Default volume downscale size in KiB = 4 MiB.

  • Description: Cinder iSCSI driver that uses LINSTOR for storage.

MStorageFCDriver

Driver configuration options

Name = Default Value

(Type) Description

nec_actual_free_capacity = False

(Boolean) Return actual free capacity.

nec_auto_accesscontrol = True

(Boolean) Configure access control automatically.

nec_backend_max_ld_count = 1024

(Integer) Maximum number of managing sessions.

nec_backup_ldname_format = LX:%s

(String) M-Series Storage LD name format for snapshots.

nec_backup_pools = []

(List of String) M-Series Storage backup pool number to be used.

nec_cv_ldname_format = LX:__ControlVolume_%xh

(String) M-Series Storage Control Volume name format.

nec_diskarray_name =

(String) Diskarray name of M-Series Storage.

nec_iscsi_portals_per_cont = 0

(Integer) Max number of iSCSI portals per controller. 0 => unlimited. This option is deprecated and may be removed in the next release.

nec_ismcli_fip = None

(IPAddress) FIP address of M-Series Storage iSMCLI.

nec_ismcli_password =

(String) Password for M-Series Storage iSMCLI.

nec_ismcli_privkey =

(String) Filename of RSA private key for M-Series Storage iSMCLI.

nec_ismcli_user =

(String) User name for M-Series Storage iSMCLI.

nec_ismview_alloptimize = False

(Boolean) Use legacy iSMCLI command with optimization.

nec_ismview_dir = /tmp/nec/cinder

(String) Output path of iSMview file.

nec_ldname_format = LX:%s

(String) M-Series Storage LD name format for volumes.

nec_ldset =

(String) M-Series Storage LD Set name for Compute Node.

nec_pools = []

(List of String) M-Series Storage pool numbers list to be used.

nec_queryconfig_view = False

(Boolean) Use legacy iSMCLI command.

nec_ssh_pool_port_number = 22

(Integer) Port number of ssh pool.

nec_unpairthread_timeout = 3600

(Integer) Timeout value of Unpairthread.

  • Description: M-Series Storage Snapshot FC Driver.

Version history:

  1.8.1 - First open source driver version.
  1.8.2 - Code refactoring.
  1.9.1 - Support optimal path for non-disruptive backup.
  1.9.2 - Support manage/unmanage and manage/unmanage snapshot.
          Delete an unused configuration
          parameter (ldset_controller_node_name).
          Fixed bug #1705001: driver fails to start.
  1.10.1 - Support automatic configuration of SAN access control.
           Fixed bug #1753375: SAN access remains permitted on the
           source node.
  1.10.2 - Delete max volumes per pool limit.
  1.10.3 - Add faster clone status check.
           Fixed bug #1777385: driver removed access permission from
           the destination node after live-migraion.
           Fixed bug #1778669: LUNs of detached volumes are never reused.
  1.11.1 - Add support python 3.
           Add support for multi-attach.
           Add support of more than 4 iSCSI portals for a node.
           Add support to revert a volume to a snapshot.
           Add support storage assist retype and fixed bug #1838955:
           a volume in NEC Storage was left undeleted when the volume
           was retyped to another storage.

MStorageISCSIDriver

Driver configuration options

Name = Default Value

(Type) Description

nec_actual_free_capacity = False

(Boolean) Return actual free capacity.

nec_auto_accesscontrol = True

(Boolean) Configure access control automatically.

nec_backend_max_ld_count = 1024

(Integer) Maximum number of managing sessions.

nec_backup_ldname_format = LX:%s

(String) M-Series Storage LD name format for snapshots.

nec_backup_pools = []

(List of String) M-Series Storage backup pool number to be used.

nec_cv_ldname_format = LX:__ControlVolume_%xh

(String) M-Series Storage Control Volume name format.

nec_diskarray_name =

(String) Diskarray name of M-Series Storage.

nec_iscsi_portals_per_cont = 0

(Integer) Max number of iSCSI portals per controller. 0 => unlimited. This option is deprecated and may be removed in the next release.

nec_ismcli_fip = None

(IPAddress) FIP address of M-Series Storage iSMCLI.

nec_ismcli_password =

(String) Password for M-Series Storage iSMCLI.

nec_ismcli_privkey =

(String) Filename of RSA private key for M-Series Storage iSMCLI.

nec_ismcli_user =

(String) User name for M-Series Storage iSMCLI.

nec_ismview_alloptimize = False

(Boolean) Use legacy iSMCLI command with optimization.

nec_ismview_dir = /tmp/nec/cinder

(String) Output path of iSMview file.

nec_ldname_format = LX:%s

(String) M-Series Storage LD name format for volumes.

nec_ldset =

(String) M-Series Storage LD Set name for Compute Node.

nec_pools = []

(List of String) M-Series Storage pool numbers list to be used.

nec_queryconfig_view = False

(Boolean) Use legacy iSMCLI command.

nec_ssh_pool_port_number = 22

(Integer) Port number of ssh pool.

nec_unpairthread_timeout = 3600

(Integer) Timeout value of Unpairthread.

  • Description: M-Series Storage Snapshot iSCSI Driver.

Version history:

  1.8.1 - First open source driver version.
  1.8.2 - Code refactoring.
  1.9.1 - Support optimal path for non-disruptive backup.
  1.9.2 - Support manage/unmanage and manage/unmanage snapshot.
          Delete an unused configuration
          parameter (ldset_controller_node_name).
          Fixed bug #1705001: driver fails to start.
  1.10.1 - Support automatic configuration of SAN access control.
           Fixed bug #1753375: SAN access remains permitted on the
           source node.
  1.10.2 - Delete max volumes per pool limit.
  1.10.3 - Add faster clone status check.
           Fixed bug #1777385: driver removed access permission from
           the destination node after live-migraion.
           Fixed bug #1778669: LUNs of detached volumes are never reused.
  1.11.1 - Add support python 3.
           Add support for multi-attach.
           Add support of more than 4 iSCSI portals for a node.
           Add support to revert a volume to a snapshot.
           Add support storage assist retype and fixed bug #1838955:
           a volume in NEC Storage was left undeleted when the volume
           was retyped to another storage.

MacroSANFCDriver

Driver configuration options

Name = Default Value

(Type) Description

backend_availability_zone = None

(String) Availability zone for this volume backend. If not set, the storage_availability_zone option value is used as the default for all backends.

chap_password =

(String) Password for specified CHAP account name.

chap_username =

(String) CHAP user name.

chiscsi_conf = /etc/chelsio-iscsi/chiscsi.conf

(String) Chiscsi (CXT) global defaults configuration file

driver_client_cert = None

(String) The path to the client certificate for verification, if the driver supports it.

driver_client_cert_key = None

(String) The path to the client certificate key for verification, if the driver supports it.

driver_data_namespace = None

(String) Namespace for driver private data values to be saved in.

driver_ssl_cert_path = None

(String) 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

driver_ssl_cert_verify = False

(Boolean) If set to True the http client will validate the SSL certificate of the backend endpoint.

driver_use_ssl = False

(Boolean) Tell driver to use SSL for connection to backend storage if the driver supports it.

enable_unsupported_driver = False

(Boolean) 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.

filter_function = None

(String) 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.

goodness_function = None

(String) 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.

iet_conf = /etc/iet/ietd.conf

(String) DEPRECATED: IET configuration file

iscsi_iotype = fileio

(String(choices=[‘blockio’, ‘fileio’, ‘auto’])) 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

iscsi_secondary_ip_addresses = []

(List of String) The list of secondary IP addresses of the iSCSI daemon

iscsi_target_flags =

(String) 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.

iscsi_write_cache = on

(String(choices=[‘on’, ‘off’])) Sets the behavior of the iSCSI target to either perform write-back(on) or write-through(off). This parameter is valid if target_helper is set to tgtadm.

max_over_subscription_ratio = 20.0

(String(regex=’^(auto|\d*.\d+|\d+)$’)) Representation of the over subscription ratio when thin provisioning is enabled. 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. If ratio is ‘auto’, Cinder will automatically calculate the ratio based on the provisioned capacity and the used space. If not set to auto, the ratio has to be a minimum of 1.0.

num_shell_tries = 3

(Integer) Number of times to attempt to run flakey shell commands

num_volume_device_scan_tries = 3

(Integer) The maximum number of times to rescan targets to find volume

replication_device = None

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

report_discard_supported = False

(Boolean) 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.

reserved_percentage = 0

(Integer(min=0, max=100)) The percentage of backend capacity is reserved

storage_protocol = iscsi

(String(choices=[‘iscsi’, ‘fc’])) Protocol for transferring data between host and storage back-end.

target_helper = tgtadm

(String(choices=[‘tgtadm’, ‘lioadm’, ‘scstadmin’, ‘iscsictl’, ‘ietadm’, ‘nvmet’, ‘spdk-nvmeof’, ‘fake’])) 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, nvmet for NVMEoF support, spdk-nvmeof for SPDK NVMe-oF, or fake for testing. Note: The IET driver is deprecated and will be removed in the V release.

target_ip_address = $my_ip

(String) The IP address that the iSCSI daemon is listening on

target_port = 3260

(Port(min=0, max=65535)) The port that the iSCSI daemon is listening on

target_prefix = iqn.2010-10.org.openstack:

(String) Prefix for iSCSI volumes

target_protocol = iscsi

(String(choices=[‘iscsi’, ‘iser’, ‘nvmet_rdma’])) Determines the target protocol for new volumes, created with tgtadm, lioadm and nvmet 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”, in case of nvmet target set to “nvmet_rdma”.

trace_flags = None

(List of String) List of options that control which trace info is written to the DEBUG log level to assist developers. Valid values are method and api.

use_chap_auth = False

(Boolean) Option to enable/disable CHAP authentication for targets.

volume_backend_name = None

(String) The backend name for a given driver implementation

volume_clear = zero

(String(choices=[‘none’, ‘zero’])) Method used to wipe old volumes

volume_clear_ionice = None

(String) 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.

volume_clear_size = 0

(Integer(max=1024)) Size in MiB to wipe at start of old volumes. 1024 MiB at max. 0 => all

volume_copy_blkio_cgroup_name = cinder-volume-copy

(String) The blkio cgroup name to be used to limit bandwidth of volume copy

volume_copy_bps_limit = 0

(Integer) The upper limit of bandwidth of volume copy. 0 => unlimited

volume_dd_blocksize = 1M

(String) The default block size used when copying/clearing volumes

volumes_dir = $state_path/volumes

(String) Volume configuration file storage directory

  • Description: FC driver for MacroSan storage arrays.

Version history:

1.0.0 - Initial driver
1.0.1 - Adjust some log level and text prompts; Remove some useless
functions; Add Cinder trace decorator. #1837920

MacroSANISCSIDriver

Driver configuration options

Name = Default Value

(Type) Description

backend_availability_zone = None

(String) Availability zone for this volume backend. If not set, the storage_availability_zone option value is used as the default for all backends.

chap_password =

(String) Password for specified CHAP account name.

chap_username =

(String) CHAP user name.

chiscsi_conf = /etc/chelsio-iscsi/chiscsi.conf

(String) Chiscsi (CXT) global defaults configuration file

driver_client_cert = None

(String) The path to the client certificate for verification, if the driver supports it.

driver_client_cert_key = None

(String) The path to the client certificate key for verification, if the driver supports it.

driver_data_namespace = None

(String) Namespace for driver private data values to be saved in.

driver_ssl_cert_path = None

(String) 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

driver_ssl_cert_verify = False

(Boolean) If set to True the http client will validate the SSL certificate of the backend endpoint.

driver_use_ssl = False

(Boolean) Tell driver to use SSL for connection to backend storage if the driver supports it.

enable_unsupported_driver = False

(Boolean) 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.

filter_function = None

(String) 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.

goodness_function = None

(String) 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.

iet_conf = /etc/iet/ietd.conf

(String) DEPRECATED: IET configuration file

iscsi_iotype = fileio

(String(choices=[‘blockio’, ‘fileio’, ‘auto’])) 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

iscsi_secondary_ip_addresses = []

(List of String) The list of secondary IP addresses of the iSCSI daemon

iscsi_target_flags =

(String) 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.

iscsi_write_cache = on

(String(choices=[‘on’, ‘off’])) Sets the behavior of the iSCSI target to either perform write-back(on) or write-through(off). This parameter is valid if target_helper is set to tgtadm.

max_over_subscription_ratio = 20.0

(String(regex=’^(auto|\d*.\d+|\d+)$’)) Representation of the over subscription ratio when thin provisioning is enabled. 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. If ratio is ‘auto’, Cinder will automatically calculate the ratio based on the provisioned capacity and the used space. If not set to auto, the ratio has to be a minimum of 1.0.

num_shell_tries = 3

(Integer) Number of times to attempt to run flakey shell commands

num_volume_device_scan_tries = 3

(Integer) The maximum number of times to rescan targets to find volume

replication_device = None

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

report_discard_supported = False

(Boolean) 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.

reserved_percentage = 0

(Integer(min=0, max=100)) The percentage of backend capacity is reserved

storage_protocol = iscsi

(String(choices=[‘iscsi’, ‘fc’])) Protocol for transferring data between host and storage back-end.

target_helper = tgtadm

(String(choices=[‘tgtadm’, ‘lioadm’, ‘scstadmin’, ‘iscsictl’, ‘ietadm’, ‘nvmet’, ‘spdk-nvmeof’, ‘fake’])) 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, nvmet for NVMEoF support, spdk-nvmeof for SPDK NVMe-oF, or fake for testing. Note: The IET driver is deprecated and will be removed in the V release.

target_ip_address = $my_ip

(String) The IP address that the iSCSI daemon is listening on

target_port = 3260

(Port(min=0, max=65535)) The port that the iSCSI daemon is listening on

target_prefix = iqn.2010-10.org.openstack:

(String) Prefix for iSCSI volumes

target_protocol = iscsi

(String(choices=[‘iscsi’, ‘iser’, ‘nvmet_rdma’])) Determines the target protocol for new volumes, created with tgtadm, lioadm and nvmet 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”, in case of nvmet target set to “nvmet_rdma”.

trace_flags = None

(List of String) List of options that control which trace info is written to the DEBUG log level to assist developers. Valid values are method and api.

use_chap_auth = False

(Boolean) Option to enable/disable CHAP authentication for targets.

volume_backend_name = None

(String) The backend name for a given driver implementation

volume_clear = zero

(String(choices=[‘none’, ‘zero’])) Method used to wipe old volumes

volume_clear_ionice = None

(String) 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.

volume_clear_size = 0

(Integer(max=1024)) Size in MiB to wipe at start of old volumes. 1024 MiB at max. 0 => all

volume_copy_blkio_cgroup_name = cinder-volume-copy

(String) The blkio cgroup name to be used to limit bandwidth of volume copy

volume_copy_bps_limit = 0

(Integer) The upper limit of bandwidth of volume copy. 0 => unlimited

volume_dd_blocksize = 1M

(String) The default block size used when copying/clearing volumes

volumes_dir = $state_path/volumes

(String) Volume configuration file storage directory

  • Description: ISCSI driver for MacroSan storage arrays.

Version history:

1.0.0 - Initial driver
1.0.1 - Adjust some log level and text prompts; Remove some useless
functions; Add Cinder trace decorator. #1837920

NetAppCmodeFibreChannelDriver

Driver configuration options

Name = Default Value

(Type) Description

netapp_vserver = None

(String) This option specifies the virtual storage server (Vserver) name on the storage cluster on which provisioning of block storage volumes should occur.

  • Description: NetApp C-mode FibreChannel volume driver.

NetAppCmodeISCSIDriver

Driver configuration options

Name = Default Value

(Type) Description

netapp_vserver = None

(String) This option specifies the virtual storage server (Vserver) name on the storage cluster on which provisioning of block storage volumes should occur.

  • Description: NetApp C-mode iSCSI volume driver.

NetAppCmodeNfsDriver

Driver configuration options

Name = Default Value

(Type) Description

nas_host =

(String) IP address or Hostname of NAS system.

nas_login = admin

(String) User name to connect to NAS system.

nas_mount_options = None

(String) Options used to mount the storage backend file system where Cinder volumes are stored.

nas_password =

(String) Password to connect to NAS system.

nas_private_key =

(String) Filename of private key to use for SSH authentication.

nas_secure_file_operations = auto

(String) 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.

nas_secure_file_permissions = auto

(String) 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.

nas_share_path =

(String) 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 .

nas_ssh_port = 22

(Port(min=0, max=65535)) SSH port to use to connect to NAS system.

nfs_mount_attempts = 3

(Integer) 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.

nfs_mount_options = None

(String) Mount options passed to the NFS client. See the NFS(5) man page for details.

nfs_mount_point_base = $state_path/mnt

(String) Base dir containing mount points for NFS shares.

nfs_qcow2_volumes = False

(Boolean) Create volumes as QCOW2 files rather than raw files.

nfs_shares_config = /etc/cinder/nfs_shares

(String) File with the list of available NFS shares.

nfs_snapshot_support = False

(Boolean) Enable support for snapshots on the NFS driver. Platforms using libvirt <1.2.7 will encounter issues with this feature.

nfs_sparsed_volumes = True

(Boolean) 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.

  • Description: NetApp NFS driver for Data ONTAP (Cluster-mode).

NexentaISCSIDriver

Driver configuration options

Name = Default Value

(Type) Description

nexenta_blocksize = 4096

(Integer) Block size for datasets

nexenta_dataset_compression = on

(String(choices=[‘on’, ‘off’, ‘gzip’, ‘gzip-1’, ‘gzip-2’, ‘gzip-3’, ‘gzip-4’, ‘gzip-5’, ‘gzip-6’, ‘gzip-7’, ‘gzip-8’, ‘gzip-9’, ‘lzjb’, ‘zle’, ‘lz4’])) Compression value for new ZFS folders.

nexenta_dataset_dedup = off

(String(choices=[‘on’, ‘off’, ‘sha256’, ‘verify’, ‘sha256, verify’])) Deduplication value for new ZFS folders.

nexenta_dataset_description =

(String) Human-readable description for the folder.

nexenta_folder =

(String) A folder where cinder created datasets will reside.

nexenta_group_snapshot_template = group-snapshot-%s

(String) Template string to generate group snapshot name

nexenta_host =

(String) IP address of NexentaStor Appliance

nexenta_host_group_prefix = cinder

(String) Prefix for iSCSI host groups on NexentaStor

nexenta_iscsi_target_host_group = all

(String) Group of hosts which are allowed to access volumes

nexenta_iscsi_target_portal_groups =

(String) NexentaStor target portal groups

nexenta_iscsi_target_portal_port = 3260

(Integer) Nexenta appliance iSCSI target portal port

nexenta_iscsi_target_portals =

(String) Comma separated list of portals for NexentaStor5, in format of IP1:port1,IP2:port2. Port is optional, default=3260. Example: 10.10.10.1:3267,10.10.1.2

nexenta_lu_writebackcache_disabled = False

(Boolean) Postponed write to backing store or not

nexenta_luns_per_target = 100

(Integer) Amount of LUNs per iSCSI target

nexenta_ns5_blocksize = 32

(Integer) Block size for datasets

nexenta_origin_snapshot_template = origin-snapshot-%s

(String) Template string to generate origin name of clone

nexenta_password = nexenta

(String) Password to connect to NexentaStor management REST API server

nexenta_rest_address =

(String) IP address of NexentaStor management REST API endpoint

nexenta_rest_backoff_factor = 0.5

(Float) Specifies the backoff factor to apply between connection attempts to NexentaStor management REST API server

nexenta_rest_connect_timeout = 30

(Float) Specifies the time limit (in seconds), within which the connection to NexentaStor management REST API server must be established

nexenta_rest_port = 0

(Integer) HTTP(S) port to connect to NexentaStor management REST API server. If it is equal zero, 8443 for HTTPS and 8080 for HTTP is used

nexenta_rest_protocol = auto

(String(choices=[‘http’, ‘https’, ‘auto’])) Use http or https for NexentaStor management REST API connection (default auto)

nexenta_rest_read_timeout = 300

(Float) Specifies the time limit (in seconds), within which NexentaStor management REST API server must send a response

nexenta_rest_retry_count = 3

(Integer) Specifies the number of times to repeat NexentaStor management REST API call in case of connection errors and NexentaStor appliance EBUSY or ENOENT errors

nexenta_rrmgr_compression = 0

(Integer) Enable stream compression, level 1..9. 1 - gives best speed; 9 - gives best compression.

nexenta_rrmgr_connections = 2

(Integer) Number of TCP connections.

nexenta_rrmgr_tcp_buf_size = 4096

(Integer) TCP Buffer size in KiloBytes.

nexenta_sparse = False

(Boolean) Enables or disables the creation of sparse datasets

nexenta_target_group_prefix = cinder

(String) Prefix for iSCSI target groups on NexentaStor

nexenta_target_prefix = iqn.1986-03.com.sun:02:cinder

(String) iqn prefix for NexentaStor iSCSI targets

nexenta_use_https = True

(Boolean) Use HTTP secure protocol for NexentaStor management REST API connections

nexenta_user = admin

(String) User name to connect to NexentaStor management REST API server

nexenta_volume = cinder

(String) NexentaStor pool name that holds all volumes

nexenta_volume_group = iscsi

(String) Volume group for NexentaStor5 iSCSI

  • Description: Executes volume driver commands on Nexenta Appliance.

Version history:

1.0.0 - Initial driver version.
1.0.1 - Fixed bug #1236626: catch "does not exist" exception of
        lu_exists.
1.1.0 - Changed class name to NexentaISCSIDriver.
1.1.1 - Ignore "does not exist" exception of nms.snapshot.destroy.
1.1.2 - Optimized create_cloned_volume, replaced zfs send recv with zfs
        clone.
1.1.3 - Extended volume stats provided by _update_volume_stats method.
1.2.0 - Added volume migration with storage assist method.
1.2.1 - Fixed bug #1263258: now migrate_volume update provider_location
        of migrated volume; after migrating volume migrate_volume
        destroy snapshot on migration destination.
1.3.0 - Added retype method.
1.3.0.1 - Target creation refactor.
1.3.1 - Added ZFS cleanup.

NexentaISCSIDriver

Driver configuration options

Name = Default Value

(Type) Description

nexenta_blocksize = 4096

(Integer) Block size for datasets

nexenta_dataset_compression = on

(String(choices=[‘on’, ‘off’, ‘gzip’, ‘gzip-1’, ‘gzip-2’, ‘gzip-3’, ‘gzip-4’, ‘gzip-5’, ‘gzip-6’, ‘gzip-7’, ‘gzip-8’, ‘gzip-9’, ‘lzjb’, ‘zle’, ‘lz4’])) Compression value for new ZFS folders.

nexenta_dataset_dedup = off

(String(choices=[‘on’, ‘off’, ‘sha256’, ‘verify’, ‘sha256, verify’])) Deduplication value for new ZFS folders.

nexenta_dataset_description =

(String) Human-readable description for the folder.

nexenta_folder =

(String) A folder where cinder created datasets will reside.

nexenta_group_snapshot_template = group-snapshot-%s

(String) Template string to generate group snapshot name

nexenta_host =

(String) IP address of NexentaStor Appliance

nexenta_host_group_prefix = cinder

(String) Prefix for iSCSI host groups on NexentaStor

nexenta_iscsi_target_host_group = all

(String) Group of hosts which are allowed to access volumes

nexenta_iscsi_target_portal_groups =

(String) NexentaStor target portal groups

nexenta_iscsi_target_portal_port = 3260

(Integer) Nexenta appliance iSCSI target portal port

nexenta_iscsi_target_portals =

(String) Comma separated list of portals for NexentaStor5, in format of IP1:port1,IP2:port2. Port is optional, default=3260. Example: 10.10.10.1:3267,10.10.1.2

nexenta_lu_writebackcache_disabled = False

(Boolean) Postponed write to backing store or not

nexenta_luns_per_target = 100

(Integer) Amount of LUNs per iSCSI target

nexenta_ns5_blocksize = 32

(Integer) Block size for datasets

nexenta_origin_snapshot_template = origin-snapshot-%s

(String) Template string to generate origin name of clone

nexenta_password = nexenta

(String) Password to connect to NexentaStor management REST API server

nexenta_rest_address =

(String) IP address of NexentaStor management REST API endpoint

nexenta_rest_backoff_factor = 0.5

(Float) Specifies the backoff factor to apply between connection attempts to NexentaStor management REST API server

nexenta_rest_connect_timeout = 30

(Float) Specifies the time limit (in seconds), within which the connection to NexentaStor management REST API server must be established

nexenta_rest_port = 0

(Integer) HTTP(S) port to connect to NexentaStor management REST API server. If it is equal zero, 8443 for HTTPS and 8080 for HTTP is used

nexenta_rest_protocol = auto

(String(choices=[‘http’, ‘https’, ‘auto’])) Use http or https for NexentaStor management REST API connection (default auto)

nexenta_rest_read_timeout = 300

(Float) Specifies the time limit (in seconds), within which NexentaStor management REST API server must send a response

nexenta_rest_retry_count = 3

(Integer) Specifies the number of times to repeat NexentaStor management REST API call in case of connection errors and NexentaStor appliance EBUSY or ENOENT errors

nexenta_sparse = False

(Boolean) Enables or disables the creation of sparse datasets

nexenta_target_group_prefix = cinder

(String) Prefix for iSCSI target groups on NexentaStor

nexenta_target_prefix = iqn.1986-03.com.sun:02:cinder

(String) iqn prefix for NexentaStor iSCSI targets

nexenta_use_https = True

(Boolean) Use HTTP secure protocol for NexentaStor management REST API connections

nexenta_user = admin

(String) User name to connect to NexentaStor management REST API server

nexenta_volume = cinder

(String) NexentaStor pool name that holds all volumes

nexenta_volume_group = iscsi

(String) Volume group for NexentaStor5 iSCSI

  • Description: Executes volume driver commands on Nexenta Appliance.

Version history:

1.0.0 - Initial driver version.
1.1.0 - Added HTTPS support.
      - Added use of sessions for REST calls.
      - Added abandoned volumes and snapshots cleanup.
1.2.0 - Failover support.
1.2.1 - Configurable luns per parget, target prefix.
1.3.0 - Removed target/TG caching, added support for target portals
        and host groups.
1.3.1 - Refactored _do_export to query exact lunMapping.
1.3.2 - Revert to snapshot support.
1.3.3 - Refactored LUN creation, use host group for LUN mappings.
1.3.4 - Adapted NexentaException for the latest Cinder.
1.3.5 - Added deferred deletion for snapshots.
1.3.6 - Fixed race between volume/clone deletion.
1.3.7 - Added consistency group support.
1.3.8 - Added volume multi-attach.
1.4.0 - Refactored iSCSI driver.
      - Added pagination support.
      - Added configuration parameters for REST API connect/read
        timeouts, connection retries and backoff factor.
      - Fixed HA failover.
      - Added retries on EBUSY errors.
      - Fixed HTTP authentication.
      - Added coordination for dataset operations.
1.4.1 - Support for NexentaStor tenants.
1.4.2 - Added manage/unmanage/manageable-list volume/snapshot support.
1.4.3 - Added consistency group capability to generic volume group.

NexentaNfsDriver

Driver configuration options

Name = Default Value

(Type) Description

nexenta_blocksize = 4096

(Integer) Block size for datasets

nexenta_dataset_compression = on

(String(choices=[‘on’, ‘off’, ‘gzip’, ‘gzip-1’, ‘gzip-2’, ‘gzip-3’, ‘gzip-4’, ‘gzip-5’, ‘gzip-6’, ‘gzip-7’, ‘gzip-8’, ‘gzip-9’, ‘lzjb’, ‘zle’, ‘lz4’])) Compression value for new ZFS folders.

nexenta_dataset_dedup = off

(String(choices=[‘on’, ‘off’, ‘sha256’, ‘verify’, ‘sha256, verify’])) Deduplication value for new ZFS folders.

nexenta_dataset_description =

(String) Human-readable description for the folder.

nexenta_folder =

(String) A folder where cinder created datasets will reside.

nexenta_group_snapshot_template = group-snapshot-%s

(String) Template string to generate group snapshot name

nexenta_host =

(String) IP address of NexentaStor Appliance

nexenta_lu_writebackcache_disabled = False

(Boolean) Postponed write to backing store or not

nexenta_mount_point_base = $state_path/mnt

(String) Base directory that contains NFS share mount points

nexenta_nms_cache_volroot = True

(Boolean) If set True cache NexentaStor appliance volroot option value.

nexenta_ns5_blocksize = 32

(Integer) Block size for datasets

nexenta_origin_snapshot_template = origin-snapshot-%s

(String) Template string to generate origin name of clone

nexenta_password = nexenta

(String) Password to connect to NexentaStor management REST API server

nexenta_qcow2_volumes = False

(Boolean) Create volumes as QCOW2 files rather than raw files

nexenta_rest_address =

(String) IP address of NexentaStor management REST API endpoint

nexenta_rest_backoff_factor = 0.5

(Float) Specifies the backoff factor to apply between connection attempts to NexentaStor management REST API server

nexenta_rest_connect_timeout = 30

(Float) Specifies the time limit (in seconds), within which the connection to NexentaStor management REST API server must be established

nexenta_rest_port = 0

(Integer) HTTP(S) port to connect to NexentaStor management REST API server. If it is equal zero, 8443 for HTTPS and 8080 for HTTP is used

nexenta_rest_protocol = auto

(String(choices=[‘http’, ‘https’, ‘auto’])) Use http or https for NexentaStor management REST API connection (default auto)

nexenta_rest_read_timeout = 300

(Float) Specifies the time limit (in seconds), within which NexentaStor management REST API server must send a response

nexenta_rest_retry_count = 3

(Integer) Specifies the number of times to repeat NexentaStor management REST API call in case of connection errors and NexentaStor appliance EBUSY or ENOENT errors

nexenta_rrmgr_compression = 0

(Integer) Enable stream compression, level 1..9. 1 - gives best speed; 9 - gives best compression.

nexenta_rrmgr_connections = 2

(Integer) Number of TCP connections.

nexenta_rrmgr_tcp_buf_size = 4096

(Integer) TCP Buffer size in KiloBytes.

nexenta_shares_config = /etc/cinder/nfs_shares

(String) File with the list of available nfs shares

nexenta_sparse = False

(Boolean) Enables or disables the creation of sparse datasets

nexenta_sparsed_volumes = True

(Boolean) 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.

nexenta_use_https = True

(Boolean) Use HTTP secure protocol for NexentaStor management REST API connections

nexenta_user = admin

(String) User name to connect to NexentaStor management REST API server

  • Description: Executes volume driver commands on Nexenta Appliance.

Version history:

1.0.0 - Initial driver version.
1.1.0 - Auto sharing for enclosing folder.
1.1.1 - Added caching for NexentaStor appliance 'volroot' value.
1.1.2 - Ignore "folder does not exist" error in delete_volume and
        delete_snapshot method.
1.1.3 - Redefined volume_backend_name attribute inherited from
        RemoteFsDriver.
1.2.0 - Added migrate and retype methods.
1.3.0 - Extend volume method.
1.3.1 - Cache capacity info and check shared folders on setup.

NexentaNfsDriver

Driver configuration options

Name = Default Value

(Type) Description

nexenta_blocksize = 4096

(Integer) Block size for datasets

nexenta_dataset_compression = on

(String(choices=[‘on’, ‘off’, ‘gzip’, ‘gzip-1’, ‘gzip-2’, ‘gzip-3’, ‘gzip-4’, ‘gzip-5’, ‘gzip-6’, ‘gzip-7’, ‘gzip-8’, ‘gzip-9’, ‘lzjb’, ‘zle’, ‘lz4’])) Compression value for new ZFS folders.

nexenta_dataset_dedup = off

(String(choices=[‘on’, ‘off’, ‘sha256’, ‘verify’, ‘sha256, verify’])) Deduplication value for new ZFS folders.

nexenta_dataset_description =

(String) Human-readable description for the folder.

nexenta_folder =

(String) A folder where cinder created datasets will reside.

nexenta_group_snapshot_template = group-snapshot-%s

(String) Template string to generate group snapshot name

nexenta_host =

(String) IP address of NexentaStor Appliance

nexenta_lu_writebackcache_disabled = False

(Boolean) Postponed write to backing store or not

nexenta_mount_point_base = $state_path/mnt

(String) Base directory that contains NFS share mount points

nexenta_nms_cache_volroot = True

(Boolean) If set True cache NexentaStor appliance volroot option value.

nexenta_ns5_blocksize = 32

(Integer) Block size for datasets

nexenta_origin_snapshot_template = origin-snapshot-%s

(String) Template string to generate origin name of clone

nexenta_password = nexenta

(String) Password to connect to NexentaStor management REST API server

nexenta_qcow2_volumes = False

(Boolean) Create volumes as QCOW2 files rather than raw files

nexenta_rest_address =

(String) IP address of NexentaStor management REST API endpoint

nexenta_rest_backoff_factor = 0.5

(Float) Specifies the backoff factor to apply between connection attempts to NexentaStor management REST API server

nexenta_rest_connect_timeout = 30

(Float) Specifies the time limit (in seconds), within which the connection to NexentaStor management REST API server must be established

nexenta_rest_port = 0

(Integer) HTTP(S) port to connect to NexentaStor management REST API server. If it is equal zero, 8443 for HTTPS and 8080 for HTTP is used

nexenta_rest_protocol = auto

(String(choices=[‘http’, ‘https’, ‘auto’])) Use http or https for NexentaStor management REST API connection (default auto)

nexenta_rest_read_timeout = 300

(Float) Specifies the time limit (in seconds), within which NexentaStor management REST API server must send a response

nexenta_rest_retry_count = 3

(Integer) Specifies the number of times to repeat NexentaStor management REST API call in case of connection errors and NexentaStor appliance EBUSY or ENOENT errors

nexenta_shares_config = /etc/cinder/nfs_shares

(String) File with the list of available nfs shares

nexenta_sparse = False

(Boolean) Enables or disables the creation of sparse datasets

nexenta_sparsed_volumes = True

(Boolean) 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.

nexenta_use_https = True

(Boolean) Use HTTP secure protocol for NexentaStor management REST API connections

nexenta_user = admin

(String) User name to connect to NexentaStor management REST API server

  • Description: Executes volume driver commands on Nexenta Appliance.

Version history:

1.0.0 - Initial driver version.
1.1.0 - Support for extend volume.
1.2.0 - Added HTTPS support.
      - Added use of sessions for REST calls.
      - Added abandoned volumes and snapshots cleanup.
1.3.0 - Failover support.
1.4.0 - Migrate volume support and new NEF API calls.
1.5.0 - Revert to snapshot support.
1.6.0 - Get mountPoint from API to support old style mount points.
      - Mount and umount shares on each operation to avoid mass
        mounts on controller. Clean up mount folders on delete.
1.6.1 - Fixed volume from image creation.
1.6.2 - Removed redundant share mount from initialize_connection.
1.6.3 - Adapted NexentaException for the latest Cinder.
1.6.4 - Fixed volume mount/unmount.
1.6.5 - Added driver_ssl_cert_verify for HA failover.
1.6.6 - Destroy unused snapshots after deletion of it's last clone.
1.6.7 - Fixed volume migration for HA environment.
1.6.8 - Added deferred deletion for snapshots.
1.6.9 - Fixed race between volume/clone deletion.
1.7.0 - Added consistency group support.
1.7.1 - Removed redundant hpr/activate call from initialize_connection.
1.7.2 - Merged upstream changes for umount.
1.8.0 - Refactored NFS driver.
      - Added pagination support.
      - Added configuration parameters for REST API connect/read
        timeouts, connection retries and backoff factor.
      - Fixed HA failover.
      - Added retries on EBUSY errors.
      - Fixed HTTP authentication.
      - Disabled non-blocking mandatory locks.
      - Added coordination for dataset operations.
1.8.1 - Support for NexentaStor tenants.
1.8.2 - Added manage/unmanage/manageable-list volume/snapshot support.
1.8.3 - Added consistency group capability to generic volume group.
1.8.4 - Disabled SmartCompression feature.

NfsDriver

  • Version: 1.4.0

  • volume_driver=cinder.volume.drivers.nfs.NfsDriver

  • Driver Configuration Options:

Driver configuration options

Name = Default Value

(Type) Description

nas_host =

(String) IP address or Hostname of NAS system.

nas_login = admin

(String) User name to connect to NAS system.

nas_mount_options = None

(String) Options used to mount the storage backend file system where Cinder volumes are stored.

nas_password =

(String) Password to connect to NAS system.

nas_private_key =

(String) Filename of private key to use for SSH authentication.

nas_secure_file_operations = auto

(String) 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.

nas_secure_file_permissions = auto

(String) 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.

nas_share_path =

(String) 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 .

nas_ssh_port = 22

(Port(min=0, max=65535)) SSH port to use to connect to NAS system.

nfs_mount_attempts = 3

(Integer) 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.

nfs_mount_options = None

(String) Mount options passed to the NFS client. See the NFS(5) man page for details.

nfs_mount_point_base = $state_path/mnt

(String) Base dir containing mount points for NFS shares.

nfs_qcow2_volumes = False

(Boolean) Create volumes as QCOW2 files rather than raw files.

nfs_shares_config = /etc/cinder/nfs_shares

(String) File with the list of available NFS shares.

nfs_snapshot_support = False

(Boolean) Enable support for snapshots on the NFS driver. Platforms using libvirt <1.2.7 will encounter issues with this feature.

nfs_sparsed_volumes = True

(Boolean) 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.

  • Description: NFS based cinder driver.

Creates file on NFS share for using it as block device on hypervisor.

NimbleFCDriver

Driver configuration options

Name = Default Value

(Type) Description

nimble_pool_name = default

(String) Nimble Controller pool name

nimble_subnet_label = *

(String) Nimble Subnet Label

nimble_verify_cert_path = None

(String) Path to Nimble Array SSL certificate

nimble_verify_certificate = False

(Boolean) Whether to verify Nimble SSL Certificate

  • Description: OpenStack driver to enable Nimble FC Driver Controller.

NimbleISCSIDriver

Driver configuration options

Name = Default Value

(Type) Description

nimble_pool_name = default

(String) Nimble Controller pool name

nimble_subnet_label = *

(String) Nimble Subnet Label

nimble_verify_cert_path = None

(String) Path to Nimble Array SSL certificate

nimble_verify_certificate = False

(Boolean) Whether to verify Nimble SSL Certificate

  • Description: OpenStack driver to enable Nimble ISCSI Controller.

PowerFlexDriver

Driver configuration options

Name = Default Value

(Type) Description

powerflex_allow_migration_during_rebuild = False

(Boolean) Allow volume migration during rebuild.

powerflex_allow_non_padded_volumes = False

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

powerflex_max_over_subscription_ratio = 10.0

(Float) max_over_subscription_ratio setting for the driver. Maximum value allowed is 10.0.

powerflex_rest_server_port = 443

(Port(min=0, max=65535)) Gateway REST server port.

powerflex_round_volume_capacity = True

(Boolean) Round volume sizes up to 8GB boundaries. PowerFlex/VxFlex OS requires volumes to be sized in multiples of 8GB. If set to False, volume creation will fail for volumes not sized properly

powerflex_server_api_version = None

(String) PowerFlex/ScaleIO API version. This value should be left as the default value unless otherwise instructed by technical support.

powerflex_storage_pools = None

(String) Storage Pools. Comma separated list of storage pools used to provide volumes. Each pool should be specified as a protection_domain_name:storage_pool_name value

powerflex_unmap_volume_before_deletion = False

(Boolean) Unmap volumes before deletion.

vxflexos_allow_migration_during_rebuild = False

(Boolean) renamed to powerflex_allow_migration_during_rebuild.

vxflexos_allow_non_padded_volumes = False

(Boolean) renamed to powerflex_allow_non_padded_volumes.

vxflexos_max_over_subscription_ratio = 10.0

(Float) renamed to powerflex_max_over_subscription_ratio.

vxflexos_rest_server_port = 443

(Port(min=0, max=65535)) renamed to powerflex_rest_server_port.

vxflexos_round_volume_capacity = True

(Boolean) renamed to powerflex_round_volume_capacity.

vxflexos_server_api_version = None

(String) renamed to powerflex_server_api_version.

vxflexos_storage_pools = None

(String) renamed to powerflex_storage_pools.

vxflexos_unmap_volume_before_deletion = False

(Boolean) renamed to powerflex_round_volume_capacity.

  • Description: Cinder PowerFlex(formerly named Dell EMC VxFlex OS) Driver

Version history:
    2.0.1 - Added support for SIO 1.3x in addition to 2.0.x
    2.0.2 - Added consistency group support to generic volume groups
    2.0.3 - Added cache for storage pool and protection domains info
    2.0.4 - Added compatibility with os_brick>1.15.3
    2.0.5 - Change driver name, rename config file options
    3.0.0 - Add support for VxFlex OS 3.0.x and for volumes compression
    3.5.0 - Add support for PowerFlex 3.5.x
    3.5.1 - Add volume replication v2.1 support for PowerFlex 3.5.x
    3.5.2 - Add volume migration support
    3.5.3 - Add revert volume to snapshot support
    3.5.4 - Fix for Bug #1823200. See OSSN-0086 for details.
    3.5.5 - Rebrand VxFlex OS to PowerFlex.
    3.5.6 - Fix for Bug #1897598 when volume can be migrated without
            conversion of its type.

PowerMaxFCDriver

Driver configuration options

Name = Default Value

(Type) Description

driver_ssl_cert_verify = False

(Boolean) If set to True the http client will validate the SSL certificate of the backend endpoint.

initiator_check = False

(Boolean) Use this value to enable the initiator_check.

interval = 3

(Integer) Use this value to specify length of the interval in seconds.

load_balance = False

(Boolean) Enable/disable load balancing for a PowerMax backend.

load_balance_real_time = False

(Boolean) Enable/disable real-time performance metrics for Port level load balancing for a PowerMax backend.

load_data_format = Avg

(String) Performance data format, not applicable for real-time metrics. Available options are “avg” and “max”.

load_look_back = 60

(Integer) How far in minutes to look back for diagnostic performance metrics in load calculation, minimum of 0 maximum of 1440 (24 hours).

load_look_back_real_time = 1

(Integer) How far in minutes to look back for real-time performance metrics in load calculation, minimum of 1 maximum of 10.

max_over_subscription_ratio = 20.0

(String(regex=’^(auto|\d*.\d+|\d+)$’)) Representation of the over subscription ratio when thin provisioning is enabled. 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. If ratio is ‘auto’, Cinder will automatically calculate the ratio based on the provisioned capacity and the used space. If not set to auto, the ratio has to be a minimum of 1.0.

port_group_load_metric = PercentBusy

(String) Metric used for port group load calculation.

port_load_metric = PercentBusy

(String) Metric used for port load calculation.

powermax_array = None

(String) Serial number of the array to connect to.

powermax_array_tag_list = None

(List of String) List of user assigned name for storage array.

powermax_port_group_name_template = portGroupName

(String) User defined override for port group name.

powermax_port_groups = None

(List of String) List of port groups containing frontend ports configured prior for server connection.

powermax_service_level = None

(String) Service level to use for provisioning storage. Setting this as an extra spec in pool_name is preferable.

powermax_short_host_name_template = shortHostName

(String) User defined override for short host name.

powermax_snapvx_unlink_limit = 3

(Integer) Use this value to specify the maximum number of unlinks for the temporary snapshots before a clone operation.

powermax_srp = None

(String) Storage resource pool on array to use for provisioning.

replication_device = None

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

reserved_percentage = 0

(Integer(min=0, max=100)) The percentage of backend capacity is reserved

retries = 200

(Integer) Use this value to specify number of retries.

san_ip =

(String) IP address of SAN controller

san_login = admin

(String) Username for SAN controller

san_password =

(String) Password for SAN controller

u4p_failover_autofailback = True

(Boolean) If the driver should automatically failback to the primary instance of Unisphere when a successful connection is re-established.

u4p_failover_backoff_factor = 1

(Integer) A backoff factor to apply between attempts after the second try (most errors are resolved immediately by a second try without a delay). Retries will sleep for: {backoff factor} * (2 ^ ({number of total retries} - 1)) seconds.

u4p_failover_retries = 3

(Integer) The maximum number of retries each connection should attempt. Note, this applies only to failed DNS lookups, socket connections and connection timeouts, never to requests where data has made it to the server.

u4p_failover_target = None

(Dict of String) Dictionary of Unisphere failover target info.

u4p_failover_timeout = 20.0

(Integer) How long to wait for the server to send data before giving up.

vmax_workload = None

(String) Workload, setting this as an extra spec in pool_name is preferable.

  • Description: FC Drivers for PowerMax using REST.

Version history:

1.0.0 - Initial driver
1.1.0 - Multiple pools and thick/thin provisioning,
        performance enhancement.
2.0.0 - Add driver requirement functions
2.1.0 - Add consistency group functions
2.1.1 - Fixed issue with mismatched config (bug #1442376)
2.1.2 - Clean up failed clones (bug #1440154)
2.1.3 - Fixed a problem with FAST support (bug #1435069)
2.2.0 - Add manage/unmanage
2.2.1 - Support for SE 8.0.3
2.2.2 - Update Consistency Group
2.2.3 - Pool aware scheduler(multi-pool) support
2.2.4 - Create CG from CG snapshot
2.3.0 - Name change for MV and SG for FAST (bug #1515181)
      - Fix for randomly choosing port group. (bug #1501919)
      - get_short_host_name needs to be called in find_device_number
        (bug #1520635)
      - Proper error handling for invalid SLOs (bug #1512795)
      - Extend Volume for VMAX3, SE8.1.0.3
      https://blueprints.launchpad.net/cinder/+spec/vmax3-extend-volume
      - Incorrect SG selected on an attach (#1515176)
      - Cleanup Zoning (bug #1501938)  NOTE: FC only
      - Last volume in SG fix
      - _remove_last_vol_and_delete_sg is not being called
        for VMAX3 (bug #1520549)
      - necessary updates for CG changes (#1534616)
      - Changing PercentSynced to CopyState (bug #1517103)
      - Getting iscsi ip from port in existing masking view
      - Replacement of EMCGetTargetEndpoints api (bug #1512791)
      - VMAX3 snapvx improvements (bug #1522821)
      - Operations and timeout issues (bug #1538214)
2.4.0 - EMC VMAX - locking SG for concurrent threads (bug #1554634)
      - SnapVX licensing checks for VMAX3 (bug #1587017)
      - VMAX oversubscription Support (blueprint vmax-oversubscription)
      - QoS support (blueprint vmax-qos)
2.5.0 - Attach and detach snapshot (blueprint vmax-attach-snapshot)
      - MVs and SGs not reflecting correct protocol (bug #1640222)
      - Storage assisted volume migration via retype
        (bp vmax-volume-migration)
      - Support for compression on All Flash
      - Volume replication 2.1 (bp add-vmax-replication)
      - rename and restructure driver (bp vmax-rename-dell-emc)
3.0.0 - REST based driver
      - Retype (storage-assisted migration)
      - QoS support
      - Support for compression on All Flash
      - Support for volume replication
      - Support for live migration
      - Support for Generic Volume Group
3.1.0 - Support for replication groups (Tiramisu)
      - Deprecate backend xml configuration
      - Support for async replication (vmax-replication-enhancements)
      - Support for SRDF/Metro (vmax-replication-enhancements)
      - Support for manage/unmanage snapshots
        (vmax-manage-unmanage-snapshot)
      - Support for revert to volume snapshot
3.2.0 - Support for retyping replicated volumes (bp
        vmax-retype-replicated-volumes)
      - Support for multiattach volumes (bp vmax-allow-multi-attach)
      - Support for list manageable volumes and snapshots
        (bp/vmax-list-manage-existing)
      - Fix for SSL verification/cert application (bug #1772924)
      - Log VMAX metadata of a volume (bp vmax-metadata)
      - Fix for get-pools command (bug #1784856)
4.0.0 - Fix for initiator retrieval and short hostname unmapping
        (bugs #1783855 #1783867)
      - Fix for HyperMax OS Upgrade Bug (bug #1790141)
      - Support for failover to secondary Unisphere
        (bp/vmax-unisphere-failover)
      - Rebrand from VMAX to PowerMax(bp/vmax-powermax-rebrand)
      - Change from 84 to 90 REST endpoints (bug #1808539)
      - Fix for PowerMax OS replication settings (bug #1812685)
      - Support for storage-assisted in-use retype
        (bp/powermax-storage-assisted-inuse-retype)
4.1.0 - Changing from 90 to 91 rest endpoints
      - Support for Rapid TDEV Delete (bp powermax-tdev-deallocation)
      - PowerMax OS Metro formatted volumes fix (bug #1829876)
      - Support for Metro ODE (bp/powermax-metro-ode)
      - Removal of san_rest_port from PowerMax cinder.conf config
      - SnapVX noCopy mode enabled for all links
      - Volume/Snapshot backed metadata inclusion
      - Debug metadata compression and service level info fix
4.2.0 - Support of Unisphere storage group and array tags
      - User defined override for short host name and port group name
        (bp powermax-user-defined-hostname-portgroup)
      - Switch to Unisphere REST API public replication endpoints
      - Support for multiple replication devices
      - Pools bug fix allowing 'None' variants (bug #1873253)
4.3.0 - Changing from 91 to 92 REST endpoints
      - Support for Port Group and Port load balancing
        (bp powermax-port-load-balance)
      - Fix to enable legacy volumes to live migrate (#1867163)
      - Use of snap id instead of generation (bp powermax-snapset-ids)
      - Support for Failover Abilities (bp/powermax-failover-abilities)
4.3.1 - Fix non-temporary snapshot delete (#1887962)
4.3.2 - Fix for create snapshot (#1939139)
4.3.3 - Allow for case mismatch in SGs (bug #1929429)

PowerMaxISCSIDriver

Driver configuration options

Name = Default Value

(Type) Description

chap_password =

(String) Password for specified CHAP account name.

chap_username =

(String) CHAP user name.

driver_ssl_cert_verify = False

(Boolean) If set to True the http client will validate the SSL certificate of the backend endpoint.

initiator_check = False

(Boolean) Use this value to enable the initiator_check.

interval = 3

(Integer) Use this value to specify length of the interval in seconds.

load_balance = False

(Boolean) Enable/disable load balancing for a PowerMax backend.

load_balance_real_time = False

(Boolean) Enable/disable real-time performance metrics for Port level load balancing for a PowerMax backend.

load_data_format = Avg

(String) Performance data format, not applicable for real-time metrics. Available options are “avg” and “max”.

load_look_back = 60

(Integer) How far in minutes to look back for diagnostic performance metrics in load calculation, minimum of 0 maximum of 1440 (24 hours).

load_look_back_real_time = 1

(Integer) How far in minutes to look back for real-time performance metrics in load calculation, minimum of 1 maximum of 10.

max_over_subscription_ratio = 20.0

(String(regex=’^(auto|\d*.\d+|\d+)$’)) Representation of the over subscription ratio when thin provisioning is enabled. 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. If ratio is ‘auto’, Cinder will automatically calculate the ratio based on the provisioned capacity and the used space. If not set to auto, the ratio has to be a minimum of 1.0.

port_group_load_metric = PercentBusy

(String) Metric used for port group load calculation.

port_load_metric = PercentBusy

(String) Metric used for port load calculation.

powermax_array = None

(String) Serial number of the array to connect to.

powermax_array_tag_list = None

(List of String) List of user assigned name for storage array.

powermax_port_group_name_template = portGroupName

(String) User defined override for port group name.

powermax_port_groups = None

(List of String) List of port groups containing frontend ports configured prior for server connection.

powermax_service_level = None

(String) Service level to use for provisioning storage. Setting this as an extra spec in pool_name is preferable.

powermax_short_host_name_template = shortHostName

(String) User defined override for short host name.

powermax_snapvx_unlink_limit = 3

(Integer) Use this value to specify the maximum number of unlinks for the temporary snapshots before a clone operation.

powermax_srp = None

(String) Storage resource pool on array to use for provisioning.

replication_device = None

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

reserved_percentage = 0

(Integer(min=0, max=100)) The percentage of backend capacity is reserved

retries = 200

(Integer) Use this value to specify number of retries.

san_ip =

(String) IP address of SAN controller

san_login = admin

(String) Username for SAN controller

san_password =

(String) Password for SAN controller

u4p_failover_autofailback = True

(Boolean) If the driver should automatically failback to the primary instance of Unisphere when a successful connection is re-established.

u4p_failover_backoff_factor = 1

(Integer) A backoff factor to apply between attempts after the second try (most errors are resolved immediately by a second try without a delay). Retries will sleep for: {backoff factor} * (2 ^ ({number of total retries} - 1)) seconds.

u4p_failover_retries = 3

(Integer) The maximum number of retries each connection should attempt. Note, this applies only to failed DNS lookups, socket connections and connection timeouts, never to requests where data has made it to the server.

u4p_failover_target = None

(Dict of String) Dictionary of Unisphere failover target info.

u4p_failover_timeout = 20.0

(Integer) How long to wait for the server to send data before giving up.

use_chap_auth = False

(Boolean) Option to enable/disable CHAP authentication for targets.

vmax_workload = None

(String) Workload, setting this as an extra spec in pool_name is preferable.

  • Description: ISCSI Drivers for PowerMax using Rest.

Version history:

1.0.0 - Initial driver
1.1.0 - Multiple pools and thick/thin provisioning,
        performance enhancement.
2.0.0 - Add driver requirement functions
2.1.0 - Add consistency group functions
2.1.1 - Fixed issue with mismatched config (bug #1442376)
2.1.2 - Clean up failed clones (bug #1440154)
2.1.3 - Fixed a problem with FAST support (bug #1435069)
2.2.0 - Add manage/unmanage
2.2.1 - Support for SE 8.0.3
2.2.2 - Update Consistency Group
2.2.3 - Pool aware scheduler(multi-pool) support
2.2.4 - Create CG from CG snapshot
2.3.0 - Name change for MV and SG for FAST (bug #1515181)
      - Fix for randomly choosing port group. (bug #1501919)
      - get_short_host_name needs to be called in find_device_number
        (bug #1520635)
      - Proper error handling for invalid SLOs (bug #1512795)
      - Extend Volume for VMAX3, SE8.1.0.3
      https://blueprints.launchpad.net/cinder/+spec/vmax3-extend-volume
      - Incorrect SG selected on an attach (#1515176)
      - Cleanup Zoning (bug #1501938)  NOTE: FC only
      - Last volume in SG fix
      - _remove_last_vol_and_delete_sg is not being called
        for VMAX3 (bug #1520549)
      - necessary updates for CG changes (#1534616)
      - Changing PercentSynced to CopyState (bug #1517103)
      - Getting iscsi ip from port in existing masking view
      - Replacement of EMCGetTargetEndpoints api (bug #1512791)
      - VMAX3 snapvx improvements (bug #1522821)
      - Operations and timeout issues (bug #1538214)
2.4.0 - EMC VMAX - locking SG for concurrent threads (bug #1554634)
      - SnapVX licensing checks for VMAX3 (bug #1587017)
      - VMAX oversubscription Support (blueprint vmax-oversubscription)
      - QoS support (blueprint vmax-qos)
      - VMAX2/VMAX3 iscsi multipath support (iscsi only)
      https://blueprints.launchpad.net/cinder/+spec/vmax-iscsi-multipath
2.5.0 - Attach and detach snapshot (blueprint vmax-attach-snapshot)
      - MVs and SGs not reflecting correct protocol (bug #1640222)
      - Storage assisted volume migration via retype
        (bp vmax-volume-migration)
      - Support for compression on All Flash
      - Volume replication 2.1 (bp add-vmax-replication)
      - rename and restructure driver (bp vmax-rename-dell-emc)
3.0.0 - REST based driver
      - Retype (storage-assisted migration)
      - QoS support
      - Support for compression on All Flash
      - Support for volume replication
      - Support for live migration
      - Support for Generic Volume Group
3.1.0 - Support for replication groups (Tiramisu)
      - Deprecate backend xml configuration
      - Support for async replication (vmax-replication-enhancements)
      - Support for SRDF/Metro (vmax-replication-enhancements)
      - Support for manage/unmanage snapshots
        (vmax-manage-unmanage-snapshot)
      - Support for revert to volume snapshot
3.2.0 - Support for retyping replicated volumes (bp
        vmax-retype-replicated-volumes)
      - Support for multiattach volumes (bp vmax-allow-multi-attach)
      - Support for list manageable volumes and snapshots
        (bp/vmax-list-manage-existing)
      - Fix for SSL verification/cert application (bug #1772924)
      - Log VMAX metadata of a volume (bp vmax-metadata)
      - Fix for get-pools command (bug #1784856)
4.0.0 - Fix for initiator retrieval and short hostname unmapping
        (bugs #1783855 #1783867)
      - Fix for HyperMax OS Upgrade Bug (bug #1790141)
      - Support for failover to secondary Unisphere
        (bp/vmax-unisphere-failover)
      - Rebrand from VMAX to PowerMax(bp/vmax-powermax-rebrand)
      - Change from 84 to 90 REST endpoints (bug #1808539)
      - Fix for PowerMax OS replication settings (bug #1812685)
      - Support for storage-assisted in-use retype
        (bp/powermax-storage-assisted-inuse-retype)
4.1.0 - Changing from 90 to 91 rest endpoints
      - Support for Rapid TDEV Delete (bp powermax-tdev-deallocation)
      - PowerMax OS Metro formatted volumes fix (bug #1829876)
      - Support for Metro ODE (bp/powermax-metro-ode)
      - Removal of san_rest_port from PowerMax cinder.conf config
      - SnapVX noCopy mode enabled for all links
      - Volume/Snapshot backed metadata inclusion
      - Debug metadata compression and service level info fix
4.2.0 - Support of Unisphere storage group and array tags
      - User defined override for short host name and port group name
        (bp powermax-user-defined-hostname-portgroup)
      - Switch to Unisphere REST API public replication endpoints
      - Support for multiple replication devices
      - Pools bug fix allowing 'None' variants (bug #1873253)
4.3.0 - Changing from 91 to 92 REST endpoints
      - Support for Port Group and Port load balancing
        (bp powermax-port-load-balance)
      - Fix to enable legacy volumes to live migrate (#1867163)
      - Use of snap id instead of generation (bp powermax-snapset-ids)
      - Support for Failover Abilities (bp/powermax-failover-abilities)
4.3.1 - Fix non-temporary snapshot delete (#1887962)
4.3.2 - Fix for create snapshot (#1939139)
4.3.3 - Allow for case mismatch in SGs (bug #1929429)

PowerStoreDriver

Driver configuration options

Name = Default Value

(Type) Description

powerstore_appliances = []

(List of String) Appliances names. Comma separated list of PowerStore appliances names used to provision volumes. Required.

powerstore_ports = []

(List of String) Allowed ports. Comma separated list of PowerStore iSCSI IPs or FC WWNs (ex. 58:cc:f0:98:49:22:07:02) to be used. If option is not set all ports are allowed.

  • Description: Dell EMC PowerStore Driver.

Version history:
  1.0.0 - Initial version
  1.0.1 - Add CHAP support
  1.0.2 - Fix iSCSI targets not being returned from the REST API call if
          targets are used for multiple purposes
          (iSCSI target, Replication target, etc.)

PureFCDriver

Driver configuration options

Name = Default Value

(Type) Description

driver_ssl_cert_path = None

(String) 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

driver_ssl_cert_verify = False

(Boolean) If set to True the http client will validate the SSL certificate of the backend endpoint.

max_over_subscription_ratio = 20.0

(String(regex=’^(auto|\d*.\d+|\d+)$’)) Representation of the over subscription ratio when thin provisioning is enabled. 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. If ratio is ‘auto’, Cinder will automatically calculate the ratio based on the provisioned capacity and the used space. If not set to auto, the ratio has to be a minimum of 1.0.

pure_api_token = None

(String) REST API authorization token.

pure_automatic_max_oversubscription_ratio = True

(Boolean) 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.

pure_eradicate_on_delete = False

(Boolean) 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.

pure_host_personality = None

(String(choices=[‘aix’, ‘esxi’, ‘hitachi-vsp’, ‘hpux’, ‘oracle-vm-server’, ‘solaris’, ‘vms’, None])) Determines how the Purity system tunes the protocol used between the array and the initiator.

pure_iscsi_cidr = 0.0.0.0/0

(String) CIDR of FlashArray iSCSI targets hosts are allowed to connect to. Default will allow connection to any IPv4 address. This parameter now supports IPv6 subnets. Ignored when pure_iscsi_cidr_list is set.

pure_iscsi_cidr_list = None

(List of String) Comma-separated list of CIDR of FlashArray iSCSI targets hosts are allowed to connect to. It supports IPv4 and IPv6 subnets. This parameter supersedes pure_iscsi_cidr.

pure_replica_interval_default = 3600

(Integer) Snapshot replication interval in seconds.

pure_replica_retention_long_term_default = 7

(Integer) Retain snapshots per day on target for this time (in days.)

pure_replica_retention_long_term_per_day_default = 3

(Integer) Retain how many snapshots for each day.

pure_replica_retention_short_term_default = 14400

(Integer) Retain all snapshots on target for this time (in seconds.)

pure_replication_pg_name = cinder-group

(String) Pure Protection Group name to use for async replication (will be created if it does not exist).

pure_replication_pod_name = cinder-pod

(String) Pure Pod name to use for sync replication (will be created if it does not exist).

replication_device = None

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

reserved_percentage = 0

(Integer(min=0, max=100)) The percentage of backend capacity is reserved

san_ip =

(String) IP address of SAN controller

use_chap_auth = False

(Boolean) Option to enable/disable CHAP authentication for targets.

  • Description: OpenStack Volume Driver to support Pure Storage FlashArray.

This version of the driver enables the use of Fibre Channel for the underlying storage connectivity with the FlashArray. It fully supports the Cinder Fibre Channel Zone Manager.

PureISCSIDriver

Driver configuration options

Name = Default Value

(Type) Description

driver_ssl_cert_path = None

(String) 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

driver_ssl_cert_verify = False

(Boolean) If set to True the http client will validate the SSL certificate of the backend endpoint.

max_over_subscription_ratio = 20.0

(String(regex=’^(auto|\d*.\d+|\d+)$’)) Representation of the over subscription ratio when thin provisioning is enabled. 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. If ratio is ‘auto’, Cinder will automatically calculate the ratio based on the provisioned capacity and the used space. If not set to auto, the ratio has to be a minimum of 1.0.

pure_api_token = None

(String) REST API authorization token.

pure_automatic_max_oversubscription_ratio = True

(Boolean) 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.

pure_eradicate_on_delete = False

(Boolean) 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.

pure_host_personality = None

(String(choices=[‘aix’, ‘esxi’, ‘hitachi-vsp’, ‘hpux’, ‘oracle-vm-server’, ‘solaris’, ‘vms’, None])) Determines how the Purity system tunes the protocol used between the array and the initiator.

pure_iscsi_cidr = 0.0.0.0/0

(String) CIDR of FlashArray iSCSI targets hosts are allowed to connect to. Default will allow connection to any IPv4 address. This parameter now supports IPv6 subnets. Ignored when pure_iscsi_cidr_list is set.

pure_iscsi_cidr_list = None

(List of String) Comma-separated list of CIDR of FlashArray iSCSI targets hosts are allowed to connect to. It supports IPv4 and IPv6 subnets. This parameter supersedes pure_iscsi_cidr.

pure_replica_interval_default = 3600

(Integer) Snapshot replication interval in seconds.

pure_replica_retention_long_term_default = 7

(Integer) Retain snapshots per day on target for this time (in days.)

pure_replica_retention_long_term_per_day_default = 3

(Integer) Retain how many snapshots for each day.

pure_replica_retention_short_term_default = 14400

(Integer) Retain all snapshots on target for this time (in seconds.)

pure_replication_pg_name = cinder-group

(String) Pure Protection Group name to use for async replication (will be created if it does not exist).

pure_replication_pod_name = cinder-pod

(String) Pure Pod name to use for sync replication (will be created if it does not exist).

replication_device = None

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

reserved_percentage = 0

(Integer(min=0, max=100)) The percentage of backend capacity is reserved

san_ip =

(String) IP address of SAN controller

use_chap_auth = False

(Boolean) Option to enable/disable CHAP authentication for targets.

  • Description: OpenStack Volume Driver to support Pure Storage FlashArray.

This version of the driver enables the use of iSCSI for the underlying storage connectivity with the FlashArray.

QnapISCSIDriver

Driver configuration options

Name = Default Value

(Type) Description

chap_password =

(String) Password for specified CHAP account name.

chap_username =

(String) CHAP user name.

driver_ssl_cert_verify = False

(Boolean) If set to True the http client will validate the SSL certificate of the backend endpoint.

qnap_management_url = None

(URI) The URL to management QNAP Storage. Driver does not support IPv6 address in URL.

qnap_poolname = None

(String) The pool name in the QNAP Storage

qnap_storage_protocol = iscsi

(String) Communication protocol to access QNAP storage

reserved_percentage = 0

(Integer(min=0, max=100)) The percentage of backend capacity is reserved

san_login = admin

(String) Username for SAN controller

san_password =

(String) Password for SAN controller

target_ip_address = $my_ip

(String) The IP address that the iSCSI daemon is listening on

use_chap_auth = False

(Boolean) Option to enable/disable CHAP authentication for targets.

  • Description: QNAP iSCSI based cinder driver

Version History:
  1.0.0:
        Initial driver (Only iSCSI).
  1.2.001:
        Add supports for Thin Provisioning, SSD Cache, Deduplication,
        Compression and CHAP.
  1.2.002:
        Add support for QES fw 2.0.0.
  1.2.003:
        Add support for QES fw 2.1.0.
  1.2.004:
        Add support for QES fw on TDS series NAS model.
  1.2.005:
        Add support for QTS fw 4.4.0.
NOTE: Set driver_ssl_cert_verify as True under backend section to

enable SSL verification.

QuobyteDriver

Driver configuration options

Name = Default Value

(Type) Description

quobyte_client_cfg = None

(String) Path to a Quobyte Client configuration file.

quobyte_mount_point_base = $state_path/mnt

(String) Base dir containing the mount point for the Quobyte volume.

quobyte_overlay_volumes = False

(Boolean) Create new volumes from the volume_from_snapshot_cache by creating overlay files instead of full copies. This speeds up the creation of volumes from this cache. This feature requires the options quobyte_qcow2_volumes and quobyte_volume_from_snapshot_cache to be set to True. If one of these is set to False this option is ignored.

quobyte_qcow2_volumes = True

(Boolean) Create volumes as QCOW2 files rather than raw files.

quobyte_sparsed_volumes = True

(Boolean) Create volumes as sparse files which take no space. If set to False, volume is created as regular file.

quobyte_volume_from_snapshot_cache = False

(Boolean) Create a cache of volumes from merged snapshots to speed up creation of multiple volumes from a single snapshot.

quobyte_volume_url = None

(String) Quobyte URL to the Quobyte volume using e.g. a DNS SRV record (preferred) or a host list (alternatively) like quobyte://<DIR host1>, <DIR host2>/<volume name>

  • Description: Cinder driver for Quobyte USP.

Volumes are stored as files on the mounted Quobyte volume. The hypervisor will expose them as block devices.

Unlike other similar drivers, this driver uses exactly one Quobyte volume because Quobyte USP is a distributed storage system. To add or remove capacity, administrators can add or remove storage servers to/from the volume.

For different types of volumes e.g., SSD vs. rotating disks, use multiple backends in Cinder.

Note: To be compliant with the inherited RemoteFSSnapDriver, Quobyte

volumes are also referred to as shares.

Version history:

  1.0   - Initial driver.
  1.1   - Adds optional insecure NAS settings
  1.1.1 - Removes getfattr calls from driver
  1.1.2 - Fixes a bug in the creation of cloned volumes
  1.1.3 - Explicitely mounts Quobyte volumes w/o xattrs
  1.1.4 - Fixes capability to configure redundancy in quobyte_volume_url
  1.1.5 - Enables extension of volumes with snapshots
  1.1.6 - Optimizes volume creation
  1.1.7 - Support fuse subtype based Quobyte mount validation
  1.1.8 - Adds optional snapshot merge caching
  1.1.9 - Support for Qemu >= 2.10.0
  1.1.10 - Adds overlay based volumes for snapshot merge caching
  1.1.11 - NAS secure ownership & permissions are now False by default
  1.1.12 - Ensure the currently configured volume url is always used
  1.1.13 - Allow creating volumes from snapshots in state 'backing-up'

RBDDriver

  • Version: 1.2.0

  • volume_driver=cinder.volume.drivers.rbd.RBDDriver

  • Driver Configuration Options:

Driver configuration options

Name = Default Value

(Type) Description

deferred_deletion_delay = 0

(Integer) Time delay in seconds before a volume is eligible for permanent removal after being tagged for deferred deletion.

deferred_deletion_purge_interval = 60

(Integer) Number of seconds between runs of the periodic task to purge volumes tagged for deletion.

enable_deferred_deletion = False

(Boolean) Enable deferred deletion. Upon deletion, volumes are tagged for deletion but will only be removed asynchronously at a later time.

max_over_subscription_ratio = 20.0

(String(regex=’^(auto|\d*.\d+|\d+)$’)) Representation of the over subscription ratio when thin provisioning is enabled. 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. If ratio is ‘auto’, Cinder will automatically calculate the ratio based on the provisioned capacity and the used space. If not set to auto, the ratio has to be a minimum of 1.0.

rados_connect_timeout = -1

(Integer) Timeout value (in seconds) used when connecting to ceph cluster. If value < 0, no timeout is set and default librados value is used.

rados_connection_interval = 5

(Integer) Interval value (in seconds) between connection retries to ceph cluster.

rados_connection_retries = 3

(Integer) Number of retries if connection to ceph cluster failed.

rbd_ceph_conf =

(String) Path to the ceph configuration file

rbd_cluster_name = ceph

(String) The name of ceph cluster

rbd_exclusive_cinder_pool = True

(Boolean) Set to False if the pool is shared with other usages. On exclusive use driver won’t query images’ provisioned size as they will match the value calculated by the Cinder core code for allocated_capacity_gb. This reduces the load on the Ceph cluster as well as on the volume service. On non exclusive use driver will query the Ceph cluster for per image used disk, this is an intensive operation having an independent request for each image.

rbd_flatten_volume_from_snapshot = False

(Boolean) Flatten volumes created from snapshots to remove dependency from volume to snapshot

rbd_max_clone_depth = 5

(Integer) Maximum number of nested volume clones that are taken before a flatten occurs. Set to 0 to disable cloning. Note: lowering this value will not affect existing volumes whose clone depth exceeds the new value.

rbd_pool = rbd

(String) The RADOS pool where rbd volumes are stored

rbd_secret_uuid = None

(String) The libvirt uuid of the secret for the rbd_user volumes

rbd_store_chunk_size = 4

(Integer) Volumes will be chunked into objects of this size (in megabytes).

rbd_user = None

(String) The RADOS client name for accessing rbd volumes - only set when using cephx authentication

replication_connect_timeout = 5

(Integer) 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.

replication_device = None

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

report_dynamic_total_capacity = True

(Boolean) 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).

reserved_percentage = 0

(Integer(min=0, max=100)) The percentage of backend capacity is reserved

volume_dd_blocksize = 1M

(String) The default block size used when copying/clearing volumes

  • Description: Implements RADOS block device (RBD) volume commands.

RSDDriver

Driver configuration options

Name = Default Value

(Type) Description

podm_password =

(String) Password of PODM service

podm_url =

(String) URL of PODM service

podm_username =

(String) Username of PODM service

  • Description: Openstack driver to perform NVMe-oF volume management in RSD Solution


Version History:

1.0.0: Initial driver

SCFCDriver

Driver configuration options

Name = Default Value

(Type) Description

dell_api_async_rest_timeout = 15

(Integer) Dell SC API async call default timeout in seconds.

dell_api_sync_rest_timeout = 30

(Integer) Dell SC API sync call default timeout in seconds.

dell_sc_api_port = 3033

(Port(min=0, max=65535)) Dell API port

dell_sc_server_folder = openstack

(String) Name of the server folder to use on the Storage Center

dell_sc_ssn = 64702

(Integer) Storage Center System Serial Number

dell_sc_verify_cert = False

(Boolean) Enable HTTPS SC certificate verification

dell_sc_volume_folder = openstack

(String) Name of the volume folder to use on the Storage Center

dell_server_os = Red Hat Linux 6.x

(String) Server OS type to use when creating a new server on the Storage Center.

excluded_domain_ip = None

(IPAddress) DEPRECATED: Fault Domain IP to be excluded from iSCSI returns.

excluded_domain_ips = []

(List of IPAddress) Comma separated Fault Domain IPs to be excluded from iSCSI returns.

included_domain_ips = []

(List of IPAddress) Comma separated Fault Domain IPs to be included from iSCSI returns.

secondary_san_ip =

(String) IP address of secondary DSM controller

secondary_san_login = Admin

(String) Secondary DSM user name

secondary_san_password =

(String) Secondary DSM user password name

secondary_sc_api_port = 3033

(Port(min=0, max=65535)) Secondary Dell API port

  • Description: Implements commands for Dell Storage Center FC management.

To enable the driver add the following line to the cinder configuration:

volume_driver=cinder.volume.drivers.dell_emc.sc.storagecenter_fc. SCFCDriver

Version history:

1.0.0 - Initial driver
1.1.0 - Added extra spec support for Storage Profile selection
1.2.0 - Added consistency group support.
2.0.0 - Switched to inheriting functional objects rather than volume
        driver.
2.1.0 - Added support for ManageableVD.
2.2.0 - Driver retype support for switching volume's Storage Profile
2.3.0 - Added Legacy Port Mode Support
2.3.1 - Updated error handling.
2.4.0 - Added Replication V2 support.
2.4.1 - Updated Replication support to V2.1.
2.5.0 - ManageableSnapshotsVD implemented.
3.0.0 - ProviderID utilized.
3.1.0 - Failback supported.
3.2.0 - Live Volume support.
3.3.0 - Support for a secondary DSM.
3.4.0 - Support for excluding a domain.
3.5.0 - Support for AFO.
3.6.0 - Server type support.
3.7.0 - Support for Data Reduction, Group QOS and Volume QOS.
4.0.0 - Driver moved to dell_emc.
4.1.0 - Timeouts added to rest calls.
4.1.1 - excluded_domain_ips support.
4.1.2 - included_domain_ips IP support.

SCISCSIDriver

Driver configuration options

Name = Default Value

(Type) Description

dell_api_async_rest_timeout = 15

(Integer) Dell SC API async call default timeout in seconds.

dell_api_sync_rest_timeout = 30

(Integer) Dell SC API sync call default timeout in seconds.

dell_sc_api_port = 3033

(Port(min=0, max=65535)) Dell API port

dell_sc_server_folder = openstack

(String) Name of the server folder to use on the Storage Center

dell_sc_ssn = 64702

(Integer) Storage Center System Serial Number

dell_sc_verify_cert = False

(Boolean) Enable HTTPS SC certificate verification

dell_sc_volume_folder = openstack

(String) Name of the volume folder to use on the Storage Center

dell_server_os = Red Hat Linux 6.x

(String) Server OS type to use when creating a new server on the Storage Center.

excluded_domain_ip = None

(IPAddress) DEPRECATED: Fault Domain IP to be excluded from iSCSI returns.

excluded_domain_ips = []

(List of IPAddress) Comma separated Fault Domain IPs to be excluded from iSCSI returns.

included_domain_ips = []

(List of IPAddress) Comma separated Fault Domain IPs to be included from iSCSI returns.

secondary_san_ip =

(String) IP address of secondary DSM controller

secondary_san_login = Admin

(String) Secondary DSM user name

secondary_san_password =

(String) Secondary DSM user password name

secondary_sc_api_port = 3033

(Port(min=0, max=65535)) Secondary Dell API port

  • Description: Implements commands for Dell Storage Center ISCSI management.

To enable the driver add the following line to the cinder configuration:

volume_driver=cinder.volume.drivers.dell_emc.sc. storagecenter_iscsi.SCISCSIDriver

Version history:

1.0.0 - Initial driver
1.1.0 - Added extra spec support for Storage Profile selection
1.2.0 - Added consistency group support.
2.0.0 - Switched to inheriting functional objects rather than volume
        driver.
2.1.0 - Added support for ManageableVD.
2.2.0 - Driver retype support for switching volume's Storage Profile.
        Added API 2.2 support.
2.3.0 - Added Legacy Port Mode Support
2.3.1 - Updated error handling.
2.4.0 - Added Replication V2 support.
2.4.1 - Updated Replication support to V2.1.
2.5.0 - ManageableSnapshotsVD implemented.
3.0.0 - ProviderID utilized.
3.1.0 - Failback Supported.
3.2.0 - Live Volume support.
3.3.0 - Support for a secondary DSM.
3.4.0 - Support for excluding a domain.
3.5.0 - Support for AFO.
3.6.0 - Server type support.
3.7.0 - Support for Data Reduction, Group QOS and Volume QOS.
4.0.0 - Driver moved to dell_emc.
4.1.0 - Timeouts added to rest calls.
4.1.1 - excluded_domain_ips support.
4.1.2 - included_domain_ips IP support.

SPDKDriver

SdsISCSIDriver

Driver configuration options

Name = Default Value

(Type) Description

backend_availability_zone = None

(String) Availability zone for this volume backend. If not set, the storage_availability_zone option value is used as the default for all backends.

chap_password =

(String) Password for specified CHAP account name.

chap_username =

(String) CHAP user name.

chiscsi_conf = /etc/chelsio-iscsi/chiscsi.conf

(String) Chiscsi (CXT) global defaults configuration file

driver_client_cert = None

(String) The path to the client certificate for verification, if the driver supports it.

driver_client_cert_key = None

(String) The path to the client certificate key for verification, if the driver supports it.

driver_data_namespace = None

(String) Namespace for driver private data values to be saved in.

driver_ssl_cert_path = None

(String) 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

driver_ssl_cert_verify = False

(Boolean) If set to True the http client will validate the SSL certificate of the backend endpoint.

driver_use_ssl = False

(Boolean) Tell driver to use SSL for connection to backend storage if the driver supports it.

enable_unsupported_driver = False

(Boolean) 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.

filter_function = None

(String) 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.

goodness_function = None

(String) 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.

iet_conf = /etc/iet/ietd.conf

(String) DEPRECATED: IET configuration file

iscsi_iotype = fileio

(String(choices=[‘blockio’, ‘fileio’, ‘auto’])) 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

iscsi_secondary_ip_addresses = []

(List of String) The list of secondary IP addresses of the iSCSI daemon

iscsi_target_flags =

(String) 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.

iscsi_write_cache = on

(String(choices=[‘on’, ‘off’])) Sets the behavior of the iSCSI target to either perform write-back(on) or write-through(off). This parameter is valid if target_helper is set to tgtadm.

max_over_subscription_ratio = 20.0

(String(regex=’^(auto|\d*.\d+|\d+)$’)) Representation of the over subscription ratio when thin provisioning is enabled. 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. If ratio is ‘auto’, Cinder will automatically calculate the ratio based on the provisioned capacity and the used space. If not set to auto, the ratio has to be a minimum of 1.0.

num_shell_tries = 3

(Integer) Number of times to attempt to run flakey shell commands

num_volume_device_scan_tries = 3

(Integer) The maximum number of times to rescan targets to find volume

replication_device = None

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

report_discard_supported = False

(Boolean) 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.

reserved_percentage = 0

(Integer(min=0, max=100)) The percentage of backend capacity is reserved

storage_protocol = iscsi

(String(choices=[‘iscsi’, ‘fc’])) Protocol for transferring data between host and storage back-end.

target_helper = tgtadm

(String(choices=[‘tgtadm’, ‘lioadm’, ‘scstadmin’, ‘iscsictl’, ‘ietadm’, ‘nvmet’, ‘spdk-nvmeof’, ‘fake’])) 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, nvmet for NVMEoF support, spdk-nvmeof for SPDK NVMe-oF, or fake for testing. Note: The IET driver is deprecated and will be removed in the V release.

target_ip_address = $my_ip

(String) The IP address that the iSCSI daemon is listening on

target_port = 3260

(Port(min=0, max=65535)) The port that the iSCSI daemon is listening on

target_prefix = iqn.2010-10.org.openstack:

(String) Prefix for iSCSI volumes

target_protocol = iscsi

(String(choices=[‘iscsi’, ‘iser’, ‘nvmet_rdma’])) Determines the target protocol for new volumes, created with tgtadm, lioadm and nvmet 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”, in case of nvmet target set to “nvmet_rdma”.

trace_flags = None

(List of String) List of options that control which trace info is written to the DEBUG log level to assist developers. Valid values are method and api.

use_chap_auth = False

(Boolean) Option to enable/disable CHAP authentication for targets.

volume_backend_name = None

(String) The backend name for a given driver implementation

volume_clear = zero

(String(choices=[‘none’, ‘zero’])) Method used to wipe old volumes

volume_clear_ionice = None

(String) 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.

volume_clear_size = 0

(Integer(max=1024)) Size in MiB to wipe at start of old volumes. 1024 MiB at max. 0 => all

volume_copy_blkio_cgroup_name = cinder-volume-copy

(String) The blkio cgroup name to be used to limit bandwidth of volume copy

volume_copy_bps_limit = 0

(Integer) The upper limit of bandwidth of volume copy. 0 => unlimited

volume_dd_blocksize = 1M

(String) The default block size used when copying/clearing volumes

volumes_dir = $state_path/volumes

(String) Volume configuration file storage directory

  • Description: ISCSI driver for SandStone storage arrays.

Version history:

1.0.0 - Initial driver
        Provide SandStone storage
        create volume support
        delete volume support
        create snapshot support
        delete snapshot support
        extend volume support
        create volume from snap support
        create cloned volume support
        nova volume-attach support
        nova volume-detach support

SolidFireDriver

Driver configuration options

Name = Default Value

(Type) Description

driver_ssl_cert_verify = False

(Boolean) If set to True the http client will validate the SSL certificate of the backend endpoint.

max_over_subscription_ratio = 20.0

(String(regex=’^(auto|\d*.\d+|\d+)$’)) Representation of the over subscription ratio when thin provisioning is enabled. 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. If ratio is ‘auto’, Cinder will automatically calculate the ratio based on the provisioned capacity and the used space. If not set to auto, the ratio has to be a minimum of 1.0.

replication_device = None

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

reserved_percentage = 0

(Integer(min=0, max=100)) The percentage of backend capacity is reserved

san_ip =

(String) IP address of SAN controller

san_login = admin

(String) Username for SAN controller

san_password =

(String) Password for SAN controller

sf_account_prefix = None

(String) 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.

sf_allow_tenant_qos = False

(Boolean) Allow tenants to specify QOS on create

sf_api_port = 443

(Port(min=0, max=65535)) SolidFire API port. Useful if the device api is behind a proxy on a different port.

sf_api_request_timeout = 30

(Integer(min=30)) Sets time in seconds to wait for an api request to complete.

sf_cluster_pairing_timeout = 60

(Integer(min=3)) Sets time in seconds to wait for clusters to complete pairing.

sf_emulate_512 = True

(Boolean) Set 512 byte emulation on volume creation;

sf_enable_vag = False

(Boolean) Utilize volume access groups on a per-tenant basis.

sf_provisioning_calc = maxProvisionedSpace

(String(choices=[‘maxProvisionedSpace’, ‘usedSpace’])) Change how SolidFire reports used space and provisioning calculations. If this parameter is set to ‘usedSpace’, the driver will report correct values as expected by Cinder thin provisioning.

sf_svip = None

(String) 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.

sf_volume_clone_timeout = 600

(Integer(min=60)) Sets time in seconds to wait for a clone of a volume or snapshot to complete.

sf_volume_create_timeout = 60

(Integer(min=30)) Sets time in seconds to wait for a create volume operation to complete.

sf_volume_pairing_timeout = 3600

(Integer(min=30)) Sets time in seconds to wait for a migrating volume to complete pairing and sync.

sf_volume_prefix = UUID-

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

  • Description: OpenStack driver to enable SolidFire cluster.

Version history:
    1.0 - Initial driver
    1.1 - Refactor, clone support, qos by type and minor bug fixes
    1.2 - Add xfr and retype support
    1.2.1 - Add export/import support
    1.2.2 - Catch VolumeNotFound on accept xfr
    2.0.0 - Move from httplib to requests
    2.0.1 - Implement SolidFire Snapshots
    2.0.2 - Implement secondary account
    2.0.3 - Implement cluster pairing
    2.0.4 - Implement volume replication
    2.0.5 - Try and deal with the stupid retry/clear issues from objects
            and tflow
    2.0.6 - Add a lock decorator around the clone_image method
    2.0.7 - Add scaled IOPS
    2.0.8 - Add active status filter to get volume ops
    2.0.9 - Always purge on delete volume
    2.0.10 - Add response to debug on retryable errors
    2.0.11 - Add ability to failback replicating volumes
    2.0.12 - Fix bug #1744005
    2.0.14 - Fix bug #1782588 qos settings on extend
    2.0.15 - Fix bug #1834013 NetApp SolidFire replication errors
    2.0.16 - Add options for replication mode (Async, Sync and
             SnapshotsOnly)
    2.0.17 - Fix bug #1859653 SolidFire fails to failback when volume
             service is restarted
    2.1.0  - Add Cinder Active/Active support
              - Enable Active/Active support flag
              - Implement Active/Active replication support
    2.2.0  - Add storage assisted volume migration support
    2.2.1  - Fix bug #1891914 fix error on cluster workload rebalancing
             by adding xNotPrimary to the retryable exception list
    2.2.2  - Fix bug #1896112 SolidFire Driver creates duplicate volume
             when API response is lost

StorPoolDriver

Driver configuration options

Name = Default Value

(Type) Description

storpool_replication = 3

(Integer) The default StorPool chain replication value. Used when creating a volume with no specified type if storpool_template is not set. Also used for calculating the apparent free space reported in the stats.

storpool_template = None

(String) The StorPool template for volumes with no type.

  • Description: The StorPool block device driver.

Version history:

0.1.0   - Initial driver
0.2.0   - Bring the driver up to date with Kilo and Liberty:
          - implement volume retyping and migrations
          - use the driver.*VD ABC metaclasses
          - bugfix: fall back to the configured StorPool template
1.0.0   - Imported into OpenStack Liberty with minor fixes
1.1.0   - Bring the driver up to date with Liberty and Mitaka:
          - drop the CloneableVD and RetypeVD base classes
          - enable faster volume copying by specifying
            sparse_volume_copy=true in the stats report
1.1.1   - Fix the internal _storpool_client_id() method to
          not break on an unknown host name or UUID; thus,
          remove the StorPoolConfigurationMissing exception.
1.1.2   - Bring the driver up to date with Pike: do not
          translate the error messages
1.2.0   - Inherit from VolumeDriver, implement get_pool()
1.2.1   - Implement interface.volumedriver, add CI_WIKI_NAME,
          fix the docstring formatting
1.2.2   - Reintroduce the driver into OpenStack Queens,
          add ignore_errors to the internal _detach_volume() method
1.2.3   - Advertise some more driver capabilities.

StorwizeSVCFCDriver

Driver configuration options

Name = Default Value

(Type) Description

cycle_period_seconds = 300

(Integer(min=60, max=86400)) 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.

storwize_peer_pool = None

(String) Specifies the name of the peer pool for hyperswap volume, the peer pool must exist on the other site.

storwize_preferred_host_site = {}

(Dict of String) Specifies the site information for host. One WWPN or multi WWPNs used in the host can be specified. For example: storwize_preferred_host_site=site1:wwpn1,site2:wwpn2&wwpn3 or storwize_preferred_host_site=site1:iqn1,site2:iqn2

storwize_san_secondary_ip = None

(String) Specifies secondary management IP or hostname to be used if san_ip is invalid or becomes inaccessible.

storwize_svc_allow_tenant_qos = False

(Boolean) Allow tenants to specify QOS on create

storwize_svc_flashcopy_rate = 50

(Integer(min=1, max=150)) 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-150.

storwize_svc_flashcopy_timeout = 120

(Integer(min=1, max=600)) Maximum number of seconds to wait for FlashCopy to be prepared.

storwize_svc_mirror_pool = None

(String) Specifies the name of the pool in which mirrored copy is stored. Example: “pool2”

storwize_svc_multihostmap_enabled = True

(Boolean) This option no longer has any affect. It is deprecated and will be removed in the next release.

storwize_svc_multipath_enabled = False

(Boolean) Connect with multipath (FC only; iSCSI multipath is controlled by Nova)

storwize_svc_retain_aux_volume = False

(Boolean) Enable or disable retaining of aux volume on secondary storage during delete of the volume on primary storage or moving the primary volume from mirror to non-mirror with replication enabled. This option is valid for SVC.

storwize_svc_stretched_cluster_partner = None

(String) If operating in stretched cluster mode, specify the name of the pool in which mirrored copies are stored.Example: “pool2”

storwize_svc_vol_autoexpand = True

(Boolean) Storage system autoexpand parameter for volumes (True/False)

storwize_svc_vol_compression = False

(Boolean) Storage system compression option for volumes

storwize_svc_vol_easytier = True

(Boolean) Enable Easy Tier for volumes

storwize_svc_vol_grainsize = 256

(Integer) Storage system grain size parameter for volumes (8/32/64/128/256)

storwize_svc_vol_iogrp = 0

(String) 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.

storwize_svc_vol_nofmtdisk = False

(Boolean) Specifies that the volume not be formatted during creation.

storwize_svc_vol_rsize = 2

(Integer(min=-1, max=100)) Storage system space-efficiency parameter for volumes (percentage)

storwize_svc_vol_warning = 0

(Integer(min=-1, max=100)) Storage system threshold for volume capacity warnings (percentage)

storwize_svc_volpool_name = [‘volpool’]

(List of String) Comma separated list of storage system storage pools for volumes.

  • Description: IBM Storwize V7000 and SVC FC volume driver.

Version history:

1.0 - Initial driver
1.1 - FC support, create_cloned_volume, volume type support,
      get_volume_stats, minor bug fixes
1.2.0 - Added retype
1.2.1 - Code refactor, improved exception handling
1.2.2 - Fix bug #1274123 (races in host-related functions)
1.2.3 - Fix Fibre Channel connectivity: bug #1279758 (add delim
        to lsfabric, clear unused data from connections, ensure
        matching WWPNs by comparing lower case
1.2.4 - Fix bug #1278035 (async migration/retype)
1.2.5 - Added support for manage_existing (unmanage is inherited)
1.2.6 - Added QoS support in terms of I/O throttling rate
1.3.1 - Added support for volume replication
1.3.2 - Added support for consistency group
1.3.3 - Update driver to use ABC metaclasses
2.0 - Code refactor, split init file and placed shared methods
      for FC and iSCSI within the StorwizeSVCCommonDriver class
2.0.1 - Added support for multiple pools with model update
2.1 - Added replication V2 support to the global/metro mirror
      mode
2.1.1 - Update replication to version 2.1
2.2 - Add CG capability to generic volume groups
2.2.1 - Add vdisk mirror/stretch cluster support
2.2.2 - Add npiv support
2.2.3 - Add replication group support
2.2.4 - Add backup snapshots support
2.2.5 - Add hyperswap support

StorwizeSVCISCSIDriver

Driver configuration options

Name = Default Value

(Type) Description

cycle_period_seconds = 300

(Integer(min=60, max=86400)) 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.

storwize_peer_pool = None

(String) Specifies the name of the peer pool for hyperswap volume, the peer pool must exist on the other site.

storwize_preferred_host_site = {}

(Dict of String) Specifies the site information for host. One WWPN or multi WWPNs used in the host can be specified. For example: storwize_preferred_host_site=site1:wwpn1,site2:wwpn2&wwpn3 or storwize_preferred_host_site=site1:iqn1,site2:iqn2

storwize_san_secondary_ip = None

(String) Specifies secondary management IP or hostname to be used if san_ip is invalid or becomes inaccessible.

storwize_svc_allow_tenant_qos = False

(Boolean) Allow tenants to specify QOS on create

storwize_svc_flashcopy_rate = 50

(Integer(min=1, max=150)) 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-150.

storwize_svc_flashcopy_timeout = 120

(Integer(min=1, max=600)) Maximum number of seconds to wait for FlashCopy to be prepared.

storwize_svc_iscsi_chap_enabled = True

(Boolean) Configure CHAP authentication for iSCSI connections (Default: Enabled)

storwize_svc_mirror_pool = None

(String) Specifies the name of the pool in which mirrored copy is stored. Example: “pool2”

storwize_svc_multihostmap_enabled = True

(Boolean) This option no longer has any affect. It is deprecated and will be removed in the next release.

storwize_svc_retain_aux_volume = False

(Boolean) Enable or disable retaining of aux volume on secondary storage during delete of the volume on primary storage or moving the primary volume from mirror to non-mirror with replication enabled. This option is valid for SVC.

storwize_svc_stretched_cluster_partner = None

(String) If operating in stretched cluster mode, specify the name of the pool in which mirrored copies are stored.Example: “pool2”

storwize_svc_vol_autoexpand = True

(Boolean) Storage system autoexpand parameter for volumes (True/False)

storwize_svc_vol_compression = False

(Boolean) Storage system compression option for volumes

storwize_svc_vol_easytier = True

(Boolean) Enable Easy Tier for volumes

storwize_svc_vol_grainsize = 256

(Integer) Storage system grain size parameter for volumes (8/32/64/128/256)

storwize_svc_vol_iogrp = 0

(String) 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.

storwize_svc_vol_nofmtdisk = False

(Boolean) Specifies that the volume not be formatted during creation.

storwize_svc_vol_rsize = 2

(Integer(min=-1, max=100)) Storage system space-efficiency parameter for volumes (percentage)

storwize_svc_vol_warning = 0

(Integer(min=-1, max=100)) Storage system threshold for volume capacity warnings (percentage)

storwize_svc_volpool_name = [‘volpool’]

(List of String) Comma separated list of storage system storage pools for volumes.

  • Description: IBM Storwize V7000 and SVC iSCSI volume driver.

Version history:

1.0 - Initial driver
1.1 - FC support, create_cloned_volume, volume type support,
      get_volume_stats, minor bug fixes
1.2.0 - Added retype
1.2.1 - Code refactor, improved exception handling
1.2.2 - Fix bug #1274123 (races in host-related functions)
1.2.3 - Fix Fibre Channel connectivity: bug #1279758 (add delim
        to lsfabric, clear unused data from connections, ensure
        matching WWPNs by comparing lower case
1.2.4 - Fix bug #1278035 (async migration/retype)
1.2.5 - Added support for manage_existing (unmanage is inherited)
1.2.6 - Added QoS support in terms of I/O throttling rate
1.3.1 - Added support for volume replication
1.3.2 - Added support for consistency group
1.3.3 - Update driver to use ABC metaclasses
2.0 - Code refactor, split init file and placed shared methods
      for FC and iSCSI within the StorwizeSVCCommonDriver class
2.0.1 - Added support for multiple pools with model update
2.1 - Added replication V2 support to the global/metro mirror
      mode
2.1.1 - Update replication to version 2.1
2.2 - Add CG capability to generic volume groups
2.2.1 - Add vdisk mirror/stretch cluster support
2.2.2 - Add replication group support
2.2.3 - Add backup snapshots support
2.2.4 - Add hyperswap support

SynoISCSIDriver

Driver configuration options

Name = Default Value

(Type) Description

chap_password =

(String) Password for specified CHAP account name.

chap_username =

(String) CHAP user name.

driver_use_ssl = False

(Boolean) Tell driver to use SSL for connection to backend storage if the driver supports it.

iscsi_secondary_ip_addresses = []

(List of String) The list of secondary IP addresses of the iSCSI daemon

max_over_subscription_ratio = 20.0

(String(regex=’^(auto|\d*.\d+|\d+)$’)) Representation of the over subscription ratio when thin provisioning is enabled. 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. If ratio is ‘auto’, Cinder will automatically calculate the ratio based on the provisioned capacity and the used space. If not set to auto, the ratio has to be a minimum of 1.0.

reserved_percentage = 0

(Integer(min=0, max=100)) The percentage of backend capacity is reserved

synology_admin_port = 5000

(Port(min=0, max=65535)) Management port for Synology storage.

synology_device_id = None

(String) Device id for skip one time password check for logging in Synology storage if OTP is enabled.

synology_one_time_pass = None

(String) One time password of administrator for logging in Synology storage if OTP is enabled.

synology_password =

(String) Password of administrator for logging in Synology storage.

synology_pool_name =

(String) Volume on Synology storage to be used for creating lun.

synology_ssl_verify = True

(Boolean) Do certificate validation or not if $driver_use_ssl is True

synology_username = admin

(String) Administrator of Synology storage.

target_ip_address = $my_ip

(String) The IP address that the iSCSI daemon is listening on

target_port = 3260

(Port(min=0, max=65535)) The port that the iSCSI daemon is listening on

target_prefix = iqn.2010-10.org.openstack:

(String) Prefix for iSCSI volumes

target_protocol = iscsi

(String(choices=[‘iscsi’, ‘iser’, ‘nvmet_rdma’])) Determines the target protocol for new volumes, created with tgtadm, lioadm and nvmet 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”, in case of nvmet target set to “nvmet_rdma”.

use_chap_auth = False

(Boolean) Option to enable/disable CHAP authentication for targets.

  • Description: OpenStack Cinder drivers for Synology storage.

Version history:
   1.0.0 - Initial driver. Provide Cinder minimum features
   1.0.1 - Add support for UC series model

UnityDriver

Driver configuration options

Name = Default Value

(Type) Description

remove_empty_host = False

(Boolean) To remove the host from Unity when the last LUN is detached from it. By default, it is False.

unity_io_ports = []

(List of String) A comma-separated list of iSCSI or FC ports to be used. Each port can be Unix-style glob expressions.

unity_storage_pool_names = []

(List of String) A comma-separated list of storage pool names to be used.

  • Description: Unity Driver.

Version history:
  1.0.0 - Initial version
  2.0.0 - Add thin clone support
  3.0.0 - Add IPv6 support
  3.1.0 - Support revert to snapshot API
  4.0.0 - Support remove empty host
  4.2.0 - Support compressed volume
  5.0.0 - Support storage assisted volume migration
  6.0.0 - Support generic group and consistent group
  6.1.0 - Support volume replication
  7.0.0 - Support tiering policy
  7.1.0 - Support consistency group replication
  7.2.0 - Support retype volume

VMwareVStorageObjectDriver

Driver configuration options

Name = Default Value

(Type) Description

vmware_adapter_type = lsiLogic

(String(choices=[‘lsiLogic’, ‘busLogic’, ‘lsiLogicsas’, ‘paraVirtual’, ‘ide’])) Default adapter type to be used for attaching volumes.

vmware_api_retry_count = 10

(Integer) Number of times VMware vCenter server API must be retried upon connection related issues.

vmware_ca_file = None

(String) CA bundle file to use in verifying the vCenter server certificate.

vmware_cluster_name = None

(String) Name of a vCenter compute cluster where volumes should be created.

vmware_connection_pool_size = 10

(Integer) Maximum number of connections in http connection pool.

vmware_datastore_regex = None

(String) Regular expression pattern to match the name of datastores where backend volumes are created.

vmware_enable_volume_stats = False

(Boolean) If true, this enables the fetching of the volume stats from the backend. This has potential performance issues at scale. When False, the driver will not collect ANY stats about the backend.

vmware_host_ip = None

(String) IP address for connecting to VMware vCenter server.

vmware_host_password = None

(String) Password for authenticating with VMware vCenter server.

vmware_host_port = 443

(Port(min=0, max=65535)) Port number for connecting to VMware vCenter server.

vmware_host_username = None

(String) Username for authenticating with VMware vCenter server.

vmware_host_version = None

(String) 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.

vmware_image_transfer_timeout_secs = 7200

(Integer) Timeout in seconds for VMDK volume transfer between Cinder and Glance.

vmware_insecure = False

(Boolean) 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.

vmware_lazy_create = True

(Boolean) If true, the backend volume in vCenter server is created lazily when the volume is created without any source. The backend volume is created when the volume is attached, uploaded to image service or during backup.

vmware_max_objects_retrieval = 100

(Integer) 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.

vmware_snapshot_format = template

(String(choices=[‘template’, ‘COW’])) Volume snapshot format in vCenter server.

vmware_storage_profile = None

(String) Names of storage profiles to be monitored. Only used when vmware_enable_volume_stats is True.

vmware_task_poll_interval = 2.0

(Float) The interval (in seconds) for polling remote tasks invoked on VMware vCenter server.

vmware_tmp_dir = /tmp

(String) Directory where virtual disks are stored during volume backup and restore.

vmware_volume_folder = Volumes

(String) Name of the vCenter inventory folder that will contain Cinder volumes. This folder will be created under “OpenStack/<project_folder>”, where project_folder is of format “Project (<volume_project_id>)”.

vmware_wsdl_location = None

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

  • Description: Volume driver based on VMware VStorageObject

VMwareVcVmdkDriver

Driver configuration options

Name = Default Value

(Type) Description

vmware_adapter_type = lsiLogic

(String(choices=[‘lsiLogic’, ‘busLogic’, ‘lsiLogicsas’, ‘paraVirtual’, ‘ide’])) Default adapter type to be used for attaching volumes.

vmware_api_retry_count = 10

(Integer) Number of times VMware vCenter server API must be retried upon connection related issues.

vmware_ca_file = None

(String) CA bundle file to use in verifying the vCenter server certificate.

vmware_cluster_name = None

(String) Name of a vCenter compute cluster where volumes should be created.

vmware_connection_pool_size = 10

(Integer) Maximum number of connections in http connection pool.

vmware_datastore_regex = None

(String) Regular expression pattern to match the name of datastores where backend volumes are created.

vmware_enable_volume_stats = False

(Boolean) If true, this enables the fetching of the volume stats from the backend. This has potential performance issues at scale. When False, the driver will not collect ANY stats about the backend.

vmware_host_ip = None

(String) IP address for connecting to VMware vCenter server.

vmware_host_password = None

(String) Password for authenticating with VMware vCenter server.

vmware_host_port = 443

(Port(min=0, max=65535)) Port number for connecting to VMware vCenter server.

vmware_host_username = None

(String) Username for authenticating with VMware vCenter server.

vmware_host_version = None

(String) 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.

vmware_image_transfer_timeout_secs = 7200

(Integer) Timeout in seconds for VMDK volume transfer between Cinder and Glance.

vmware_insecure = False

(Boolean) 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.

vmware_lazy_create = True

(Boolean) If true, the backend volume in vCenter server is created lazily when the volume is created without any source. The backend volume is created when the volume is attached, uploaded to image service or during backup.

vmware_max_objects_retrieval = 100

(Integer) 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.

vmware_snapshot_format = template

(String(choices=[‘template’, ‘COW’])) Volume snapshot format in vCenter server.

vmware_storage_profile = None

(String) Names of storage profiles to be monitored. Only used when vmware_enable_volume_stats is True.

vmware_task_poll_interval = 2.0

(Float) The interval (in seconds) for polling remote tasks invoked on VMware vCenter server.

vmware_tmp_dir = /tmp

(String) Directory where virtual disks are stored during volume backup and restore.

vmware_volume_folder = Volumes

(String) Name of the vCenter inventory folder that will contain Cinder volumes. This folder will be created under “OpenStack/<project_folder>”, where project_folder is of format “Project (<volume_project_id>)”.

vmware_wsdl_location = None

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

  • Description: Manage volumes on VMware vCenter server.

VNXDriver

Driver configuration options

Name = Default Value

(Type) Description

check_max_pool_luns_threshold = False

(Boolean) DEPRECATED: Report free_capacity_gb as 0 when the limit to maximum number of pool LUNs is reached. By default, the value is False.

default_timeout = 31536000

(Integer) 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.

destroy_empty_storage_group = False

(Boolean) To destroy storage group when the last LUN is removed from it. By default, the value is False.

force_delete_lun_in_storagegroup = True

(Boolean) Delete a LUN even if it is in Storage Groups.

ignore_pool_full_threshold = False

(Boolean) Force LUN creation even if the full threshold of pool is reached. By default, the value is False.

initiator_auto_deregistration = False

(Boolean) Automatically deregister initiators after the related storage group is destroyed. By default, the value is False.

initiator_auto_registration = False

(Boolean) Automatically register initiators. By default, the value is False.

io_port_list = None

(List of String) Comma separated iSCSI or FC ports to be used in Nova or Cinder.

iscsi_initiators = None

(String) Mapping between hostname and its iSCSI initiator IP addresses.

max_luns_per_storage_group = 255

(Integer) Default max number of LUNs in a storage group. By default, the value is 255.

naviseccli_path = None

(String) Naviseccli Path.

storage_vnx_authentication_type = global

(String) VNX authentication scope type. By default, the value is global.

storage_vnx_pool_names = None

(List of String) Comma-separated list of storage pool names to be used.

storage_vnx_security_file_dir = None

(String) Directory path that contains the VNX security file. Make sure the security file is generated first.

vnx_async_migrate = True

(Boolean) Always use asynchronous migration during volume cloning and creating from snapshot. As described in configuration doc, async migration has some constraints. Besides using metadata, customers could use this option to disable async migration. Be aware that async_migrate in metadata overrides this option when both are set. By default, the value is True.

  • Description: Dell EMC Cinder Driver for VNX using CLI.

Version history:
    1.0.0 - Initial driver
    2.0.0 - Thick/thin provisioning, robust enhancement
    3.0.0 - Array-based Backend Support, FC Basic Support,
            Target Port Selection for MPIO,
            Initiator Auto Registration,
            Storage Group Auto Deletion,
            Multiple Authentication Type Support,
            Storage-Assisted Volume Migration,
            SP Toggle for HA
    3.0.1 - Security File Support
    4.0.0 - Advance LUN Features (Compression Support,
            Deduplication Support, FAST VP Support,
            FAST Cache Support), Storage-assisted Retype,
            External Volume Management, Read-only Volume,
            FC Auto Zoning
    4.1.0 - Consistency group support
    5.0.0 - Performance enhancement, LUN Number Threshold Support,
            Initiator Auto Deregistration,
            Force Deleting LUN in Storage Groups,
            robust enhancement
    5.1.0 - iSCSI multipath enhancement
    5.2.0 - Pool-aware scheduler support
    5.3.0 - Consistency group modification support
    6.0.0 - Over subscription support
            Create consistency group from cgsnapshot support
            Multiple pools support enhancement
            Manage/unmanage volume revise
            White list target ports support
            Snap copy support
            Support efficient non-disruptive backup
    7.0.0 - Clone consistency group support
            Replication v2 support(managed)
            Configurable migration rate support
    8.0.0 - New VNX Cinder driver
    9.0.0 - Use asynchronous migration for cloning
    10.0.0 - Extend SMP size before async migration when cloning from an
             image cache volume
    10.1.0 - Add QoS support
    10.2.0 - Add replication group support
    11.0.0 - Fix failure of migration during cloning
    12.0.0 - Add `volume revert to snapshot` support
    12.1.0 - Adjust max_luns_per_storage_group and
             check_max_pool_luns_threshold
    12.1.1 - Fix perf issue when create/delete volume
    13.0.0 - Fix bug https://bugs.launchpad.net/cinder/+bug/1817385 to
             make sure sg can be created again after it was destroyed
             under `destroy_empty_stroage_group` setting to `True`
    14.0.0 - Fix bug 1794646: failed to delete LUNs from backend due to
             the temporary snapshots on them wasn't deleted.
    14.0.1 - Fix bug 1796825, add an option to set default value for
             `async_migrate`.

WindowsISCSIDriver

Driver configuration options

Name = Default Value

(Type) Description

windows_iscsi_lun_path = C:iSCSIVirtualDisks

(String) Path to store VHD backed volumes

  • Description: Executes volume driver commands on Windows Storage server.

WindowsSmbfsDriver

Driver configuration options

Name = Default Value

(Type) Description

smbfs_default_volume_format = vhd

(String(choices=[‘vhd’, ‘vhdx’])) Default format that will be used when creating volumes if no volume format is specified.

smbfs_mount_point_base = C:OpenStack_mnt

(String) Base dir containing mount points for smbfs shares.

smbfs_pool_mappings = {}

(Dict of String) 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

smbfs_shares_config = C:OpenStacksmbfs_shares.txt

(String) File with the list of available smbfs shares.

  • Description: <None>

XtremIOFCDriver

Driver configuration options

Name = Default Value

(Type) Description

driver_ssl_cert_path = None

(String) 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

driver_ssl_cert_verify = False

(Boolean) If set to True the http client will validate the SSL certificate of the backend endpoint.

max_over_subscription_ratio = 20.0

(String(regex=’^(auto|\d*.\d+|\d+)$’)) Representation of the over subscription ratio when thin provisioning is enabled. 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. If ratio is ‘auto’, Cinder will automatically calculate the ratio based on the provisioned capacity and the used space. If not set to auto, the ratio has to be a minimum of 1.0.

reserved_percentage = 0

(Integer(min=0, max=100)) The percentage of backend capacity is reserved

san_ip =

(String) IP address of SAN controller

san_login = admin

(String) Username for SAN controller

san_password =

(String) Password for SAN controller

xtremio_array_busy_retry_count = 5

(Integer) Number of retries in case array is busy

xtremio_array_busy_retry_interval = 5

(Integer) Interval between retries in case array is busy

xtremio_clean_unused_ig = False

(Boolean) Should the driver remove initiator groups with no volumes after the last connection was terminated. Since the behavior till now was to leave the IG be, we default to False (not deleting IGs without connected volumes); setting this parameter to True will remove any IG after terminating its connection to the last volume.

xtremio_cluster_name =

(String) XMS cluster id in multi-cluster environment

xtremio_ports = []

(List of String) Allowed ports. Comma separated list of XtremIO iSCSI IPs or FC WWNs (ex. 58:cc:f0:98:49:22:07:02) to be used. If option is not set all ports are allowed.

xtremio_volumes_per_glance_cache = 100

(Integer) Number of volumes created from each cached glance image

  • Description: <None>

XtremIOISCSIDriver

Driver configuration options

Name = Default Value

(Type) Description

driver_ssl_cert_path = None

(String) 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

driver_ssl_cert_verify = False

(Boolean) If set to True the http client will validate the SSL certificate of the backend endpoint.

max_over_subscription_ratio = 20.0

(String(regex=’^(auto|\d*.\d+|\d+)$’)) Representation of the over subscription ratio when thin provisioning is enabled. 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. If ratio is ‘auto’, Cinder will automatically calculate the ratio based on the provisioned capacity and the used space. If not set to auto, the ratio has to be a minimum of 1.0.

reserved_percentage = 0

(Integer(min=0, max=100)) The percentage of backend capacity is reserved

san_ip =

(String) IP address of SAN controller

san_login = admin

(String) Username for SAN controller

san_password =

(String) Password for SAN controller

xtremio_array_busy_retry_count = 5

(Integer) Number of retries in case array is busy

xtremio_array_busy_retry_interval = 5

(Integer) Interval between retries in case array is busy

xtremio_clean_unused_ig = False

(Boolean) Should the driver remove initiator groups with no volumes after the last connection was terminated. Since the behavior till now was to leave the IG be, we default to False (not deleting IGs without connected volumes); setting this parameter to True will remove any IG after terminating its connection to the last volume.

xtremio_cluster_name =

(String) XMS cluster id in multi-cluster environment

xtremio_ports = []

(List of String) Allowed ports. Comma separated list of XtremIO iSCSI IPs or FC WWNs (ex. 58:cc:f0:98:49:22:07:02) to be used. If option is not set all ports are allowed.

xtremio_volumes_per_glance_cache = 100

(Integer) Number of volumes created from each cached glance image

  • Description: Executes commands relating to ISCSI volumes.

We make use of model provider properties as follows:

provider_location

if present, contains the iSCSI target information in the same format as an ietadm discovery i.e. ‘<ip>:<port>,<portal> <target IQN>’

provider_auth

if present, contains a space-separated triple: ‘<auth method> <auth username> <auth password>’. CHAP is the only auth_method in use at the moment.

ZadaraVPSAISCSIDriver

Driver configuration options

Name = Default Value

(Type) Description

zadara_access_key = None

(String) VPSA access key

zadara_default_snap_policy = False

(Boolean) VPSA - Attach snapshot policy for volumes

zadara_password = None

(String) VPSA - Password

zadara_ssl_cert_verify = True

(Boolean) If set to True the http client will validate the SSL certificate of the VPSA endpoint.

zadara_use_iser = True

(Boolean) VPSA - Use ISER instead of iSCSI

zadara_user = None

(String) VPSA - Username

zadara_vol_encrypt = False

(Boolean) VPSA - Default encryption policy for volumes

zadara_vol_name_template = OS_%s

(String) VPSA - Default template for VPSA volume names

zadara_vpsa_host = None

(String) VPSA - Management Host name or IP address

zadara_vpsa_poolname = None

(String) VPSA - Storage Pool assigned for volumes

zadara_vpsa_port = None

(Port(min=0, max=65535)) VPSA - Port number

zadara_vpsa_use_ssl = False

(Boolean) VPSA - Use SSL connection

  • Description: Zadara VPSA iSCSI/iSER volume driver.

Version history:
  15.07 - Initial driver
  16.05 - Move from httplib to requests
  19.08 - Add API access key authentication option

Unsupported Drivers

ACCESSIscsiDriver (unsupported)

Driver configuration options

Name = Default Value

(Type) Description

vrts_lun_sparse = True

(Boolean) Create sparse Lun.

vrts_target_config = /etc/cinder/vrts_target.xml

(String) VA config file.

  • Description: ACCESS Share Driver.

Executes commands relating to ACCESS ISCSI. Supports creation of volumes on ACCESS.

API version history:

   1.0 - Initial version.

DPLFCDriver (unsupported)

Driver configuration options

Name = Default Value

(Type) Description

dpl_pool =

(String) DPL pool uuid in which DPL volumes are stored.

dpl_port = 8357

(Port(min=0, max=65535)) DPL port number.

  • Description: <None>

DPLISCSIDriver (unsupported)

Driver configuration options

Name = Default Value

(Type) Description

dpl_pool =

(String) DPL pool uuid in which DPL volumes are stored.

dpl_port = 8357

(Port(min=0, max=65535)) DPL port number.

  • Description: <None>

FlashSystemFCDriver (unsupported)

Driver configuration options

Name = Default Value

(Type) Description

flashsystem_connection_protocol = FC

(String) Connection protocol should be FC. (Default is FC.)

flashsystem_multihostmap_enabled = True

(Boolean) Allows vdisk to multi host mapping. (Default is True)

  • Description: IBM FlashSystem FC volume driver.

Version history:

1.0.0 - Initial driver
1.0.1 - Code clean up
1.0.2 - Add lock into vdisk map/unmap, connection
        initialize/terminate
1.0.3 - Initial driver for iSCSI
1.0.4 - Split Flashsystem driver into common and FC
1.0.5 - Report capability of volume multiattach
1.0.6 - Fix bug #1469581, add I/T mapping check in
        terminate_connection
1.0.7 - Fix bug #1505477, add host name check in
        _find_host_exhaustive for FC
1.0.8 - Fix bug #1572743, multi-attach attribute
        should not be hardcoded, only in iSCSI
1.0.9 - Fix bug #1570574, Cleanup host resource
        leaking, changes only in iSCSI
1.0.10 - Fix bug #1585085, add host name check in
         _find_host_exhaustive for iSCSI
1.0.11 - Update driver to use ABC metaclasses
1.0.12 - Update driver to support Manage/Unmanage
         existing volume

FlashSystemISCSIDriver (unsupported)

Driver configuration options

Name = Default Value

(Type) Description

flashsystem_connection_protocol = FC

(String) Connection protocol should be FC. (Default is FC.)

flashsystem_multihostmap_enabled = True

(Boolean) Allows vdisk to multi host mapping. (Default is True)

  • Description: IBM FlashSystem iSCSI volume driver.

Version history:

1.0.0 - Initial driver
1.0.1 - Code clean up
1.0.2 - Add lock into vdisk map/unmap, connection
        initialize/terminate
1.0.3 - Initial driver for iSCSI
1.0.4 - Split Flashsystem driver into common and FC
1.0.5 - Report capability of volume multiattach
1.0.6 - Fix bug #1469581, add I/T mapping check in
        terminate_connection
1.0.7 - Fix bug #1505477, add host name check in
        _find_host_exhaustive for FC
1.0.8 - Fix bug #1572743, multi-attach attribute
        should not be hardcoded, only in iSCSI
1.0.9 - Fix bug #1570574, Cleanup host resource
        leaking, changes only in iSCSI
1.0.10 - Fix bug #1585085, add host name check in
         _find_host_exhaustive for iSCSI
1.0.11 - Update driver to use ABC metaclasses
1.0.12 - Update driver to support Manage/Unmanage
         existing volume

VZStorageDriver (unsupported)

Driver configuration options

Name = Default Value

(Type) Description

vzstorage_default_volume_format = raw

(String) Default format that will be used when creating volumes if no volume format is specified.

vzstorage_mount_options = None

(List of String) Mount options passed to the vzstorage client. See section of the pstorage-mount man page for details.

vzstorage_mount_point_base = $state_path/mnt

(String) Base dir containing mount points for vzstorage shares.

vzstorage_shares_config = /etc/cinder/vzstorage_shares

(String) File with the list of available vzstorage shares.

vzstorage_sparsed_volumes = True

(Boolean) 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.

vzstorage_used_ratio = 0.95

(Float) Percent of ACTUAL usage of the underlying volume before no new volumes can be allocated to the volume destination.

  • Description: Cinder driver for Virtuozzo Storage.

Creates volumes as files on the mounted vzstorage cluster.

Version history:
  1.0     - Initial driver.
  1.1     - Supports vz:volume_format in vendor properties.

VeritasCNFSDriver (unsupported)

Driver configuration options

Name = Default Value

(Type) Description

nas_host =

(String) IP address or Hostname of NAS system.

nas_login = admin

(String) User name to connect to NAS system.

nas_mount_options = None

(String) Options used to mount the storage backend file system where Cinder volumes are stored.

nas_password =

(String) Password to connect to NAS system.

nas_private_key =

(String) Filename of private key to use for SSH authentication.

nas_secure_file_operations = auto

(String) 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.

nas_secure_file_permissions = auto

(String) 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.

nas_share_path =

(String) 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 .

nas_ssh_port = 22

(Port(min=0, max=65535)) SSH port to use to connect to NAS system.

nfs_mount_attempts = 3

(Integer) 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.

nfs_mount_options = None

(String) Mount options passed to the NFS client. See the NFS(5) man page for details.

nfs_mount_point_base = $state_path/mnt

(String) Base dir containing mount points for NFS shares.

nfs_qcow2_volumes = False

(Boolean) Create volumes as QCOW2 files rather than raw files.

nfs_shares_config = /etc/cinder/nfs_shares

(String) File with the list of available NFS shares.

nfs_snapshot_support = False

(Boolean) Enable support for snapshots on the NFS driver. Platforms using libvirt <1.2.7 will encounter issues with this feature.

nfs_sparsed_volumes = True

(Boolean) 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.

  • Description: Veritas Clustered NFS based cinder driver

    Version History:
    
      1.0.0 - Initial driver implementations for Kilo.
      1.0.1 - Liberty release driver not implemented.
              Place holder for Liberty release in case we
              need to support.
      1.0.2 - cinder.interface.volumedriver decorator.
              Mitaka/Newton/Okata Release
      1.0.3 - Seperate create_cloned_volume() and
              create_volume_from_snapshot () functionality.
              Pike Release
    

Executes commands relating to Volumes.

Backup Drivers

CephBackupDriver

  • backup_driver=cinder.backup.drivers.ceph.CephBackupDriver

  • Driver Configuration Options:

Driver configuration options

Name = Default Value

(Type) Description

backup_ceph_chunk_size = 134217728

(Integer) The chunk size, in bytes, that a backup is broken into before transfer to the Ceph object store.

backup_ceph_conf = /etc/ceph/ceph.conf

(String) Ceph configuration file to use.

backup_ceph_image_journals = False

(Boolean) If True, apply JOURNALING and EXCLUSIVE_LOCK feature bits to the backup RBD objects to allow mirroring

backup_ceph_pool = backups

(String) The Ceph pool where volume backups are stored.

backup_ceph_stripe_count = 0

(Integer) RBD stripe count to use when creating a backup image.

backup_ceph_stripe_unit = 0

(Integer) RBD stripe unit to use when creating a backup image.

backup_ceph_user = cinder

(String) 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.

restore_discard_excess_bytes = True

(Boolean) If True, always discard excess bytes when restoring volumes i.e. pad with zeroes.

  • Description: Backup Cinder volumes to Ceph Object Store.

This class enables backing up Cinder volumes to a Ceph object store. Backups may be stored in their own pool or even cluster. Store location is defined by the Ceph conf file and service config options supplied.

If the source volume is itself an RBD volume, the backup will be performed using incremental differential backups which should give a performance gain.

GlusterfsBackupDriver

  • backup_driver=cinder.backup.drivers.glusterfs.GlusterfsBackupDriver

  • Driver Configuration Options:

Driver configuration options

Name = Default Value

(Type) Description

glusterfs_backup_mount_point = $state_path/backup_mount

(String) Base dir containing mount point for gluster share.

glusterfs_backup_share = None

(String) GlusterFS share in <hostname|ipv4addr|ipv6addr>:<gluster_vol_name> format. Eg: 1.2.3.4:backup_vol

  • Description: Provides backup, restore and delete using GlusterFS repository.

GoogleBackupDriver

  • backup_driver=cinder.backup.drivers.gcs.GoogleBackupDriver

  • Driver Configuration Options:

Driver configuration options

Name = Default Value

(Type) Description

backup_gcs_block_size = 32768

(Integer) The size in bytes that changes are tracked for incremental backups. backup_gcs_object_size has to be multiple of backup_gcs_block_size.

backup_gcs_bucket = None

(String) The GCS bucket to use.

backup_gcs_bucket_location = US

(String) Location of GCS bucket.

backup_gcs_credential_file = None

(String) Absolute path of GCS service account credential file.

backup_gcs_enable_progress_timer = True

(Boolean) 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.

backup_gcs_num_retries = 3

(Integer) Number of times to retry.

backup_gcs_object_size = 52428800

(Integer) The size in bytes of GCS backup objects.

backup_gcs_project_id = None

(String) Owner project id for GCS bucket.

backup_gcs_proxy_url = None

(URI) URL for http proxy access.

backup_gcs_reader_chunk_size = 2097152

(Integer) GCS object will be downloaded in chunks of bytes.

backup_gcs_retry_error_codes = [‘429’]

(List of String) List of GCS error codes.

backup_gcs_storage_class = NEARLINE

(String) Storage class of GCS bucket.

backup_gcs_user_agent = gcscinder

(String) Http user-agent string for gcs api.

backup_gcs_writer_chunk_size = 2097152

(Integer) 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.

  • Description: Provides backup, restore and delete of backup objects within GCS.

NFSBackupDriver

  • backup_driver=cinder.backup.drivers.nfs.NFSBackupDriver

  • Driver Configuration Options:

Driver configuration options

Name = Default Value

(Type) Description

backup_container = None

(String) Custom directory to use for backups.

backup_enable_progress_timer = True

(Boolean) 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.

backup_file_size = 1999994880

(Integer) 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.

backup_posix_path = $state_path/backup

(String) Path specifying where to store backups.

backup_sha_block_size_bytes = 32768

(Integer) The size in bytes that changes are tracked for incremental backups. backup_file_size has to be multiple of backup_sha_block_size_bytes.

  • Description: Provides backup, restore and delete using NFS supplied repository.

PosixBackupDriver

  • backup_driver=cinder.backup.drivers.posix.PosixBackupDriver

  • Driver Configuration Options:

Driver configuration options

Name = Default Value

(Type) Description

backup_container = None

(String) Custom directory to use for backups.

backup_enable_progress_timer = True

(Boolean) 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.

backup_file_size = 1999994880

(Integer) 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.

backup_posix_path = $state_path/backup

(String) Path specifying where to store backups.

backup_sha_block_size_bytes = 32768

(Integer) The size in bytes that changes are tracked for incremental backups. backup_file_size has to be multiple of backup_sha_block_size_bytes.

  • Description: Provides backup, restore and delete using a Posix file system.

SwiftBackupDriver

  • backup_driver=cinder.backup.drivers.swift.SwiftBackupDriver

  • Driver Configuration Options:

Driver configuration options

Name = Default Value

(Type) Description

backup_swift_auth = per_user

(String(choices=[‘per_user’, ‘single_user’])) Swift authentication mechanism (per_user or single_user).

backup_swift_auth_insecure = False

(Boolean) Bypass verification of server certificate when making SSL connection to Swift.

backup_swift_auth_url = None

(URI) The URL of the Keystone endpoint

backup_swift_auth_version = 1

(String) Swift authentication version. Specify “1” for auth 1.0, or “2” for auth 2.0 or “3” for auth 3.0

backup_swift_block_size = 32768

(Integer) The size in bytes that changes are tracked for incremental backups. backup_swift_object_size has to be multiple of backup_swift_block_size.

backup_swift_ca_cert_file = None

(String) Location of the CA certificate file to use for swift client requests.

backup_swift_container = volumebackups

(String) The default Swift container to use

backup_swift_enable_progress_timer = True

(Boolean) 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.

backup_swift_key = None

(String) Swift key for authentication

backup_swift_object_size = 52428800

(Integer) The size in bytes of Swift backup objects

backup_swift_project = None

(String) Swift project/account name. Required when connecting to an auth 3.0 system

backup_swift_project_domain = None

(String) Swift project domain name. Required when connecting to an auth 3.0 system

backup_swift_retry_attempts = 3

(Integer) The number of retries to make for Swift operations

backup_swift_retry_backoff = 2

(Integer) The backoff time in seconds between Swift retries

backup_swift_tenant = None

(String) Swift tenant/account name. Required when connecting to an auth 2.0 system

backup_swift_url = None

(URI) The URL of the Swift endpoint

backup_swift_user = None

(String) Swift user name

backup_swift_user_domain = None

(String) Swift user domain name. Required when connecting to an auth 3.0 system

keystone_catalog_info = identity:Identity Service:publicURL

(String) Info to match when looking for keystone in the service catalog. Format is: separated values of the form: <service_type>:<service_name>:<endpoint_type> - Only used if backup_swift_auth_url is unset

swift_catalog_info = object-store:swift:publicURL

(String) Info to match when looking for swift in the service catalog. Format is: separated values of the form: <service_type>:<service_name>:<endpoint_type> - Only used if backup_swift_url is unset

  • Description: Provides backup, restore and delete of backup objects within Swift.

TSMBackupDriver

  • backup_driver=cinder.backup.drivers.tsm.TSMBackupDriver

  • Driver Configuration Options:

Driver configuration options

Name = Default Value

(Type) Description

backup_tsm_compression = True

(Boolean) Enable or Disable compression for backups

backup_tsm_password = password

(String) TSM password for the running username

backup_tsm_volume_prefix = backup

(String) Volume prefix for the backup id when backing up to TSM

  • Description: Provides backup, restore and delete of volumes backup for TSM.

FC Zone Manager Drivers

BrcdFCZoneDriver (unsupported)

Driver configuration options

Name = Default Value

(Type) Description

brcd_sb_connector = HTTP

(String) South bound connector for zoning operation

fc_fabric_address =

(String) Management IP of fabric.

fc_fabric_password =

(String) Password for user.

fc_fabric_port = 22

(Port(min=0, max=65535)) Connecting port

fc_fabric_ssh_cert_path =

(String) Local SSH certificate Path.

fc_fabric_user =

(String) Fabric user ID.

fc_southbound_protocol = REST_HTTP

(String(choices=[‘SSH’, ‘HTTP’, ‘HTTPS’, ‘REST_HTTP’, ‘REST_HTTPS’])) South bound connector for the fabric.

fc_virtual_fabric_id = None

(String) Virtual Fabric ID.

zone_activate = True

(Boolean) Overridden zoning activation state.

zone_name_prefix = openstack

(String) Overridden zone name prefix.

zoning_policy = initiator-target

(String) Overridden zoning policy.

  • Description: Brocade FC zone driver implementation.

OpenStack Fibre Channel zone driver to manage FC zoning in Brocade SAN fabrics.

Version history:
  1.0 - Initial Brocade FC zone driver
  1.1 - Implements performance enhancements
  1.2 - Added support for friendly zone name
  1.3 - Added HTTP connector support
  1.4 - Adds support to zone in Virtual Fabrics
  1.5 - Initiator zoning updates through zoneadd/zoneremove
  1.6 - Add REST connector

CiscoFCZoneDriver

Driver configuration options

Name = Default Value

(Type) Description

cisco_sb_connector = cinder.zonemanager.drivers.cisco.cisco_fc_zone_client_cli.CiscoFCZoneClientCLI

(String) Southbound connector for zoning operation

  • Description: Cisco FC zone driver implementation.

OpenStack Fibre Channel zone driver to manage FC zoning in Cisco SAN fabrics.

Version history:
  1.0 - Initial Cisco FC zone driver
  1.1 - Added friendly zone name support