Available Drivers¶
Volume Drivers¶
Supported Drivers¶
AS13000Driver¶
Version: 1.0.0
volume_driver=cinder.volume.drivers.inspur.as13000.as13000_driver.AS13000Driver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/Inspur_CI
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
Acs5000FCDriver¶
Version: 1.0.0
volume_driver=cinder.volume.drivers.toyou.acs5000.acs5000_fc.Acs5000FCDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/TOYOU_ACS5000_CI
Driver Configuration Options:
Name = Default Value |
(Type) Description |
---|---|
acs5000_copy_interval = 5 |
(Integer(min=3, max=100)) When volume copy task is going on,refresh volume status interval |
acs5000_multiattach = False |
(Boolean) Enable to allow volumes attaching to multiple hosts with no limit. |
acs5000_volpool_name = [‘pool01’] |
(List of String) Comma separated list of storage system storage pools for volumes. |
san_ip = |
(String) IP address of SAN controller |
san_login = admin |
(String) Username for SAN controller |
san_password = |
(String) Password for SAN controller |
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 |
ssh_max_pool_conn = 5 |
(Integer) Maximum ssh connections in the pool |
ssh_min_pool_conn = 1 |
(Integer) Minimum ssh connections in the pool |
Description: TOYOU ACS5000 storage FC volume driver.
Version history:
1.0.0 - Initial driver
Acs5000ISCSIDriver¶
Version: 1.0.0
volume_driver=cinder.volume.drivers.toyou.acs5000.acs5000_iscsi.Acs5000ISCSIDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/TOYOU_ACS5000_CI
Driver Configuration Options:
Name = Default Value |
(Type) Description |
---|---|
acs5000_copy_interval = 5 |
(Integer(min=3, max=100)) When volume copy task is going on,refresh volume status interval |
acs5000_multiattach = False |
(Boolean) Enable to allow volumes attaching to multiple hosts with no limit. |
acs5000_volpool_name = [‘pool01’] |
(List of String) Comma separated list of storage system storage pools for volumes. |
san_ip = |
(String) IP address of SAN controller |
san_login = admin |
(String) Username for SAN controller |
san_password = |
(String) Password for SAN controller |
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 |
ssh_max_pool_conn = 5 |
(Integer) Maximum ssh connections in the pool |
ssh_min_pool_conn = 1 |
(Integer) Minimum ssh connections in the pool |
Description: TOYOU ACS5000 storage iSCSI volume driver.
Version history:
1.0.0 - Initial driver
DSWAREDriver¶
Version: 2.0
volume_driver=cinder.volume.drivers.fusionstorage.dsware.DSWAREDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/Huawei_FusionStorage_CI
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>
DataCoreVolumeDriver¶
Version: N/A
volume_driver=cinder.volume.drivers.datacore.driver.DataCoreVolumeDriver
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. |
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_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’, ‘nvmet’, ‘spdk-nvmeof’, ‘fake’])) Target user-land tool to use. tgtadm is default, use lioadm for LIO iSCSI support, scstadmin for SCST target support, iscsictl for Chelsio iSCSI Target, nvmet for NVMEoF support, spdk-nvmeof for SPDK NVMe-oF, or fake for testing. |
target_ip_address = $my_ip |
(String) The IP address that the iSCSI/NVMEoF daemon is listening on |
target_port = 3260 |
(Port(min=0, max=65535)) The port that the iSCSI/NVMEoF daemon is listening on |
target_prefix = iqn.2010-10.org.openstack: |
(String) Prefix for iSCSI/NVMEoF volumes |
target_protocol = iscsi |
(String(choices=[‘iscsi’, ‘iser’, ‘nvmet_rdma’, ‘nvmet_tcp’])) 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” or “nvmet_tcp”. |
target_secondary_ip_addresses = [] |
(List of String) The list of secondary IP addresses of the iSCSI/NVMEoF daemon |
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: DataCore SANsymphony base volume driver.
DateraDriver¶
Version: 2019.12.10.0
volume_driver=cinder.volume.drivers.datera.datera_iscsi.DateraDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/datera-ci
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. |
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_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’, ‘nvmet’, ‘spdk-nvmeof’, ‘fake’])) Target user-land tool to use. tgtadm is default, use lioadm for LIO iSCSI support, scstadmin for SCST target support, iscsictl for Chelsio iSCSI Target, nvmet for NVMEoF support, spdk-nvmeof for SPDK NVMe-oF, or fake for testing. |
target_ip_address = $my_ip |
(String) The IP address that the iSCSI/NVMEoF daemon is listening on |
target_port = 3260 |
(Port(min=0, max=65535)) The port that the iSCSI/NVMEoF daemon is listening on |
target_prefix = iqn.2010-10.org.openstack: |
(String) Prefix for iSCSI/NVMEoF volumes |
target_protocol = iscsi |
(String(choices=[‘iscsi’, ‘iser’, ‘nvmet_rdma’, ‘nvmet_tcp’])) 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” or “nvmet_tcp”. |
target_secondary_ip_addresses = [] |
(List of String) The list of secondary IP addresses of the iSCSI/NVMEoF daemon |
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¶
Version: 1.4.7
volume_driver=cinder.volume.drivers.fujitsu.eternus_dx.eternus_dx_fc.FJDXFCDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/Fujitsu_ETERNUS_CI
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. |
fujitsu_use_cli_copy = False |
(Boolean) If True use CLI command to create snapshot. |
Description: FC Cinder Volume Driver for Fujitsu ETERNUS DX S3 series.
FJDXISCSIDriver¶
Version: 1.4.7
volume_driver=cinder.volume.drivers.fujitsu.eternus_dx.eternus_dx_iscsi.FJDXISCSIDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/Fujitsu_ETERNUS_CI
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. |
fujitsu_use_cli_copy = False |
(Boolean) If True use CLI command to create snapshot. |
Description: iSCSI Cinder Volume Driver for Fujitsu ETERNUS DX S3 series.
FibreChannelVolumeDriver¶
Version: 2.0.0
volume_driver=cinder.volume.drivers.datacore.fc.FibreChannelVolumeDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/DataCore_CI
Driver Configuration Options:
Name = Default Value |
(Type) Description |
---|---|
datacore_api_timeout = 300 |
(Integer(min=1)) Seconds to wait for a response from a DataCore API call. |
datacore_disk_failed_delay = 300 |
(Integer(min=0)) Seconds to wait for DataCore virtual disk to come out of the “Failed” state. |
datacore_disk_pools = [] |
(List of String) List of DataCore disk pools that can be used by volume driver. |
datacore_disk_type = single |
(String(choices=[‘single’, ‘mirrored’])) DataCore virtual disk type (single/mirrored). Mirrored virtual disks require two storage servers in the server group. |
datacore_fc_unallowed_targets = [] |
(List of String) List of FC targets that cannot be used to attach volume. To prevent the DataCore FibreChannel volume driver from using some front-end targets in volume attachment, specify this option and list the iqn and target machine for each target as the value, such as <wwpns:target name>, <wwpns:target name>, <wwpns:target name>. |
datacore_storage_profile = None |
(String) DataCore virtual disk storage profile. |
san_ip = |
(String) IP address of SAN controller |
san_login = admin |
(String) Username for SAN controller |
san_password = |
(String) Password for SAN controller |
Description: DataCore SANsymphony Fibre Channel volume driver.
Version history:
1.0.0 - Initial driver
2.0.0 - Reintroduce the driver
FungibleDriver¶
Version: 1.0.0
volume_driver=cinder.volume.drivers.fungible.driver.FungibleDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/Fungible_Storage_CI
Driver Configuration Options:
Name = Default Value |
(Type) Description |
---|---|
api_enable_ssl = True |
(Boolean) Specify whether to use SSL or not when accessing the composer APIs |
fsc_clone_volume_timeout = 1800 |
(Integer) Create clone volume timeout in seconds |
iops_for_image_migration = 250000 |
(Integer) Maximum read IOPS that volume can get when reading data from the volume during host assisted migration |
nvme_connect_port = 4420 |
(Port(min=0, max=65535)) The port number to be used when doing nvme connect from host |
san_api_port = None |
(Port(min=0, max=65535)) Port to use to access the SAN API |
san_ip = |
(String) IP address of SAN controller |
san_login = admin |
(String) Username for SAN controller |
san_password = |
(String) Password for SAN controller |
Description: Fungible Storage driver
Fungible driver is a volume driver for Fungible Storage.
- Version history:
1.0.0 - First source driver version
GPFSDriver¶
Version: 1.3.1
volume_driver=cinder.volume.drivers.ibm.gpfs.GPFSDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/IBM_GPFS_CI
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¶
Version: 1.0
volume_driver=cinder.volume.drivers.ibm.gpfs.GPFSNFSDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/IBM_GPFS_CI
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¶
Version: 1.0
volume_driver=cinder.volume.drivers.ibm.gpfs.GPFSRemoteDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/IBM_GPFS_CI
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¶
Version: 2.4.0
volume_driver=cinder.volume.drivers.hitachi.hbsd_fc.HBSDFCDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/Hitachi_VSP_CI
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_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. |
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. |
hitachi_async_copy_check_interval = 10 |
(Integer(min=1, max=600)) Interval in seconds to check asynchronous copying status during a copy pair deletion or data restoration. |
hitachi_compute_target_ports = [] |
(List of String) IDs of the storage ports used to attach volumes to compute nodes. To specify multiple ports, connect them by commas (e.g. CL1-A,CL2-A). |
hitachi_copy_check_interval = 3 |
(Integer(min=1, max=600)) Interval in seconds to check copying status during a volume copy. |
hitachi_copy_speed = 3 |
(Integer(min=1, max=15)) Copy speed of storage system. 1 or 2 indicates low speed, 3 indicates middle speed, and a value between 4 and 15 indicates high speed. |
hitachi_discard_zero_page = True |
(Boolean) Enable or disable zero page reclamation in a DP-VOL. |
hitachi_exec_retry_interval = 5 |
(Integer) Retry interval in seconds for REST API execution. |
hitachi_extend_timeout = 600 |
(Integer) Maximum wait time in seconds for a volume extention to complete. |
hitachi_group_create = False |
(Boolean) If True, the driver will create host groups or iSCSI targets on storage ports as needed. |
hitachi_group_delete = False |
(Boolean) If True, the driver will delete host groups or iSCSI targets on storage ports as needed. |
hitachi_group_name_format = None |
(String) Format of host groups, iSCSI targets, and server objects. |
hitachi_host_mode_options = [] |
(List of Integer) Host mode option for host group or iSCSI target. |
hitachi_ldev_range = None |
(String) Range of the LDEV numbers in the format of ‘xxxx-yyyy’ that can be used by the driver. Values can be in decimal format (e.g. 1000) or in colon-separated hexadecimal format (e.g. 00:03:E8). |
hitachi_lock_timeout = 7200 |
(Integer) Maximum wait time in seconds for storage to be logined or unlocked. |
hitachi_lun_retry_interval = 1 |
(Integer) Retry interval in seconds for REST API adding a LUN mapping to the server. |
hitachi_lun_timeout = 50 |
(Integer) Maximum wait time in seconds for adding a LUN mapping to the server. |
hitachi_mirror_auth_password = None |
(String) iSCSI authentication password |
hitachi_mirror_auth_user = None |
(String) iSCSI authentication username |
hitachi_mirror_compute_target_ports = [] |
(List of String) Target port names of compute node for host group or iSCSI target |
hitachi_mirror_ldev_range = None |
(String) Logical device range of secondary storage system |
hitachi_mirror_pair_target_number = 0 |
(Integer(min=0, max=99)) Pair target name of the host group or iSCSI target |
hitachi_mirror_pool = None |
(String) Pool of secondary storage system |
hitachi_mirror_rest_api_ip = None |
(String) IP address of REST API server |
hitachi_mirror_rest_api_port = 443 |
(Port(min=0, max=65535)) Port number of REST API server |
hitachi_mirror_rest_pair_target_ports = [] |
(List of String) Target port names for pair of the host group or iSCSI target |
hitachi_mirror_rest_password = None |
(String) Password of secondary storage system for REST API |
hitachi_mirror_rest_user = None |
(String) Username of secondary storage system for REST API |
hitachi_mirror_snap_pool = None |
(String) Thin pool of secondary storage system |
hitachi_mirror_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 |
hitachi_mirror_ssl_cert_verify = False |
(Boolean) If set to True the http client will validate the SSL certificate of the backend endpoint. |
hitachi_mirror_storage_id = None |
(String) ID of secondary storage system |
hitachi_mirror_target_ports = [] |
(List of String) Target port names for host group or iSCSI target |
hitachi_mirror_use_chap_auth = False |
(Boolean) Whether or not to use iSCSI authentication |
hitachi_pair_target_number = 0 |
(Integer(min=0, max=99)) Pair target name of the host group or iSCSI target |
hitachi_path_group_id = 0 |
(Integer(min=0, max=255)) Path group ID assigned to the remote connection for remote replication |
hitachi_pools = [] |
(List of String) Pool number[s] or pool name[s] of the DP pool. |
hitachi_port_scheduler = False |
(Boolean) Enable port scheduling of WWNs to the configured ports so that WWNs are registered to ports in a round-robin fashion. |
hitachi_quorum_disk_id = None |
(Integer(min=0, max=31)) ID of the Quorum disk used for global-active device |
hitachi_replication_copy_speed = 3 |
(Integer(min=1, max=15)) Remote copy speed of storage system. 1 or 2 indicates low speed, 3 indicates middle speed, and a value between 4 and 15 indicates high speed. |
hitachi_replication_number = 0 |
(Integer(min=0, max=255)) Instance number for REST API |
hitachi_replication_status_check_long_interval = 600 |
(Integer) Interval at which remote replication pair status is checked. This parameter is applied if the status has not changed to the expected status after the time indicated by this parameter has elapsed. |
hitachi_replication_status_check_short_interval = 5 |
(Integer) Initial interval at which remote replication pair status is checked |
hitachi_replication_status_check_timeout = 86400 |
(Integer) Maximum wait time before the remote replication pair status changes to the expected status |
hitachi_rest_another_ldev_mapped_retry_timeout = 600 |
(Integer) Retry time in seconds when new LUN allocation request fails. |
hitachi_rest_connect_timeout = 30 |
(Integer) Maximum wait time in seconds for connecting to REST API session. |
hitachi_rest_disable_io_wait = True |
(Boolean) This option will allow detaching volume immediately. If set False, storage may take few minutes to detach volume after I/O. |
hitachi_rest_get_api_response_timeout = 1800 |
(Integer) Maximum wait time in seconds for a response against sync methods, for example GET |
hitachi_rest_job_api_response_timeout = 1800 |
(Integer) Maximum wait time in seconds for a response against async methods from REST API, for example PUT and DELETE. |
hitachi_rest_keep_session_loop_interval = 180 |
(Integer) Loop interval in seconds for keeping REST API session. |
hitachi_rest_pair_target_ports = [] |
(List of String) Target port names for pair of the host group or iSCSI target |
hitachi_rest_server_busy_timeout = 7200 |
(Integer) Maximum wait time in seconds when REST API returns busy. |
hitachi_rest_tcp_keepalive = True |
(Boolean) Enables or disables use of REST API tcp keepalive |
hitachi_rest_tcp_keepcnt = 4 |
(Integer) Maximum number of transmissions for TCP keepalive packet. |
hitachi_rest_tcp_keepidle = 60 |
(Integer) Wait time in seconds for sending a first TCP keepalive packet. |
hitachi_rest_tcp_keepintvl = 15 |
(Integer) Interval of transmissions in seconds for TCP keepalive packet. |
hitachi_rest_timeout = 30 |
(Integer) Maximum wait time in seconds for each REST API request. |
hitachi_restore_timeout = 86400 |
(Integer) Maximum wait time in seconds for the restore operation to complete. |
hitachi_set_mirror_reserve_attribute = True |
(Boolean) Whether or not to set the mirror reserve attribute |
hitachi_snap_pool = None |
(String) Pool number or pool name of the snapshot pool. |
hitachi_state_transition_timeout = 900 |
(Integer) Maximum wait time in seconds for a volume transition to complete. |
hitachi_storage_id = None |
(String) Product number of the storage system. |
hitachi_target_ports = [] |
(List of String) IDs of the storage ports used to attach volumes to the controller node. To specify multiple ports, connect them by commas (e.g. CL1-A,CL2-A). |
hitachi_zoning_request = False |
(Boolean) If True, the driver will configure FC zoning between the server and the storage system provided that FC zoning manager is enabled. |
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_api_port = None |
(Port(min=0, max=65535)) Port to use to access the SAN API |
san_ip = |
(String) IP address of SAN controller |
san_login = admin |
(String) Username for SAN controller |
san_password = |
(String) Password for SAN controller |
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_backend_name = None |
(String) The backend name for a given driver implementation |
volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver |
(String) Driver to use for volume creation |
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.
2.1.0 - Add Cinder generic volume groups.
2.2.0 - Add maintenance parameters.
2.2.1 - Make the parameters name variable for supporting OEM storages.
2.2.2 - Add Target Port Assignment.
2.2.3 - Add port scheduler.
2.3.0 - Support multi pool.
2.3.1 - Update retype and support storage assisted migration.
2.3.2 - Add specifies format of the names HostGroups/iSCSI Targets.
2.3.3 - Add GAD volume support.
2.3.4 - Support data deduplication and compression.
2.3.5 - Fix key error when backend is down.
2.4.0 - Add QoS support.
HBSDISCSIDriver¶
Version: 2.4.0
volume_driver=cinder.volume.drivers.hitachi.hbsd_iscsi.HBSDISCSIDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/Hitachi_VSP_CI
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_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. |
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. |
hitachi_async_copy_check_interval = 10 |
(Integer(min=1, max=600)) Interval in seconds to check asynchronous copying status during a copy pair deletion or data restoration. |
hitachi_compute_target_ports = [] |
(List of String) IDs of the storage ports used to attach volumes to compute nodes. To specify multiple ports, connect them by commas (e.g. CL1-A,CL2-A). |
hitachi_copy_check_interval = 3 |
(Integer(min=1, max=600)) Interval in seconds to check copying status during a volume copy. |
hitachi_copy_speed = 3 |
(Integer(min=1, max=15)) Copy speed of storage system. 1 or 2 indicates low speed, 3 indicates middle speed, and a value between 4 and 15 indicates high speed. |
hitachi_discard_zero_page = True |
(Boolean) Enable or disable zero page reclamation in a DP-VOL. |
hitachi_exec_retry_interval = 5 |
(Integer) Retry interval in seconds for REST API execution. |
hitachi_extend_timeout = 600 |
(Integer) Maximum wait time in seconds for a volume extention to complete. |
hitachi_group_create = False |
(Boolean) If True, the driver will create host groups or iSCSI targets on storage ports as needed. |
hitachi_group_delete = False |
(Boolean) If True, the driver will delete host groups or iSCSI targets on storage ports as needed. |
hitachi_group_name_format = None |
(String) Format of host groups, iSCSI targets, and server objects. |
hitachi_host_mode_options = [] |
(List of Integer) Host mode option for host group or iSCSI target. |
hitachi_ldev_range = None |
(String) Range of the LDEV numbers in the format of ‘xxxx-yyyy’ that can be used by the driver. Values can be in decimal format (e.g. 1000) or in colon-separated hexadecimal format (e.g. 00:03:E8). |
hitachi_lock_timeout = 7200 |
(Integer) Maximum wait time in seconds for storage to be logined or unlocked. |
hitachi_lun_retry_interval = 1 |
(Integer) Retry interval in seconds for REST API adding a LUN mapping to the server. |
hitachi_lun_timeout = 50 |
(Integer) Maximum wait time in seconds for adding a LUN mapping to the server. |
hitachi_mirror_auth_password = None |
(String) iSCSI authentication password |
hitachi_mirror_auth_user = None |
(String) iSCSI authentication username |
hitachi_mirror_compute_target_ports = [] |
(List of String) Target port names of compute node for host group or iSCSI target |
hitachi_mirror_ldev_range = None |
(String) Logical device range of secondary storage system |
hitachi_mirror_pair_target_number = 0 |
(Integer(min=0, max=99)) Pair target name of the host group or iSCSI target |
hitachi_mirror_pool = None |
(String) Pool of secondary storage system |
hitachi_mirror_rest_api_ip = None |
(String) IP address of REST API server |
hitachi_mirror_rest_api_port = 443 |
(Port(min=0, max=65535)) Port number of REST API server |
hitachi_mirror_rest_pair_target_ports = [] |
(List of String) Target port names for pair of the host group or iSCSI target |
hitachi_mirror_rest_password = None |
(String) Password of secondary storage system for REST API |
hitachi_mirror_rest_user = None |
(String) Username of secondary storage system for REST API |
hitachi_mirror_snap_pool = None |
(String) Thin pool of secondary storage system |
hitachi_mirror_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 |
hitachi_mirror_ssl_cert_verify = False |
(Boolean) If set to True the http client will validate the SSL certificate of the backend endpoint. |
hitachi_mirror_storage_id = None |
(String) ID of secondary storage system |
hitachi_mirror_target_ports = [] |
(List of String) Target port names for host group or iSCSI target |
hitachi_mirror_use_chap_auth = False |
(Boolean) Whether or not to use iSCSI authentication |
hitachi_pair_target_number = 0 |
(Integer(min=0, max=99)) Pair target name of the host group or iSCSI target |
hitachi_path_group_id = 0 |
(Integer(min=0, max=255)) Path group ID assigned to the remote connection for remote replication |
hitachi_pools = [] |
(List of String) Pool number[s] or pool name[s] of the DP pool. |
hitachi_quorum_disk_id = None |
(Integer(min=0, max=31)) ID of the Quorum disk used for global-active device |
hitachi_replication_copy_speed = 3 |
(Integer(min=1, max=15)) Remote copy speed of storage system. 1 or 2 indicates low speed, 3 indicates middle speed, and a value between 4 and 15 indicates high speed. |
hitachi_replication_number = 0 |
(Integer(min=0, max=255)) Instance number for REST API |
hitachi_replication_status_check_long_interval = 600 |
(Integer) Interval at which remote replication pair status is checked. This parameter is applied if the status has not changed to the expected status after the time indicated by this parameter has elapsed. |
hitachi_replication_status_check_short_interval = 5 |
(Integer) Initial interval at which remote replication pair status is checked |
hitachi_replication_status_check_timeout = 86400 |
(Integer) Maximum wait time before the remote replication pair status changes to the expected status |
hitachi_rest_another_ldev_mapped_retry_timeout = 600 |
(Integer) Retry time in seconds when new LUN allocation request fails. |
hitachi_rest_connect_timeout = 30 |
(Integer) Maximum wait time in seconds for connecting to REST API session. |
hitachi_rest_disable_io_wait = True |
(Boolean) This option will allow detaching volume immediately. If set False, storage may take few minutes to detach volume after I/O. |
hitachi_rest_get_api_response_timeout = 1800 |
(Integer) Maximum wait time in seconds for a response against sync methods, for example GET |
hitachi_rest_job_api_response_timeout = 1800 |
(Integer) Maximum wait time in seconds for a response against async methods from REST API, for example PUT and DELETE. |
hitachi_rest_keep_session_loop_interval = 180 |
(Integer) Loop interval in seconds for keeping REST API session. |
hitachi_rest_pair_target_ports = [] |
(List of String) Target port names for pair of the host group or iSCSI target |
hitachi_rest_server_busy_timeout = 7200 |
(Integer) Maximum wait time in seconds when REST API returns busy. |
hitachi_rest_tcp_keepalive = True |
(Boolean) Enables or disables use of REST API tcp keepalive |
hitachi_rest_tcp_keepcnt = 4 |
(Integer) Maximum number of transmissions for TCP keepalive packet. |
hitachi_rest_tcp_keepidle = 60 |
(Integer) Wait time in seconds for sending a first TCP keepalive packet. |
hitachi_rest_tcp_keepintvl = 15 |
(Integer) Interval of transmissions in seconds for TCP keepalive packet. |
hitachi_rest_timeout = 30 |
(Integer) Maximum wait time in seconds for each REST API request. |
hitachi_restore_timeout = 86400 |
(Integer) Maximum wait time in seconds for the restore operation to complete. |
hitachi_set_mirror_reserve_attribute = True |
(Boolean) Whether or not to set the mirror reserve attribute |
hitachi_snap_pool = None |
(String) Pool number or pool name of the snapshot pool. |
hitachi_state_transition_timeout = 900 |
(Integer) Maximum wait time in seconds for a volume transition to complete. |
hitachi_storage_id = None |
(String) Product number of the storage system. |
hitachi_target_ports = [] |
(List of String) IDs of the storage ports used to attach volumes to the controller node. To specify multiple ports, connect them by commas (e.g. CL1-A,CL2-A). |
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_api_port = None |
(Port(min=0, max=65535)) Port to use to access the SAN API |
san_ip = |
(String) IP address of SAN controller |
san_login = admin |
(String) Username for SAN controller |
san_password = |
(String) Password for SAN controller |
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_backend_name = None |
(String) The backend name for a given driver implementation |
volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver |
(String) Driver to use for volume creation |
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.
2.1.0 - Add Cinder generic volume groups.
2.2.0 - Add maintenance parameters.
2.2.1 - Make the parameters name variable for supporting OEM storages.
2.2.2 - Add Target Port Assignment.
2.2.3 - Add port scheduler.
2.3.0 - Support multi pool.
2.3.1 - Update retype and support storage assisted migration.
2.3.2 - Add specifies format of the names HostGroups/iSCSI Targets.
2.3.3 - Add GAD volume support.
2.3.4 - Support data deduplication and compression.
2.3.5 - Fix key error when backend is down.
2.4.0 - Add QoS support.
HPE3PARFCDriver¶
Version: 4.0.8
volume_driver=cinder.volume.drivers.hpe.hpe_3par_fc.HPE3PARFCDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/HPE_Storage_CI
Driver Configuration Options:
Name = Default Value |
(Type) Description |
---|---|
hpe3par_api_url = |
(String) WSAPI Server URL. This setting applies to: 3PAR, Primera, Alletra 9k and Alletra MP Example 1: for 3PAR, URL is: https://<3par ip>:8080/api/v1 Example 2: for Primera/Alletra 9k/Alletra MP, URL is: https://<primera ip>:443/api/v1 |
hpe3par_cpg = [‘OpenStack’] |
(List of String) List of the 3PAR/Primera/Alletra 9k/Alletra MP CPG(s) to use for volume creation |
hpe3par_cpg_snap = |
(String) The 3PAR/Primera/Alletra 9k/Alletra MP CPG to use for snapshots of volumes. If empty the userCPG will be used |
hpe3par_debug = False |
(Boolean) Enable HTTP debugging to 3PAR/Primera/Alletra 9k/Alletra MP |
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/Alletra 9k/Alletra MP 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/Primera/Alletra 9k/Alletra MP backend to be used when: (1) multipath is not enabled in cinder.conf. (2) Fiber Channel Zone Manager is not used. (3) the 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/Alletra 9k/Alletra MP 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/NVMEoF daemon is listening on |
target_port = 3260 |
(Port(min=0, max=65535)) The port that the iSCSI/NVMEoF 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
4.0.8 - For PP, return LUN ids from both arrays. Bug #2044255
HPE3PARISCSIDriver¶
Version: 4.0.9
volume_driver=cinder.volume.drivers.hpe.hpe_3par_iscsi.HPE3PARISCSIDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/HPE_Storage_CI
Driver Configuration Options:
Name = Default Value |
(Type) Description |
---|---|
hpe3par_api_url = |
(String) WSAPI Server URL. This setting applies to: 3PAR, Primera, Alletra 9k and Alletra MP Example 1: for 3PAR, URL is: https://<3par ip>:8080/api/v1 Example 2: for Primera/Alletra 9k/Alletra MP, URL is: https://<primera ip>:443/api/v1 |
hpe3par_cpg = [‘OpenStack’] |
(List of String) List of the 3PAR/Primera/Alletra 9k/Alletra MP CPG(s) to use for volume creation |
hpe3par_cpg_snap = |
(String) The 3PAR/Primera/Alletra 9k/Alletra MP CPG to use for snapshots of volumes. If empty the userCPG will be used |
hpe3par_debug = False |
(Boolean) Enable HTTP debugging to 3PAR/Primera/Alletra 9k/Alletra MP |
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/Alletra 9k/Alletra MP 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/Primera/Alletra 9k/Alletra MP backend to be used when: (1) multipath is not enabled in cinder.conf. (2) Fiber Channel Zone Manager is not used. (3) the 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/Alletra 9k/Alletra MP 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/NVMEoF daemon is listening on |
target_port = 3260 |
(Port(min=0, max=65535)) The port that the iSCSI/NVMEoF 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
4.0.7 - Use vlan iscsi ips. Bug #2015034
4.0.8 - Add ipv6 support. Bug #2045411
4.0.9 - getWsApiVersion now requires login
HPEXPFCDriver¶
Version: 1.0.0
volume_driver=cinder.volume.drivers.hpe.xp.hpe_xp_fc.HPEXPFCDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/HPE_XP_Storage_CI
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_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. |
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. |
hpexp_async_copy_check_interval = 10 |
(Integer(min=1, max=600)) Interval in seconds to check copy asynchronously |
hpexp_compute_target_ports = [] |
(List of String) IDs of the storage ports used to attach volumes to compute nodes. To specify multiple ports, connect them by commas (e.g. CL1-A,CL2-A). |
hpexp_copy_check_interval = 3 |
(Integer(min=1, max=600)) Interval in seconds to check copy |
hpexp_copy_speed = 3 |
(Integer(min=1, max=15)) Copy speed of storage system. 1 or 2 indicates low speed, 3 indicates middle speed, and a value between 4 and 15 indicates high speed. |
hpexp_discard_zero_page = True |
(Boolean) Enable or disable zero page reclamation in a THP V-VOL. |
hpexp_exec_retry_interval = 5 |
(Integer) Retry interval in seconds for REST API execution. |
hpexp_extend_timeout = 600 |
(Integer) Maximum wait time in seconds for a volume extention to complete. |
hpexp_group_create = False |
(Boolean) If True, the driver will create host groups or iSCSI targets on storage ports as needed. |
hpexp_group_delete = False |
(Boolean) If True, the driver will delete host groups or iSCSI targets on storage ports as needed. |
hpexp_host_mode_options = [] |
(List of String) Host mode option for host group or iSCSI target. |
hpexp_ldev_range = None |
(String) Range of the LDEV numbers in the format of ‘xxxx-yyyy’ that can be used by the driver. Values can be in decimal format (e.g. 1000) or in colon-separated hexadecimal format (e.g. 00:03:E8). |
hpexp_lock_timeout = 7200 |
(Integer) Maximum wait time in seconds for storage to be unlocked. |
hpexp_lun_retry_interval = 1 |
(Integer) Retry interval in seconds for REST API adding a LUN. |
hpexp_lun_timeout = 50 |
(Integer) Maximum wait time in seconds for adding a LUN to complete. |
hpexp_pools = [] |
(List of String) Pool number[s] or pool name[s] of the THP pool. |
hpexp_rest_another_ldev_mapped_retry_timeout = 600 |
(Integer) Retry time in seconds when new LUN allocation request fails. |
hpexp_rest_connect_timeout = 30 |
(Integer) Maximum wait time in seconds for REST API connection to complete. |
hpexp_rest_disable_io_wait = True |
(Boolean) It may take some time to detach volume after I/O. This option will allow detaching volume to complete immediately. |
hpexp_rest_get_api_response_timeout = 1800 |
(Integer) Maximum wait time in seconds for a response against GET method of REST API. |
hpexp_rest_job_api_response_timeout = 1800 |
(Integer) Maximum wait time in seconds for a response from REST API. |
hpexp_rest_keep_session_loop_interval = 180 |
(Integer) Loop interval in seconds for keeping REST API session. |
hpexp_rest_server_busy_timeout = 7200 |
(Integer) Maximum wait time in seconds when REST API returns busy. |
hpexp_rest_tcp_keepalive = True |
(Boolean) Enables or disables use of REST API tcp keepalive |
hpexp_rest_tcp_keepcnt = 4 |
(Integer) Maximum number of transmissions for TCP keepalive packet. |
hpexp_rest_tcp_keepidle = 60 |
(Integer) Wait time in seconds for sending a first TCP keepalive packet. |
hpexp_rest_tcp_keepintvl = 15 |
(Integer) Interval of transmissions in seconds for TCP keepalive packet. |
hpexp_rest_timeout = 30 |
(Integer) Maximum wait time in seconds for REST API execution to complete. |
hpexp_restore_timeout = 86400 |
(Integer) Maximum wait time in seconds for the restore operation to complete. |
hpexp_snap_pool = None |
(String) Pool number or pool name of the snapshot pool. |
hpexp_state_transition_timeout = 900 |
(Integer) Maximum wait time in seconds for a volume transition to complete. |
hpexp_storage_id = None |
(String) Product number of the storage system. |
hpexp_target_ports = [] |
(List of String) IDs of the storage ports used to attach volumes to the controller node. To specify multiple ports, connect them by commas (e.g. CL1-A,CL2-A). |
hpexp_zoning_request = False |
(Boolean) If True, the driver will configure FC zoning between the server and the storage system provided that FC zoning manager is enabled. |
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_api_port = None |
(Port(min=0, max=65535)) Port to use to access the SAN API |
san_ip = |
(String) IP address of SAN controller |
san_login = admin |
(String) Username for SAN controller |
san_password = |
(String) Password for SAN controller |
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_backend_name = None |
(String) The backend name for a given driver implementation |
volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver |
(String) Driver to use for volume creation |
Description: Fibre channel class for Hewlett Packard Enterprise Driver.
Version history:
1.0.0 - Initial driver.
HPEXPISCSIDriver¶
Version: 1.0.0
volume_driver=cinder.volume.drivers.hpe.xp.hpe_xp_iscsi.HPEXPISCSIDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/HPE_XP_Storage_CI
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_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. |
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. |
hpexp_async_copy_check_interval = 10 |
(Integer(min=1, max=600)) Interval in seconds to check copy asynchronously |
hpexp_compute_target_ports = [] |
(List of String) IDs of the storage ports used to attach volumes to compute nodes. To specify multiple ports, connect them by commas (e.g. CL1-A,CL2-A). |
hpexp_copy_check_interval = 3 |
(Integer(min=1, max=600)) Interval in seconds to check copy |
hpexp_copy_speed = 3 |
(Integer(min=1, max=15)) Copy speed of storage system. 1 or 2 indicates low speed, 3 indicates middle speed, and a value between 4 and 15 indicates high speed. |
hpexp_discard_zero_page = True |
(Boolean) Enable or disable zero page reclamation in a THP V-VOL. |
hpexp_exec_retry_interval = 5 |
(Integer) Retry interval in seconds for REST API execution. |
hpexp_extend_timeout = 600 |
(Integer) Maximum wait time in seconds for a volume extention to complete. |
hpexp_group_create = False |
(Boolean) If True, the driver will create host groups or iSCSI targets on storage ports as needed. |
hpexp_group_delete = False |
(Boolean) If True, the driver will delete host groups or iSCSI targets on storage ports as needed. |
hpexp_host_mode_options = [] |
(List of String) Host mode option for host group or iSCSI target. |
hpexp_ldev_range = None |
(String) Range of the LDEV numbers in the format of ‘xxxx-yyyy’ that can be used by the driver. Values can be in decimal format (e.g. 1000) or in colon-separated hexadecimal format (e.g. 00:03:E8). |
hpexp_lock_timeout = 7200 |
(Integer) Maximum wait time in seconds for storage to be unlocked. |
hpexp_lun_retry_interval = 1 |
(Integer) Retry interval in seconds for REST API adding a LUN. |
hpexp_lun_timeout = 50 |
(Integer) Maximum wait time in seconds for adding a LUN to complete. |
hpexp_pools = [] |
(List of String) Pool number[s] or pool name[s] of the THP pool. |
hpexp_rest_another_ldev_mapped_retry_timeout = 600 |
(Integer) Retry time in seconds when new LUN allocation request fails. |
hpexp_rest_connect_timeout = 30 |
(Integer) Maximum wait time in seconds for REST API connection to complete. |
hpexp_rest_disable_io_wait = True |
(Boolean) It may take some time to detach volume after I/O. This option will allow detaching volume to complete immediately. |
hpexp_rest_get_api_response_timeout = 1800 |
(Integer) Maximum wait time in seconds for a response against GET method of REST API. |
hpexp_rest_job_api_response_timeout = 1800 |
(Integer) Maximum wait time in seconds for a response from REST API. |
hpexp_rest_keep_session_loop_interval = 180 |
(Integer) Loop interval in seconds for keeping REST API session. |
hpexp_rest_server_busy_timeout = 7200 |
(Integer) Maximum wait time in seconds when REST API returns busy. |
hpexp_rest_tcp_keepalive = True |
(Boolean) Enables or disables use of REST API tcp keepalive |
hpexp_rest_tcp_keepcnt = 4 |
(Integer) Maximum number of transmissions for TCP keepalive packet. |
hpexp_rest_tcp_keepidle = 60 |
(Integer) Wait time in seconds for sending a first TCP keepalive packet. |
hpexp_rest_tcp_keepintvl = 15 |
(Integer) Interval of transmissions in seconds for TCP keepalive packet. |
hpexp_rest_timeout = 30 |
(Integer) Maximum wait time in seconds for REST API execution to complete. |
hpexp_restore_timeout = 86400 |
(Integer) Maximum wait time in seconds for the restore operation to complete. |
hpexp_snap_pool = None |
(String) Pool number or pool name of the snapshot pool. |
hpexp_state_transition_timeout = 900 |
(Integer) Maximum wait time in seconds for a volume transition to complete. |
hpexp_storage_id = None |
(String) Product number of the storage system. |
hpexp_target_ports = [] |
(List of String) IDs of the storage ports used to attach volumes to the controller node. To specify multiple ports, connect them by commas (e.g. CL1-A,CL2-A). |
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_api_port = None |
(Port(min=0, max=65535)) Port to use to access the SAN API |
san_ip = |
(String) IP address of SAN controller |
san_login = admin |
(String) Username for SAN controller |
san_password = |
(String) Password for SAN controller |
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_backend_name = None |
(String) The backend name for a given driver implementation |
volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver |
(String) Driver to use for volume creation |
Description: iSCSI class for Hewlett Packard Enterprise Driver.
Version history:
1.0.0 - Initial driver.
HPMSAFCDriver¶
Version: 2.0
volume_driver=cinder.volume.drivers.san.hp.hpmsa_fc.HPMSAFCDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/HPMSA_CI
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. |
driver_use_ssl = False |
(Boolean) Tell driver to use SSL for connection to backend storage if the driver supports it. |
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. |
san_ip = |
(String) IP address of SAN controller |
san_login = admin |
(String) Username for SAN controller |
san_password = |
(String) Password for SAN controller |
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¶
Version: 2.0
volume_driver=cinder.volume.drivers.san.hp.hpmsa_iscsi.HPMSAISCSIDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/HPMSA_CI
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. |
driver_use_ssl = False |
(Boolean) Tell driver to use SSL for connection to backend storage if the driver supports it. |
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. |
san_ip = |
(String) IP address of SAN controller |
san_login = admin |
(String) Username for SAN controller |
san_password = |
(String) Password for SAN controller |
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: 1.0.0
volume_driver=cinder.volume.drivers.hedvig.hedvig_cinder.HedvigISCSIDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/Hedvig_CI
Description: OpenStack Cinder driver to enable Hedvig storage.
Version history:
1.0 - Initial driver
HuaweiFCDriver¶
Version: 2.0.9
volume_driver=cinder.volume.drivers.huawei.huawei_driver.HuaweiFCDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/Huawei_volume_CI
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¶
Version: 2.0.9
volume_driver=cinder.volume.drivers.huawei.huawei_driver.HuaweiISCSIDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/Huawei_volume_CI
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¶
Version: 2.3.0
volume_driver=cinder.volume.drivers.ibm.ibm_storage.ibm_storage.IBMStorageDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/IBM_STORAGE_CI
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
ISCSIVolumeDriver¶
Version: 2.0.0
volume_driver=cinder.volume.drivers.datacore.iscsi.ISCSIVolumeDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/DataCore_CI
Driver Configuration Options:
Name = Default Value |
(Type) Description |
---|---|
datacore_api_timeout = 300 |
(Integer(min=1)) Seconds to wait for a response from a DataCore API call. |
datacore_disk_failed_delay = 300 |
(Integer(min=0)) Seconds to wait for DataCore virtual disk to come out of the “Failed” state. |
datacore_disk_pools = [] |
(List of String) List of DataCore disk pools that can be used by volume driver. |
datacore_disk_type = single |
(String(choices=[‘single’, ‘mirrored’])) DataCore virtual disk type (single/mirrored). Mirrored virtual disks require two storage servers in the server group. |
datacore_iscsi_chap_storage = $state_path/.datacore_chap |
(String) Fully qualified file name where dynamically generated iSCSI CHAP secrets are stored. This must be changed to a unique per-backend value if deploying multiple DataCore backends on the same host. |
datacore_iscsi_unallowed_targets = [] |
(List of String) List of iSCSI targets that cannot be used to attach volume. To prevent the DataCore iSCSI volume driver from using some front-end targets in volume attachment, specify this option and list the iqn and target machine for each target as the value, such as <iqn:target name>, <iqn:target name>, <iqn:target name>. |
datacore_storage_profile = None |
(String) DataCore virtual disk storage profile. |
san_ip = |
(String) IP address of SAN controller |
san_login = admin |
(String) Username for SAN controller |
san_password = |
(String) Password for SAN controller |
Description: DataCore SANsymphony iSCSI volume driver.
Version history:
1.0.0 - Initial driver
2.0.0 - Reintroduce the driver
InStorageMCSFCDriver¶
Version: 1.0.0
volume_driver=cinder.volume.drivers.inspur.instorage.instorage_fc.InStorageMCSFCDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/Inspur_CI
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¶
Version: 1.0.0
volume_driver=cinder.volume.drivers.inspur.instorage.instorage_iscsi.InStorageMCSISCSIDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/Inspur_CI
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¶
Version: 1.15
volume_driver=cinder.volume.drivers.infinidat.InfiniboxVolumeDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/INFINIDAT_CI
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. |
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 = None |
(Boolean) Specifies whether to enable (true) or disable (false) compression for all newly created volumes. Leave this unset (commented out) for all created volumes to inherit their compression setting from their parent pool at creation time. The default value is unset. |
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? |
suppress_requests_ssl_warnings = False |
(Boolean) Suppress requests library SSL certificate warnings. |
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
1.7 - fixed iSCSI to return all portals
1.8 - added revert to snapshot
1.9 - added manage/unmanage/manageable-list volume/snapshot
1.10 - added support for TLS/SSL communication
1.11 - fixed generic volume migration
1.12 - fixed volume multi-attach
1.13 - fixed consistency groups feature
1.14 - added storage assisted volume migration
1.15 - fixed backup for attached volume
InfortrendCLIFCDriver¶
Version: 2.1.4
volume_driver=cinder.volume.drivers.infortrend.infortrend_fc_cli.InfortrendCLIFCDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/Infortrend_Storage_CI
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¶
Version: 2.1.4
volume_driver=cinder.volume.drivers.infortrend.infortrend_iscsi_cli.InfortrendCLIISCSIDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/Infortrend_Storage_CI
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>
JovianISCSIDriver¶
Version: 1.0.3
volume_driver=cinder.volume.drivers.open_e.iscsi.JovianISCSIDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/Open-E_JovianDSS_CI
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. |
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_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’, ‘nvmet’, ‘spdk-nvmeof’, ‘fake’])) Target user-land tool to use. tgtadm is default, use lioadm for LIO iSCSI support, scstadmin for SCST target support, iscsictl for Chelsio iSCSI Target, nvmet for NVMEoF support, spdk-nvmeof for SPDK NVMe-oF, or fake for testing. |
target_ip_address = $my_ip |
(String) The IP address that the iSCSI/NVMEoF daemon is listening on |
target_port = 3260 |
(Port(min=0, max=65535)) The port that the iSCSI/NVMEoF daemon is listening on |
target_prefix = iqn.2010-10.org.openstack: |
(String) Prefix for iSCSI/NVMEoF volumes |
target_protocol = iscsi |
(String(choices=[‘iscsi’, ‘iser’, ‘nvmet_rdma’, ‘nvmet_tcp’])) 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” or “nvmet_tcp”. |
target_secondary_ip_addresses = [] |
(List of String) The list of secondary IP addresses of the iSCSI/NVMEoF daemon |
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: Executes volume driver commands on Open-E JovianDSS.
Version history:
1.0.0 - Open-E JovianDSS driver with basic functionality
1.0.1 - Added certificate support
Added revert to snapshot support
1.0.2 - Added multi-attach support
Added 16K block support
1.0.3 - Driver rework and optimisation
Abandon recursive volume deletion
Removed revert to snapshot support
KaminarioISCSIDriver¶
Version: 1.4
volume_driver=cinder.volume.drivers.kaminario.kaminario_iscsi.KaminarioISCSIDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/Kaminario_K2_CI
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
KumoScaleBaseVolumeDriver¶
Version: 1.0.0
volume_driver=cinder.volume.drivers.kioxia.kumoscale.KumoScaleBaseVolumeDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/KIOXIA_CI
Driver Configuration Options:
Name = Default Value |
(Type) Description |
---|---|
kioxia_block_size = 4096 |
(Integer) Volume block size in bytes - 512 or 4096 (Default). |
kioxia_cafile = None |
(String) Cert for provisioner REST API SSL |
kioxia_desired_bw_per_gb = 0 |
(Integer) Desired bandwidth in B/s per GB. |
kioxia_desired_iops_per_gb = 0 |
(Integer) Desired IOPS/GB. |
kioxia_max_bw_per_gb = 0 |
(Integer) Upper limit for bandwidth in B/s per GB. |
kioxia_max_iops_per_gb = 0 |
(Integer) Upper limit for IOPS/GB. |
kioxia_max_replica_down_time = 0 |
(Integer) Replicated volume max downtime for replica in minutes. |
kioxia_num_replicas = 1 |
(Integer) Number of volume replicas. |
kioxia_provisioning_type = THICK |
(String(choices=[‘THICK’, ‘THIN’])) Thin or thick volume, Default thick. |
kioxia_same_rack_allowed = False |
(Boolean) Can more than one replica be allocated to same rack. |
kioxia_snap_reserved_space_percentage = 0 |
(Integer) Percentage of the parent volume to be used for log. |
kioxia_snap_vol_reserved_space_percentage = 0 |
(Integer) Writable snapshot percentage of parent volume used for log. |
kioxia_snap_vol_span_allowed = True |
(Boolean) Allow span in snapshot volume - Default True. |
kioxia_span_allowed = True |
(Boolean) Allow span - Default True. |
kioxia_token = None |
(String) KumoScale Provisioner auth token. |
kioxia_url = None |
(String) KumoScale provisioner REST API URL |
kioxia_vol_reserved_space_percentage = 0 |
(Integer) Thin volume reserved capacity allocation percentage. |
kioxia_writable = False |
(Boolean) Volumes from snapshot writeable or not. |
Description: Performs volume management on KumoScale Provisioner.
Version history:
1.0.0 - Initial driver version.
LVMVolumeDriver¶
Version: 3.0.0
volume_driver=cinder.volume.drivers.lvm.LVMVolumeDriver
Driver Configuration Options:
Name = Default Value |
(Type) Description |
---|---|
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_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_share_target = False |
(Boolean) Whether to share the same target for all LUNs or not (currently only supported by nvmet. |
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_ns_id = 10 |
(Integer) Namespace id for the subsystem for the LVM volume when not sharing targets. The minimum id value when sharing.Maximum supported value in Linux is 8192 |
nvmet_port_id = 1 |
(Port(min=0, max=65535)) The id of the NVMe target port definition when not sharing targets. The starting port id value when sharing, incremented for each secondary ip address. |
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’, ‘nvmet’, ‘spdk-nvmeof’, ‘fake’])) Target user-land tool to use. tgtadm is default, use lioadm for LIO iSCSI support, scstadmin for SCST target support, iscsictl for Chelsio iSCSI Target, nvmet for NVMEoF support, spdk-nvmeof for SPDK NVMe-oF, or fake for testing. |
target_ip_address = $my_ip |
(String) The IP address that the iSCSI/NVMEoF daemon is listening on |
target_port = 3260 |
(Port(min=0, max=65535)) The port that the iSCSI/NVMEoF daemon is listening on |
target_prefix = iqn.2010-10.org.openstack: |
(String) Prefix for iSCSI/NVMEoF volumes |
target_protocol = iscsi |
(String(choices=[‘iscsi’, ‘iser’, ‘nvmet_rdma’, ‘nvmet_tcp’])) 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” or “nvmet_tcp”. |
target_secondary_ip_addresses = [] |
(List of String) The list of secondary IP addresses of the iSCSI/NVMEoF daemon |
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¶
Version: 2.0
volume_driver=cinder.volume.drivers.lenovo.lenovo_fc.LenovoFCDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/Lenovo_Storage_CI
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. |
driver_use_ssl = False |
(Boolean) Tell driver to use SSL for connection to backend storage if the driver supports it. |
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. |
san_ip = |
(String) IP address of SAN controller |
san_login = admin |
(String) Username for SAN controller |
san_password = |
(String) Password for SAN controller |
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¶
Version: 2.0
volume_driver=cinder.volume.drivers.lenovo.lenovo_iscsi.LenovoISCSIDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/Lenovo_Storage_CI
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. |
driver_use_ssl = False |
(Boolean) Tell driver to use SSL for connection to backend storage if the driver supports it. |
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. |
san_ip = |
(String) IP address of SAN controller |
san_login = admin |
(String) Username for SAN controller |
san_password = |
(String) Password for SAN controller |
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)
LightOSVolumeDriver¶
Version: 2.3.12
volume_driver=cinder.volume.drivers.lightos.LightOSVolumeDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/LightbitsLabs_CI
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. |
lightos_api_address = None |
(List of IPAddress) The IP addresses of the LightOS API servers separated by commas. |
lightos_api_port = 443 |
(Port(min=0, max=65535)) The TCP/IP port at which the LightOS API endpoints listen. Port 443 is used for HTTPS and other values are used for HTTP. |
lightos_api_service_snapshots_max_calls = 5 |
(Integer) The maximum number of calls to the LightOS when creating snapshots. The default is 5 calls. |
lightos_api_service_timeout = 30 |
(Integer) The default amount of time (in seconds) to wait for an API endpoint response. |
lightos_default_compression_enabled = False |
(Boolean) Set to True to create new volumes compressed assuming no other compression setting is specified via the volumes type. |
lightos_default_num_replicas = 3 |
(Integer(min=1, max=3)) The default number of replicas to create for each volume. |
lightos_jwt = None |
(String) JWT to be used for volume and snapshot operations with the LightOS cluster. Do not set this parameter if the cluster is installed with multi-tenancy disabled. |
lightos_use_ipacl = True |
(Boolean) IPACL work in conjunction with the standard NVME ACL. A host must be in both the IPACL and the ACL of a volume to access that volume. Cinder always sets the volume`s ACL. If lightos_use_ipacl is set to True, Cinder will also add the host`s IP addresses to a volume IPACL. If set to False, any IP address may access the volume. The default is True. |
reserved_percentage = 0 |
(Integer(min=0, max=100)) The percentage of backend capacity is reserved |
volume_backend_name = None |
(String) The backend name for a given driver implementation |
Description: OpenStack NVMe/TCP cinder drivers for Lightbits LightOS.
Version history:
2.3.12 - Initial upstream driver version.
LinstorDrbdDriver¶
Version: 1.0.1
volume_driver=cinder.volume.drivers.linstordrv.LinstorDrbdDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/LINBIT_LINSTOR_CI
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¶
Version: 1.0.1
volume_driver=cinder.volume.drivers.linstordrv.LinstorIscsiDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/LINBIT_LINSTOR_CI
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¶
Version: 1.11.1
volume_driver=cinder.volume.drivers.nec.volume.MStorageFCDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/NEC_Cinder_CI
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¶
Version: 1.11.1
volume_driver=cinder.volume.drivers.nec.volume.MStorageISCSIDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/NEC_Cinder_CI
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¶
Version: 1.0.1
volume_driver=cinder.volume.drivers.macrosan.driver.MacroSANFCDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/MacroSAN_Volume_CI
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. |
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_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’, ‘nvmet’, ‘spdk-nvmeof’, ‘fake’])) Target user-land tool to use. tgtadm is default, use lioadm for LIO iSCSI support, scstadmin for SCST target support, iscsictl for Chelsio iSCSI Target, nvmet for NVMEoF support, spdk-nvmeof for SPDK NVMe-oF, or fake for testing. |
target_ip_address = $my_ip |
(String) The IP address that the iSCSI/NVMEoF daemon is listening on |
target_port = 3260 |
(Port(min=0, max=65535)) The port that the iSCSI/NVMEoF daemon is listening on |
target_prefix = iqn.2010-10.org.openstack: |
(String) Prefix for iSCSI/NVMEoF volumes |
target_protocol = iscsi |
(String(choices=[‘iscsi’, ‘iser’, ‘nvmet_rdma’, ‘nvmet_tcp’])) 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” or “nvmet_tcp”. |
target_secondary_ip_addresses = [] |
(List of String) The list of secondary IP addresses of the iSCSI/NVMEoF daemon |
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¶
Version: 1.0.1
volume_driver=cinder.volume.drivers.macrosan.driver.MacroSANISCSIDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/MacroSAN_Volume_CI
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. |
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_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’, ‘nvmet’, ‘spdk-nvmeof’, ‘fake’])) Target user-land tool to use. tgtadm is default, use lioadm for LIO iSCSI support, scstadmin for SCST target support, iscsictl for Chelsio iSCSI Target, nvmet for NVMEoF support, spdk-nvmeof for SPDK NVMe-oF, or fake for testing. |
target_ip_address = $my_ip |
(String) The IP address that the iSCSI/NVMEoF daemon is listening on |
target_port = 3260 |
(Port(min=0, max=65535)) The port that the iSCSI/NVMEoF daemon is listening on |
target_prefix = iqn.2010-10.org.openstack: |
(String) Prefix for iSCSI/NVMEoF volumes |
target_protocol = iscsi |
(String(choices=[‘iscsi’, ‘iser’, ‘nvmet_rdma’, ‘nvmet_tcp’])) 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” or “nvmet_tcp”. |
target_secondary_ip_addresses = [] |
(List of String) The list of secondary IP addresses of the iSCSI/NVMEoF daemon |
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¶
Version: 4.0.0
volume_driver=cinder.volume.drivers.netapp.dataontap.fc_cmode.NetAppCmodeFibreChannelDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/NetApp_CI
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.
Version history:
1.0.0 - Driver development before Wallaby
2.0.0 - Wallaby driver version bump
3.0.0 - Add support for Intra-cluster Storage assisted volume migration
Add support for revert to snapshot
4.0.0 - Add Cinder Active/Active support (High Availability)
Implement Active/Active replication support
NetAppCmodeISCSIDriver¶
Version: 4.0.0
volume_driver=cinder.volume.drivers.netapp.dataontap.iscsi_cmode.NetAppCmodeISCSIDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/NetApp_CI
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.
NetAppCmodeNVMeDriver¶
Version: 1.0.0
volume_driver=cinder.volume.drivers.netapp.dataontap.nvme_cmode.NetAppCmodeNVMeDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/NetApp_CI
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 NVMe volume driver.
Version history:
1.0.0 - Initial driver
NetAppCmodeNfsDriver¶
Version: 4.0.0
volume_driver=cinder.volume.drivers.netapp.dataontap.nfs_cmode.NetAppCmodeNfsDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/NetApp_CI
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).
Version history:
1.0.0 - Driver development before Wallaby
2.0.0 - Add support for QoS minimums specs
Add support for dynamic Adaptive QoS policy group creation
Implement FlexGroup pool
3.0.0 - Add support for Intra-cluster Storage assisted volume migration
Add support for revert to snapshot
4.0.0 - Add Cinder Active/Active support (High Availability)
Implement Active/Active replication support
NexentaISCSIDriver¶
Version: 1.3.1
volume_driver=cinder.volume.drivers.nexenta.iscsi.NexentaISCSIDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/Nexenta_CI
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¶
Version: 1.4.3
volume_driver=cinder.volume.drivers.nexenta.ns5.iscsi.NexentaISCSIDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/Nexenta_CI
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¶
Version: 1.3.1
volume_driver=cinder.volume.drivers.nexenta.nfs.NexentaNfsDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/Nexenta_CI
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¶
Version: 1.8.3
volume_driver=cinder.volume.drivers.nexenta.ns5.nfs.NexentaNfsDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/Nexenta_CI
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:
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¶
Version: 4.3.0
volume_driver=cinder.volume.drivers.hpe.nimble.NimbleFCDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/HPE_Nimble_Storage_CI
Driver Configuration Options:
Name = Default Value |
(Type) Description |
---|---|
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. |
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¶
Version: 4.3.0
volume_driver=cinder.volume.drivers.hpe.nimble.NimbleISCSIDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/HPE_Nimble_Storage_CI
Driver Configuration Options:
Name = Default Value |
(Type) Description |
---|---|
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. |
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.
PVMEFCDriver¶
Version: 2.0
volume_driver=cinder.volume.drivers.dell_emc.powervault.fc.PVMEFCDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/DellEMC_PowerVault_ME_CI
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. |
driver_use_ssl = False |
(Boolean) Tell driver to use SSL for connection to backend storage if the driver supports it. |
pvme_pool_name = A |
(String) Pool or Vdisk name to use for volume creation. |
san_ip = |
(String) IP address of SAN controller |
san_login = admin |
(String) Username for SAN controller |
san_password = |
(String) Password for SAN controller |
Description: Cinder FC driver for Dell EMC PowerVault ME-Series arrays.
Version history:
1.0 - Inheriting from Seagate Cinder driver.
PVMEISCSIDriver¶
Version: 2.0
volume_driver=cinder.volume.drivers.dell_emc.powervault.iscsi.PVMEISCSIDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/DellEMC_PowerVault_ME_CI
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. |
driver_use_ssl = False |
(Boolean) Tell driver to use SSL for connection to backend storage if the driver supports it. |
pvme_iscsi_ips = [] |
(List of String) List of comma-separated target iSCSI IP addresses. |
pvme_pool_name = A |
(String) Pool or Vdisk name to use for volume creation. |
san_ip = |
(String) IP address of SAN controller |
san_login = admin |
(String) Username for SAN controller |
san_password = |
(String) Password for SAN controller |
Description: Cinder iSCSI driver for Dell EMC PowerVault ME-Series arrays.
Version history:
1.0 - Inheriting from Seagate Cinder driver.
PowerFlexDriver¶
Version: 3.5.8
volume_driver=cinder.volume.drivers.dell_emc.powerflex.driver.PowerFlexDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/DellEMC_PowerFlex_CI
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. |
rest_api_connect_timeout = 30 |
(Integer(min=1)) Use this value to specify connect timeout value (in seconds) for rest call. |
rest_api_read_timeout = 30 |
(Integer(min=1)) Use this value to specify read timeout value (in seconds) for rest call. |
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.
3.5.7 - Report trim/discard support.
3.5.8 - Added Cinder active/active support.
PowerMaxFCDriver¶
Version: 4.5.2
volume_driver=cinder.volume.drivers.dell_emc.powermax.fc.PowerMaxFCDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/DellEMC_PowerMAX_CI
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_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 |
rest_api_connect_timeout = 30 |
(Integer(min=1)) Use this value to specify connect timeout value (in seconds) for rest call. |
rest_api_read_timeout = 30 |
(Integer(min=1)) Use this value to specify read timeout value (in seconds) for rest call. |
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 |
snapvx_unlink_symforce = False |
(Boolean) Enable SnapVx unlink symforce, which forces the operation to execute when normally it is rejected. |
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.4.0 - Early check for status of port
4.4.1 - Report trim/discard support
4.5.0 - Add PowerMax v4 support
4.5.1 - Add active/active compliance
4.5.2 - Add 'disable_protected_snap' option
PowerMaxISCSIDriver¶
Version: 4.5.2
volume_driver=cinder.volume.drivers.dell_emc.powermax.iscsi.PowerMaxISCSIDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/DellEMC_PowerMAX_CI
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_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 |
rest_api_connect_timeout = 30 |
(Integer(min=1)) Use this value to specify connect timeout value (in seconds) for rest call. |
rest_api_read_timeout = 30 |
(Integer(min=1)) Use this value to specify read timeout value (in seconds) for rest call. |
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 |
snapvx_unlink_symforce = False |
(Boolean) Enable SnapVx unlink symforce, which forces the operation to execute when normally it is rejected. |
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.4.0 - Early check for status of port
4.4.1 - Report trim/discard support
4.5.0 - Add PowerMax v4 support
4.5.1 - Add active/active compliance
4.5.2 - Add 'disable_protected_snap' option
PowerStoreDriver¶
Version: 1.2.3
volume_driver=cinder.volume.drivers.dell_emc.powerstore.driver.PowerStoreDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/DellEMC_PowerStore_CI
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. |
powerstore_nvme = False |
(Boolean) Connect PowerStore volumes using NVMe-OF. |
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. |
rest_api_call_connect_timeout = 30 |
(Integer(min=1)) Use this value to specify the connect timeout value (in seconds) for REST API calls to the PowerStore backend. |
rest_api_call_read_timeout = 30 |
(Integer(min=1)) Use this value to specify the read timeout value (in seconds) for REST API calls to the PowerStore backend. |
Description: Dell EMC PowerStore Driver.
Version history:
1.0.0 - Initial version
1.0.1 - Add CHAP support
1.1.0 - Add volume replication v2.1 support
1.1.1 - Add Consistency Groups support
1.1.2 - Fix iSCSI targets not being returned from the REST API call if
targets are used for multiple purposes
(iSCSI target, Replication target, etc.)
1.2.0 - Add NVMe-OF support
1.2.1 - Report trim/discard support
1.2.2 - QoS (Quality of Service) support
1.2.3 - Added Cinder active/active support
PowerStoreNFSDriver¶
Version: 1.0.0
volume_driver=cinder.volume.drivers.dell_emc.powerstore.nfs.PowerStoreNFSDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/DellEMC_PowerStore_CI
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: Dell PowerStore NFS Driver.
Version history:
1.0.0 - Initial version
PureFCDriver¶
Version: 20.0.fc
volume_driver=cinder.volume.drivers.pure.PureFCDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/Pure_Storage_CI
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_nvme_cidr = 0.0.0.0/0 |
(String) CIDR of FlashArray NVMe targets hosts are allowed to connect to. Default will allow connection to any IPv4 address. This parameter now supports IPv6 subnets. Ignored when pure_nvme_cidr_list is set. |
pure_nvme_cidr = 0.0.0.0/0 |
(String) CIDR of FlashArray NVMe targets hosts are allowed to connect to. Default will allow connection to any IPv4 address. This parameter now supports IPv6 subnets. Ignored when pure_nvme_cidr_list is set. |
pure_nvme_cidr_list = None |
(List of String) Comma-separated list of CIDR of FlashArray NVMe targets hosts are allowed to connect to. It supports IPv4 and IPv6 subnets. This parameter supersedes pure_nvme_cidr. |
pure_nvme_cidr_list = None |
(List of String) Comma-separated list of CIDR of FlashArray NVMe targets hosts are allowed to connect to. It supports IPv4 and IPv6 subnets. This parameter supersedes pure_nvme_cidr. |
pure_nvme_transport = roce |
(String(choices=[‘roce’, ‘tcp’])) The NVMe transport layer to be used by the NVMe driver. |
pure_nvme_transport = roce |
(String(choices=[‘roce’, ‘tcp’])) The NVMe transport layer to be used by the NVMe driver. |
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). |
pure_trisync_enabled = False |
(Boolean) When enabled and two replication devices are provided, one each of types sync and async, this will enable the ability to create a volume that is sync replicated to one array and async replicated to a separate array. |
pure_trisync_enabled = False |
(Boolean) When enabled and two replication devices are provided, one each of types sync and async, this will enable the ability to create a volume that is sync replicated to one array and async replicated to a separate array. |
pure_trisync_pg_name = cinder-trisync |
(String) Pure Protection Group name to use for trisync replication leg inside the sync replication pod (will be created if it does not exist). |
pure_trisync_pg_name = cinder-trisync |
(String) Pure Protection Group name to use for trisync replication leg inside the sync replication pod (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¶
Version: 20.0.iscsi
volume_driver=cinder.volume.drivers.pure.PureISCSIDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/Pure_Storage_CI
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_nvme_cidr = 0.0.0.0/0 |
(String) CIDR of FlashArray NVMe targets hosts are allowed to connect to. Default will allow connection to any IPv4 address. This parameter now supports IPv6 subnets. Ignored when pure_nvme_cidr_list is set. |
pure_nvme_cidr = 0.0.0.0/0 |
(String) CIDR of FlashArray NVMe targets hosts are allowed to connect to. Default will allow connection to any IPv4 address. This parameter now supports IPv6 subnets. Ignored when pure_nvme_cidr_list is set. |
pure_nvme_cidr_list = None |
(List of String) Comma-separated list of CIDR of FlashArray NVMe targets hosts are allowed to connect to. It supports IPv4 and IPv6 subnets. This parameter supersedes pure_nvme_cidr. |
pure_nvme_cidr_list = None |
(List of String) Comma-separated list of CIDR of FlashArray NVMe targets hosts are allowed to connect to. It supports IPv4 and IPv6 subnets. This parameter supersedes pure_nvme_cidr. |
pure_nvme_transport = roce |
(String(choices=[‘roce’, ‘tcp’])) The NVMe transport layer to be used by the NVMe driver. |
pure_nvme_transport = roce |
(String(choices=[‘roce’, ‘tcp’])) The NVMe transport layer to be used by the NVMe driver. |
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). |
pure_trisync_enabled = False |
(Boolean) When enabled and two replication devices are provided, one each of types sync and async, this will enable the ability to create a volume that is sync replicated to one array and async replicated to a separate array. |
pure_trisync_enabled = False |
(Boolean) When enabled and two replication devices are provided, one each of types sync and async, this will enable the ability to create a volume that is sync replicated to one array and async replicated to a separate array. |
pure_trisync_pg_name = cinder-trisync |
(String) Pure Protection Group name to use for trisync replication leg inside the sync replication pod (will be created if it does not exist). |
pure_trisync_pg_name = cinder-trisync |
(String) Pure Protection Group name to use for trisync replication leg inside the sync replication pod (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.
PureNVMEDriver¶
Version: 20.0.nvme
volume_driver=cinder.volume.drivers.pure.PureNVMEDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/Pure_Storage_CI
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_nvme_cidr = 0.0.0.0/0 |
(String) CIDR of FlashArray NVMe targets hosts are allowed to connect to. Default will allow connection to any IPv4 address. This parameter now supports IPv6 subnets. Ignored when pure_nvme_cidr_list is set. |
pure_nvme_cidr = 0.0.0.0/0 |
(String) CIDR of FlashArray NVMe targets hosts are allowed to connect to. Default will allow connection to any IPv4 address. This parameter now supports IPv6 subnets. Ignored when pure_nvme_cidr_list is set. |
pure_nvme_cidr_list = None |
(List of String) Comma-separated list of CIDR of FlashArray NVMe targets hosts are allowed to connect to. It supports IPv4 and IPv6 subnets. This parameter supersedes pure_nvme_cidr. |
pure_nvme_cidr_list = None |
(List of String) Comma-separated list of CIDR of FlashArray NVMe targets hosts are allowed to connect to. It supports IPv4 and IPv6 subnets. This parameter supersedes pure_nvme_cidr. |
pure_nvme_transport = roce |
(String(choices=[‘roce’, ‘tcp’])) The NVMe transport layer to be used by the NVMe driver. |
pure_nvme_transport = roce |
(String(choices=[‘roce’, ‘tcp’])) The NVMe transport layer to be used by the NVMe driver. |
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). |
pure_trisync_enabled = False |
(Boolean) When enabled and two replication devices are provided, one each of types sync and async, this will enable the ability to create a volume that is sync replicated to one array and async replicated to a separate array. |
pure_trisync_enabled = False |
(Boolean) When enabled and two replication devices are provided, one each of types sync and async, this will enable the ability to create a volume that is sync replicated to one array and async replicated to a separate array. |
pure_trisync_pg_name = cinder-trisync |
(String) Pure Protection Group name to use for trisync replication leg inside the sync replication pod (will be created if it does not exist). |
pure_trisync_pg_name = cinder-trisync |
(String) Pure Protection Group name to use for trisync replication leg inside the sync replication pod (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 NVMe over different transport types for the underlying storage connectivity with the FlashArray.
RBDDriver¶
Version: 1.3.0
volume_driver=cinder.volume.drivers.rbd.RBDDriver
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_concurrent_flatten_operations = 3 |
(Integer(min=0)) Number of flatten operations that will run concurrently on this volume service. |
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. Defaults to the cluster FSID. |
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.
Version history:
1.3.0 - Added QoS Support
RBDISCSIDriver¶
Version: 1.0.0
volume_driver=cinder.volume.drivers.ceph.rbd_iscsi.RBDISCSIDriver
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. |
driver_ssl_cert_verify = False |
(Boolean) If set to True the http client will validate the SSL certificate of the backend endpoint. |
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_concurrent_flatten_operations = 3 |
(Integer(min=0)) Number of flatten operations that will run concurrently on this volume service. |
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_iscsi_api_debug = False |
(Boolean) Enable client request debugging. |
rbd_iscsi_api_password = |
(String) The username for the rbd_target_api service |
rbd_iscsi_api_url = |
(String) The url to the rbd_target_api service |
rbd_iscsi_api_user = |
(String) The username for the rbd_target_api service |
rbd_iscsi_target_iqn = None |
(String) The preconfigured target_iqn on the iscsi gateway. |
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. Defaults to the cluster FSID. |
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 |
suppress_requests_ssl_warnings = False |
(Boolean) Suppress requests library SSL certificate warnings. |
volume_dd_blocksize = 1M |
(String) The default block size used when copying/clearing volumes |
Description: Implements RADOS block device (RBD) iSCSI volume commands.
RSDDriver¶
Version: 1.0.0
volume_driver=cinder.volume.drivers.rsd.RSDDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/INTEL-RSD-CI
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
SPDKDriver¶
Version: 1.0.0
volume_driver=cinder.volume.drivers.spdk.SPDKDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/Mellanox_CI
Description: Executes commands relating to Volumes.
SdsISCSIDriver¶
Version: 1.0.0
volume_driver=cinder.volume.drivers.sandstone.sds_driver.SdsISCSIDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/SandStone_Storage_CI
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. |
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_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’, ‘nvmet’, ‘spdk-nvmeof’, ‘fake’])) Target user-land tool to use. tgtadm is default, use lioadm for LIO iSCSI support, scstadmin for SCST target support, iscsictl for Chelsio iSCSI Target, nvmet for NVMEoF support, spdk-nvmeof for SPDK NVMe-oF, or fake for testing. |
target_ip_address = $my_ip |
(String) The IP address that the iSCSI/NVMEoF daemon is listening on |
target_port = 3260 |
(Port(min=0, max=65535)) The port that the iSCSI/NVMEoF daemon is listening on |
target_prefix = iqn.2010-10.org.openstack: |
(String) Prefix for iSCSI/NVMEoF volumes |
target_protocol = iscsi |
(String(choices=[‘iscsi’, ‘iser’, ‘nvmet_rdma’, ‘nvmet_tcp’])) 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” or “nvmet_tcp”. |
target_secondary_ip_addresses = [] |
(List of String) The list of secondary IP addresses of the iSCSI/NVMEoF daemon |
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¶
Version: 2.2.5
volume_driver=cinder.volume.drivers.solidfire.SolidFireDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/NetApp_SolidFire_CI
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
2.2.3 - Fix bug #1942090 SolidFire retype fails due to volume status
as retyping.
Fix bug #1932964 SolidFire duplicate volume name exception
on migration and replication.
2.2.4 - Fix bug #1934435 fix driver failing with multiple exceptions
during Element OS upgrade by adding xDBOperationTimeout,
xDBConnectionLoss, xNoHandler, xSnapshotFailed,
xRecvTimeout, xDBNoSuchPath, xPermissionDenied to the
retryable exception list
2.2.5 - Fix bug #1934459 SolidFire Driver gets into an infinite
recursion on startup while OS Profiler is enabled
StorPoolDriver¶
Version: 2.0.0
volume_driver=cinder.volume.drivers.storpool.StorPoolDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/StorPool_distributed_storage_CI
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.
2.0.0 - Implement revert_to_snapshot().
StorwizeSVCFCDriver¶
Version: 2.2.6
volume_driver=cinder.volume.drivers.ibm.storwize_svc.storwize_svc_fc.StorwizeSVCFCDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/IBM_STORAGE_CI
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_portset = None |
(String) Specifies the name of the portset in which the host is to be created. |
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_clean_rate = 50 |
(Integer(min=0, max=150)) Specifies the Storwize cleaning rate for the mapping. The default rate is 50, and the valid rates are 0-150. |
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 Storage Virtualize Family. |
storwize_svc_src_child_pool = None |
(String) Specifies the name of the source child pool in which global mirror source change volume is stored. |
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_target_child_pool = None |
(String) Specifies the name of the target child pool in which global mirror auxiliary change volume is stored. |
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. |
storwize_volume_group = False |
(Boolean) Parameter to enable or disable Volume Group(True/False) |
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
2.2.6 - Add support for host attachment using portsets
StorwizeSVCISCSIDriver¶
Version: 2.2.5
volume_driver=cinder.volume.drivers.ibm.storwize_svc.storwize_svc_iscsi.StorwizeSVCISCSIDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/IBM_STORAGE_CI
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_portset = None |
(String) Specifies the name of the portset in which the host is to be created. |
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_clean_rate = 50 |
(Integer(min=0, max=150)) Specifies the Storwize cleaning rate for the mapping. The default rate is 50, and the valid rates are 0-150. |
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 Storage Virtualize Family. |
storwize_svc_src_child_pool = None |
(String) Specifies the name of the source child pool in which global mirror source change volume is stored. |
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_target_child_pool = None |
(String) Specifies the name of the target child pool in which global mirror auxiliary change volume is stored. |
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. |
storwize_volume_group = False |
(Boolean) Parameter to enable or disable Volume Group(True/False) |
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
2.2.5 - Add support for host attachment using portsets
SynoISCSIDriver¶
Version: 1.0.1
volume_driver=cinder.volume.drivers.synology.synology_iscsi.SynoISCSIDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/Synology_DSM_CI
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. |
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/NVMEoF daemon is listening on |
target_port = 3260 |
(Port(min=0, max=65535)) The port that the iSCSI/NVMEoF daemon is listening on |
target_prefix = iqn.2010-10.org.openstack: |
(String) Prefix for iSCSI/NVMEoF volumes |
target_protocol = iscsi |
(String(choices=[‘iscsi’, ‘iser’, ‘nvmet_rdma’, ‘nvmet_tcp’])) 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” or “nvmet_tcp”. |
target_secondary_ip_addresses = [] |
(List of String) The list of secondary IP addresses of the iSCSI/NVMEoF daemon |
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
TYDSDriver¶
Version: 1.0.0
volume_driver=cinder.volume.drivers.toyou.tyds.tyds.TYDSDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/TOYOU_TYDS_CI
Driver Configuration Options:
Name = Default Value |
(Type) Description |
---|---|
san_ip = |
(String) IP address of SAN controller |
san_login = admin |
(String) Username for SAN controller |
san_password = |
(String) Password for SAN controller |
tyds_clone_progress_interval = 3 |
(Integer) Interval (in seconds) for retrieving clone progress. |
tyds_copy_progress_interval = 3 |
(Integer) Interval (in seconds) for retrieving copy progress. |
tyds_http_port = 80 |
(Port(min=0, max=65535)) The port that connects to the http api. |
tyds_pools = [‘pool01’] |
(List of String) The pool name where volumes are stored. |
tyds_stripe_size = 4M |
(String) Volume stripe size. |
Description: TOYOU distributed storage abstract common class.
Version history:
1.0.0 - Initial TOYOU NetStor TYDS Driver
TatlinFCVolumeDriver¶
Version: 1.0
volume_driver=cinder.volume.drivers.yadro.tatlin_fc.TatlinFCVolumeDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/Yadro_Tatlin_Unified_CI
Driver Configuration Options:
Name = Default Value |
(Type) Description |
---|---|
api_port = 443 |
(Port(min=0, max=65535)) Port to use to access the Tatlin API |
auth_method = CHAP |
(String) Authentication method for iSCSI (CHAP) |
export_ports = |
(String) Ports to export Tatlin resource through |
host_group = |
(String) Tatlin host group name |
lba_format = 512e |
(String) LBA Format for new volume |
max_resource_count = 500 |
(Integer) Max resource count allowed for Tatlin |
pool_max_resource_count = 250 |
(Integer) Max resource count allowed for single pool |
pool_name = |
(String) storage pool name |
tat_api_retry_count = 10 |
(Integer) Number of retry on Tatlin API |
wait_interval = 30 |
(Integer) Wait number of seconds before re-checking |
wait_retry_count = 15 |
(Integer) Number of checks for a lengthy operation to finish |
Description: ACCESS Tatlin FC Driver.
Executes commands relating to FC. Supports creation of volumes.
API version history:
1.0 - Initial version.
TatlinISCSIVolumeDriver¶
Version: 1.1
volume_driver=cinder.volume.drivers.yadro.tatlin_iscsi.TatlinISCSIVolumeDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/Yadro_Tatlin_Unified_CI
Driver Configuration Options:
Name = Default Value |
(Type) Description |
---|---|
api_port = 443 |
(Port(min=0, max=65535)) Port to use to access the Tatlin API |
auth_method = CHAP |
(String) Authentication method for iSCSI (CHAP) |
export_ports = |
(String) Ports to export Tatlin resource through |
host_group = |
(String) Tatlin host group name |
lba_format = 512e |
(String) LBA Format for new volume |
max_resource_count = 500 |
(Integer) Max resource count allowed for Tatlin |
pool_max_resource_count = 250 |
(Integer) Max resource count allowed for single pool |
pool_name = |
(String) storage pool name |
tat_api_retry_count = 10 |
(Integer) Number of retry on Tatlin API |
wait_interval = 30 |
(Integer) Wait number of seconds before re-checking |
wait_retry_count = 15 |
(Integer) Number of checks for a lengthy operation to finish |
Description: ACCESS Tatlin ISCSI Driver.
Executes commands relating to ISCSI. Supports creation of volumes.
API version history:
1.0 - Initial version.
1.1 - Common code sharing with FC driver
UnityDriver¶
Version: 07.02.00
volume_driver=cinder.volume.drivers.dell_emc.unity.driver.UnityDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/DellEMC_Unity_CI
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¶
Version: 1.3.0
volume_driver=cinder.volume.drivers.vmware.fcd.VMwareVStorageObjectDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/VMware_CI
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¶
Version: 3.4.4
volume_driver=cinder.volume.drivers.vmware.vmdk.VMwareVcVmdkDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/VMware_CI
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.
VStorageFCDriver¶
Version: 1.0.0
volume_driver=cinder.volume.drivers.nec.v.nec_v_fc.VStorageFCDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/NEC_V_Cinder_CI
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_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. |
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. |
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. |
nec_v_async_copy_check_interval = 10 |
(Integer(min=1, max=600)) Interval in seconds to check asynchronous copying status during a copy pair deletion or data restoration. |
nec_v_compute_target_ports = [] |
(List of String) IDs of the storage ports used to attach volumes to compute nodes. To specify multiple ports, connect them by commas (e.g. CL1-A,CL2-A). |
nec_v_copy_check_interval = 3 |
(Integer(min=1, max=600)) Interval in seconds to check copying status during a volume copy. |
nec_v_copy_speed = 3 |
(Integer(min=1, max=15)) Copy speed of storage system. 1 or 2 indicates low speed, 3 indicates middle speed, and a value between 4 and 15 indicates high speed. |
nec_v_discard_zero_page = True |
(Boolean) Enable or disable zero page reclamation in a DP-VOL. |
nec_v_exec_retry_interval = 5 |
(Integer) Retry interval in seconds for REST API execution. |
nec_v_extend_timeout = 600 |
(Integer) Maximum wait time in seconds for a volume extention to complete. |
nec_v_group_create = False |
(Boolean) If True, the driver will create host groups or iSCSI targets on storage ports as needed. |
nec_v_group_delete = False |
(Boolean) If True, the driver will delete host groups or iSCSI targets on storage ports as needed. |
nec_v_host_mode_options = [] |
(List of String) Host mode option for host group or iSCSI target |
nec_v_ldev_range = None |
(String) Range of the LDEV numbers in the format of ‘xxxx-yyyy’ that can be used by the driver. Values can be in decimal format (e.g. 1000) or in colon-separated hexadecimal format (e.g. 00:03:E8). |
nec_v_lock_timeout = 7200 |
(Integer) Maximum wait time in seconds for storage to be unlocked. |
nec_v_lun_retry_interval = 1 |
(Integer) Retry interval in seconds for REST API adding a LUN. |
nec_v_lun_timeout = 50 |
(Integer) Maximum wait time in seconds for adding a LUN to complete. |
nec_v_pools = [] |
(List of String) Pool number[s] or pool name[s] of the DP pool. |
nec_v_rest_another_ldev_mapped_retry_timeout = 600 |
(Integer) Retry time in seconds when new LUN allocation request fails. |
nec_v_rest_connect_timeout = 30 |
(Integer) Maximum wait time in seconds for REST API connection to complete. |
nec_v_rest_disable_io_wait = True |
(Boolean) It may take some time to detach volume after I/O. This option will allow detaching volume to complete immediately. |
nec_v_rest_get_api_response_timeout = 1800 |
(Integer) Maximum wait time in seconds for a response against GET method of REST API. |
nec_v_rest_job_api_response_timeout = 1800 |
(Integer) Maximum wait time in seconds for a response from REST API. |
nec_v_rest_keep_session_loop_interval = 180 |
(Integer) Loop interval in seconds for keeping REST API session. |
nec_v_rest_server_busy_timeout = 7200 |
(Integer) Maximum wait time in seconds when REST API returns busy. |
nec_v_rest_tcp_keepalive = True |
(Boolean) Enables or disables use of REST API tcp keepalive |
nec_v_rest_tcp_keepcnt = 4 |
(Integer) Maximum number of transmissions for TCP keepalive packet. |
nec_v_rest_tcp_keepidle = 60 |
(Integer) Wait time in seconds for sending a first TCP keepalive packet. |
nec_v_rest_tcp_keepintvl = 15 |
(Integer) Interval of transmissions in seconds for TCP keepalive packet. |
nec_v_rest_timeout = 30 |
(Integer) Maximum wait time in seconds for REST API execution to complete. |
nec_v_restore_timeout = 86400 |
(Integer) Maximum wait time in seconds for the restore operation to complete. |
nec_v_snap_pool = None |
(String) Pool number or pool name of the snapshot pool. |
nec_v_state_transition_timeout = 900 |
(Integer) Maximum wait time in seconds for a volume transition to complete. |
nec_v_storage_id = None |
(String) Product number of the storage system. |
nec_v_target_ports = [] |
(List of String) IDs of the storage ports used to attach volumes to the controller node. To specify multiple ports, connect them by commas (e.g. CL1-A,CL2-A). |
nec_v_zoning_request = False |
(Boolean) If True, the driver will configure FC zoning between the server and the storage system provided that FC zoning manager is enabled. |
reserved_percentage = 0 |
(Integer(min=0, max=100)) The percentage of backend capacity is reserved |
san_api_port = None |
(Port(min=0, max=65535)) Port to use to access the SAN API |
san_ip = |
(String) IP address of SAN controller |
san_login = admin |
(String) Username for SAN controller |
san_password = |
(String) Password for SAN controller |
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_backend_name = None |
(String) The backend name for a given driver implementation |
volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver |
(String) Driver to use for volume creation |
Description: Fibre channel class for NEC Driver.
Version history:
1.0.0 - Initial driver.
VStorageISCSIDriver¶
Version: 1.0.0
volume_driver=cinder.volume.drivers.nec.v.nec_v_iscsi.VStorageISCSIDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/NEC_V_Cinder_CI
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_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. |
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. |
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. |
nec_v_async_copy_check_interval = 10 |
(Integer(min=1, max=600)) Interval in seconds to check asynchronous copying status during a copy pair deletion or data restoration. |
nec_v_compute_target_ports = [] |
(List of String) IDs of the storage ports used to attach volumes to compute nodes. To specify multiple ports, connect them by commas (e.g. CL1-A,CL2-A). |
nec_v_copy_check_interval = 3 |
(Integer(min=1, max=600)) Interval in seconds to check copying status during a volume copy. |
nec_v_copy_speed = 3 |
(Integer(min=1, max=15)) Copy speed of storage system. 1 or 2 indicates low speed, 3 indicates middle speed, and a value between 4 and 15 indicates high speed. |
nec_v_discard_zero_page = True |
(Boolean) Enable or disable zero page reclamation in a DP-VOL. |
nec_v_exec_retry_interval = 5 |
(Integer) Retry interval in seconds for REST API execution. |
nec_v_extend_timeout = 600 |
(Integer) Maximum wait time in seconds for a volume extention to complete. |
nec_v_group_create = False |
(Boolean) If True, the driver will create host groups or iSCSI targets on storage ports as needed. |
nec_v_group_delete = False |
(Boolean) If True, the driver will delete host groups or iSCSI targets on storage ports as needed. |
nec_v_host_mode_options = [] |
(List of String) Host mode option for host group or iSCSI target |
nec_v_ldev_range = None |
(String) Range of the LDEV numbers in the format of ‘xxxx-yyyy’ that can be used by the driver. Values can be in decimal format (e.g. 1000) or in colon-separated hexadecimal format (e.g. 00:03:E8). |
nec_v_lock_timeout = 7200 |
(Integer) Maximum wait time in seconds for storage to be unlocked. |
nec_v_lun_retry_interval = 1 |
(Integer) Retry interval in seconds for REST API adding a LUN. |
nec_v_lun_timeout = 50 |
(Integer) Maximum wait time in seconds for adding a LUN to complete. |
nec_v_pools = [] |
(List of String) Pool number[s] or pool name[s] of the DP pool. |
nec_v_rest_another_ldev_mapped_retry_timeout = 600 |
(Integer) Retry time in seconds when new LUN allocation request fails. |
nec_v_rest_connect_timeout = 30 |
(Integer) Maximum wait time in seconds for REST API connection to complete. |
nec_v_rest_disable_io_wait = True |
(Boolean) It may take some time to detach volume after I/O. This option will allow detaching volume to complete immediately. |
nec_v_rest_get_api_response_timeout = 1800 |
(Integer) Maximum wait time in seconds for a response against GET method of REST API. |
nec_v_rest_job_api_response_timeout = 1800 |
(Integer) Maximum wait time in seconds for a response from REST API. |
nec_v_rest_keep_session_loop_interval = 180 |
(Integer) Loop interval in seconds for keeping REST API session. |
nec_v_rest_server_busy_timeout = 7200 |
(Integer) Maximum wait time in seconds when REST API returns busy. |
nec_v_rest_tcp_keepalive = True |
(Boolean) Enables or disables use of REST API tcp keepalive |
nec_v_rest_tcp_keepcnt = 4 |
(Integer) Maximum number of transmissions for TCP keepalive packet. |
nec_v_rest_tcp_keepidle = 60 |
(Integer) Wait time in seconds for sending a first TCP keepalive packet. |
nec_v_rest_tcp_keepintvl = 15 |
(Integer) Interval of transmissions in seconds for TCP keepalive packet. |
nec_v_rest_timeout = 30 |
(Integer) Maximum wait time in seconds for REST API execution to complete. |
nec_v_restore_timeout = 86400 |
(Integer) Maximum wait time in seconds for the restore operation to complete. |
nec_v_snap_pool = None |
(String) Pool number or pool name of the snapshot pool. |
nec_v_state_transition_timeout = 900 |
(Integer) Maximum wait time in seconds for a volume transition to complete. |
nec_v_storage_id = None |
(String) Product number of the storage system. |
nec_v_target_ports = [] |
(List of String) IDs of the storage ports used to attach volumes to the controller node. To specify multiple ports, connect them by commas (e.g. CL1-A,CL2-A). |
reserved_percentage = 0 |
(Integer(min=0, max=100)) The percentage of backend capacity is reserved |
san_api_port = None |
(Port(min=0, max=65535)) Port to use to access the SAN API |
san_ip = |
(String) IP address of SAN controller |
san_login = admin |
(String) Username for SAN controller |
san_password = |
(String) Password for SAN controller |
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_backend_name = None |
(String) The backend name for a given driver implementation |
volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver |
(String) Driver to use for volume creation |
Description: iSCSI class for NEC Driver.
Version history:
1.0.0 - Initial driver.
ZadaraVPSAISCSIDriver¶
Version: 20.12-24
volume_driver=cinder.volume.drivers.zadara.zadara.ZadaraVPSAISCSIDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/ZadaraStorage_VPSA_CI
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. If the option is neither configured nor provided as metadata, the VPSA will inherit the default value. |
zadara_gen3_vol_compress = False |
(Boolean) VPSA - Enable compression for volumes. If the option is neither configured nor provided as metadata, the VPSA will inherit the default value. |
zadara_gen3_vol_dedupe = False |
(Boolean) VPSA - Enable deduplication for volumes. If the option is neither configured nor provided as metadata, the VPSA will inherit the default value. |
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_vol_encrypt = False |
(Boolean) VPSA - Default encryption policy for volumes. If the option is neither configured nor provided as metadata, the VPSA will inherit the default value. |
zadara_vol_name_template = OS_%s |
(String) VPSA - Default template for VPSA volume names |
zadara_vpsa_host = None |
(HostAddress) 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
20.01 - Move to json format from xml. Provide manage/unmanage
volume/snapshot feature
20.12-01 - Merging with the common code for all the openstack drivers
20.12-02 - Common code changed as part of fixing
Zadara github issue #18723
20.12-03 - Adding the metadata support while creating volume to
configure vpsa.
20.12-20 - IPv6 connectivity support for Cinder driver
20.12-24 - Optimizing get manageable volumes and snapshots
Unsupported Drivers¶
ACCESSIscsiDriver (unsupported)¶
Version: 1.0
volume_driver=cinder.volume.drivers.veritas_access.veritas_iscsi.ACCESSIscsiDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/Veritas_Access_CI
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)¶
Version: 2.0.5
volume_driver=cinder.volume.drivers.prophetstor.dpl_fc.DPLFCDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/ProphetStor_CI
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)¶
Version: 2.0.5
volume_driver=cinder.volume.drivers.prophetstor.dpl_iscsi.DPLISCSIDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/ProphetStor_CI
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)¶
Version: 1.0.12
volume_driver=cinder.volume.drivers.ibm.flashsystem_fc.FlashSystemFCDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/IBM_STORAGE_CI
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)¶
Version: 1.0.12
volume_driver=cinder.volume.drivers.ibm.flashsystem_iscsi.FlashSystemISCSIDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/IBM_STORAGE_CI
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
QnapISCSIDriver (unsupported)¶
Version: 1.2.005
volume_driver=cinder.volume.drivers.qnap.QnapISCSIDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/QNAP_CI
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/NVMEoF 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 (unsupported)¶
Version: 1.1.13
volume_driver=cinder.volume.drivers.quobyte.QuobyteDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/Quobyte_CI
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'
SCFCDriver (unsupported)¶
Version: 4.1.2
volume_driver=cinder.volume.drivers.dell_emc.sc.storagecenter_fc.SCFCDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/DellEMC_SC_CI
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 (unsupported)¶
Version: 4.1.2
volume_driver=cinder.volume.drivers.dell_emc.sc.storagecenter_iscsi.SCISCSIDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/DellEMC_SC_CI
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.
VNXDriver (unsupported)¶
Version: 14.00.01
volume_driver=cinder.volume.drivers.dell_emc.vnx.driver.VNXDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/DellEMC_VNX_CI
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`.
VZStorageDriver (unsupported)¶
Version: 1.1
volume_driver=cinder.volume.drivers.vzstorage.VZStorageDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/Virtuozzo_Storage_CI
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)¶
Version: 1.0.3
volume_driver=cinder.volume.drivers.veritas_cnfs.VeritasCNFSDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/Veritas_Access_CI
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 - Separate create_cloned_volume() and create_volume_from_snapshot () functionality. Pike Release
Executes commands relating to Volumes.
WindowsISCSIDriver (unsupported)¶
Version: 1.0.0
volume_driver=cinder.volume.drivers.windows.iscsi.WindowsISCSIDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/Microsoft_iSCSI_CI
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 (unsupported)¶
Version: 1.1.0
volume_driver=cinder.volume.drivers.windows.smbfs.WindowsSmbfsDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/Cloudbase_Cinder_SMB3_CI
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 (unsupported)¶
Version: 1.0.13
volume_driver=cinder.volume.drivers.dell_emc.xtremio.XtremIOFCDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/DellEMC_XtremIO_CI
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 (unsupported)¶
Version: 1.0.13
volume_driver=cinder.volume.drivers.dell_emc.xtremio.XtremIOISCSIDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/DellEMC_XtremIO_CI
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.
Backup Drivers¶
CephBackupDriver¶
backup_driver=cinder.backup.drivers.ceph.CephBackupDriver
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_max_snapshots = 0 |
(Integer) Number of the most recent snapshots to keep. |
0 indicates to keep an unlimited number of snapshots.
Configuring this option can save disk space by only keeping a limited number of snapshots on the source volume storage. However, if a user deletes all incremental backups which still have snapshots on the source storage, the next incremental backup will automatically become a full backup as no common snapshot exists anymore.
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:
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:
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:
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 also determines the buffer size used to build backup files, so should be scaled according to available RAM and number of workers. 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:
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 also determines the buffer size used to build backup files, so should be scaled according to available RAM and number of workers. 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.
S3BackupDriver¶
backup_driver=cinder.backup.drivers.s3.S3BackupDriver
Driver Configuration Options:
Name = Default Value |
(Type) Description |
---|---|
backup_compression_algorithm = zlib |
(String(choices=[‘none’, ‘off’, ‘no’, ‘zlib’, ‘gzip’, ‘bz2’, ‘bzip2’, ‘zstd’])) Compression algorithm for backups (‘none’ to disable) |
backup_s3_block_size = 32768 |
(Integer) The size in bytes that changes are tracked for incremental backups. backup_s3_object_size has to be multiple of backup_s3_block_size. |
backup_s3_ca_cert_file = None |
(String) path/to/cert/bundle.pem - A filename of the CA cert bundle to use. |
backup_s3_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 S3 backend storage. The default value is True to enable the timer. |
backup_s3_endpoint_url = None |
(String) The url where the S3 server is listening. |
backup_s3_http_proxy = |
(String) Address or host for the http proxy server. |
backup_s3_https_proxy = |
(String) Address or host for the https proxy server. |
backup_s3_max_pool_connections = 10 |
(Integer) The maximum number of connections to keep in a connection pool. |
backup_s3_md5_validation = True |
(Boolean) Enable or Disable md5 validation in the s3 backend. |
backup_s3_object_size = 52428800 |
(Integer) The size in bytes of S3 backup objects |
backup_s3_retry_max_attempts = 4 |
(Integer) An integer representing the maximum number of retry attempts that will be made on a single request. |
backup_s3_retry_mode = legacy |
(String) A string representing the type of retry mode. e.g: legacy, standard, adaptive |
backup_s3_sse_customer_algorithm = None |
(String) The SSECustomerAlgorithm. backup_s3_sse_customer_key must be set at the same time to enable SSE. |
backup_s3_sse_customer_key = None |
(String) The SSECustomerKey. backup_s3_sse_customer_algorithm must be set at the same time to enable SSE. |
backup_s3_store_access_key = None |
(String) The S3 query token access key. |
backup_s3_store_bucket = volumebackups |
(String) The S3 bucket to be used to store the Cinder backup data. |
backup_s3_store_secret_key = None |
(String) The S3 query token secret key. |
backup_s3_timeout = 60 |
(Float) The time in seconds till a timeout exception is thrown. |
backup_s3_verify_ssl = True |
(Boolean) Enable or Disable ssl verify. |
Description: Provides backup, restore and delete of backup objects within S3.
SwiftBackupDriver¶
backup_driver=cinder.backup.drivers.swift.SwiftBackupDriver
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_create_storage_policy = None |
(String) The storage policy to use when creating the Swift container. If the container already exists the storage policy cannot be enforced |
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_service_auth = False |
(Boolean) Send a X-Service-Token header with service auth credentials. If enabled you also must set the service_user group and enable send_service_user_token. |
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.
FC Zone Manager Drivers¶
BrcdFCZoneDriver (unsupported)¶
Version: 1.6
zone_driver=cinder.zonemanager.drivers.brocade.brcd_fc_zone_driver.BrcdFCZoneDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/Brocade_OpenStack_CI
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¶
Version: 1.1.0
zone_driver=cinder.zonemanager.drivers.cisco.cisco_fc_zone_driver.CiscoFCZoneDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/Cisco_ZM_CI
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