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
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>
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. |
iet_conf = /etc/iet/ietd.conf |
(String) DEPRECATED: IET configuration file |
iscsi_iotype = fileio |
(String(choices=[‘blockio’, ‘fileio’, ‘auto’])) Sets the behavior of the iSCSI target to either perform blockio or fileio optionally, auto can be set and Cinder will autodetect type of backing device |
iscsi_secondary_ip_addresses = [] |
(List of String) The list of secondary IP addresses of the iSCSI daemon |
iscsi_target_flags = |
(String) Sets the target-specific flags for the iSCSI target. Only used for tgtadm to specify backing device flags using bsoflags option. The specified string is passed as is to the underlying tool. |
iscsi_write_cache = on |
(String(choices=[‘on’, ‘off’])) Sets the behavior of the iSCSI target to either perform write-back(on) or write-through(off). This parameter is valid if target_helper is set to tgtadm. |
max_over_subscription_ratio = 20.0 |
(String(regex=’^(auto|\d*.\d+|\d+)$’)) Representation of the over subscription ratio when thin provisioning is enabled. Default ratio is 20.0, meaning provisioned capacity can be 20 times of the total physical capacity. If the ratio is 10.5, it means provisioned capacity can be 10.5 times of the total physical capacity. A ratio of 1.0 means provisioned capacity cannot exceed the total physical capacity. If ratio is ‘auto’, Cinder will automatically calculate the ratio based on the provisioned capacity and the used space. If not set to auto, the ratio has to be a minimum of 1.0. |
num_shell_tries = 3 |
(Integer) Number of times to attempt to run flakey shell commands |
num_volume_device_scan_tries = 3 |
(Integer) The maximum number of times to rescan targets to find volume |
replication_device = None |
(Dict of String) Multi opt of dictionaries to represent a replication target device. This option may be specified multiple times in a single config section to specify multiple replication target devices. Each entry takes the standard dict config form: replication_device = target_device_id:<required>,key1:value1,key2:value2… |
report_discard_supported = False |
(Boolean) Report to clients of Cinder that the backend supports discard (aka. trim/unmap). This will not actually change the behavior of the backend or the client directly, it will only notify that it can be used. |
reserved_percentage = 0 |
(Integer(min=0, max=100)) The percentage of backend capacity is reserved |
storage_protocol = iscsi |
(String(choices=[‘iscsi’, ‘fc’])) Protocol for transferring data between host and storage back-end. |
target_helper = tgtadm |
(String(choices=[‘tgtadm’, ‘lioadm’, ‘scstadmin’, ‘iscsictl’, ‘ietadm’, ‘nvmet’, ‘spdk-nvmeof’, ‘fake’])) Target user-land tool to use. tgtadm is default, use lioadm for LIO iSCSI support, scstadmin for SCST target support, ietadm for iSCSI Enterprise Target, iscsictl for Chelsio iSCSI Target, nvmet for NVMEoF support, spdk-nvmeof for SPDK NVMe-oF, or fake for testing. Note: The IET driver is deprecated and will be removed in the V release. |
target_ip_address = $my_ip |
(String) The IP address that the iSCSI daemon is listening on |
target_port = 3260 |
(Port(min=0, max=65535)) The port that the iSCSI daemon is listening on |
target_prefix = iqn.2010-10.org.openstack: |
(String) Prefix for iSCSI volumes |
target_protocol = iscsi |
(String(choices=[‘iscsi’, ‘iser’, ‘nvmet_rdma’])) Determines the target protocol for new volumes, created with tgtadm, lioadm and nvmet target helpers. In order to enable RDMA, this parameter should be set with the value “iser”. The supported iSCSI protocol values are “iscsi” and “iser”, in case of nvmet target set to “nvmet_rdma”. |
trace_flags = None |
(List of String) List of options that control which trace info is written to the DEBUG log level to assist developers. Valid values are method and api. |
use_chap_auth = False |
(Boolean) Option to enable/disable CHAP authentication for targets. |
volume_backend_name = None |
(String) The backend name for a given driver implementation |
volume_clear = zero |
(String(choices=[‘none’, ‘zero’])) Method used to wipe old volumes |
volume_clear_ionice = None |
(String) The flag to pass to ionice to alter the i/o priority of the process used to zero a volume after deletion, for example “-c3” for idle only priority. |
volume_clear_size = 0 |
(Integer(max=1024)) Size in MiB to wipe at start of old volumes. 1024 MiB at max. 0 => all |
volume_copy_blkio_cgroup_name = cinder-volume-copy |
(String) The blkio cgroup name to be used to limit bandwidth of volume copy |
volume_copy_bps_limit = 0 |
(Integer) The upper limit of bandwidth of volume copy. 0 => unlimited |
volume_dd_blocksize = 1M |
(String) The default block size used when copying/clearing volumes |
volumes_dir = $state_path/volumes |
(String) Volume configuration file storage directory |
Description: The OpenStack Datera iSCSI volume driver.
- Version history:
1.0 - Initial driver
1.1 - Look for lun-0 instead of lun-1.
2.0 - Update For Datera API v2
2.1 - Multipath, ACL and reorg
- 2.2 - Capabilites List, Extended Volume-Type Support
Naming convention change, Volume Manage/Unmanage support
- 2.3 - Templates, Tenants, Snapshot Polling,
2.1 Api Version Support, Restructure
2.3.1 - Scalability bugfixes
2.3.2 - Volume Placement, ACL multi-attach bugfix
2.4.0 - Fast Retype Support
2.5.0 - Glance Image Caching, retyping/QoS bugfixes
2.6.0 - Api 2.2 support
2.6.1 - Glance interoperability fix
- 2.7.0 - IOPS/GB and BW/GB settings, driver level overrides
(API 2.1+ only)
2.7.2 - Allowing DF: QoS Spec prefix, QoS type leak bugfix
2.7.3 - Fixed bug in clone_image where size was not set correctly
- 2.7.4 - Fix for create_tenant incorrect API call
Temporary fix for DAT-15931
2.7.5 - Removed “force” parameter from /initiators v2.1 API requests
- 2.8.0 - iops_per_gb and bandwidth_per_gb are now limited by
total_iops_max and total_bandwidth_max (API 2.1+ only) Bugfix for cinder retype with online volume
2.8.1 - Bugfix for missing default dict during retype
2.8.2 - Updated most retype operations to not detach volume
- 2.8.3 - Bugfix for not allowing fast clones for shared/community
volumes
2.8.4 - Fixed missing API version pinning in _offline_flip
2.8.5 - Membership check for fast image cloning. Metadata API pinning
2.8.6 - Added LDAP support and CHAP support
2.8.7 - Bugfix for missing tenancy calls in offline_flip
- 2.9.0 - Volumes now correctly renamed during backend migration.
Implemented update_migrated_volume (API 2.1+ only), Prevent non-raw image cloning
- 2.9.1 - Added extended metadata attributes during volume creation
and attachment. Added datera_disable_extended_metadata option to disable it.
- 2.9.2 - Made ensure_export a no-op. Removed usage of
initiator-groups
- 2018.4.5.0 - Switch to new date-based versioning scheme. Removed v2
API support
2018.4.17.1 - Bugfixes to IP Pools, Templates and Initiators
2018.4.25.0 - Snapshot Manage. List Manageable Snapshots support
- 2018.4.27.0 - Major driver revamp/restructure, no functionality
change
2018.5.1.0 - Bugfix for Map tenant auto-creation
2018.5.18.0 - Bugfix for None tenant handling
2018.6.7.0 - Bugfix for missing project_id during image clone
2018.7.13.0 - Massive update porting to use the Datera Python-SDK
- 2018.7.20.0 - Driver now includes display_name in created backend
app_instances.
2018.9.17.0 - Requirements and doc changes
- 2018.10.8.0 - Added extra_headers to Python-SDK constructor call.
This allows for the SDK to send the type of driver performing each request along with the request. This functionality existed before the Python-SDK revamp, so this change adds the functionality back in.
- 2018.10.8.1 - Adding thread_local to Python-SDK constructor call.
This preserves trace_id in the logs
- 2018.10.30.0 - Adding template_override support. Added
datera_disable_template_override cfgOpt to disable this feature. Updated required requests version to >=2.20.0 because of a security vulnerability in <=2.19.X. Added support for filter_function and goodness_function.
- 2018.11.1.0 - Adding flash and hybrid capacity info to
get_volume_stats
2018.11.8.0 - Fixing bug that broke 2.2.X support
- 2018.11.14.0 - Bugfixes for v2.1 API support and unicode character
support
2019.1.24.0 - Python-SDK requirements update, README updates
2019.2.25.0 - Scalability fixes and utility script updates
2019.6.4.1 - Added Pypi packaging installation support
- 2019.12.10.0 - Python 3.x support, tox tests, CI ready, live
migration support, image cache, bugfixes.
FJDXFCDriver¶
Version: 1.3.0
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. |
Description: FC Cinder Volume Driver for Fujitsu ETERNUS DX S3 series.
FJDXISCSIDriver¶
Version: 1.3.0
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. |
Description: iSCSI Cinder Volume Driver for Fujitsu ETERNUS DX S3 series.
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_NFS_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_REMOTE_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.
HPE3PARFCDriver¶
Version: 4.0.7
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 both 3PAR and Primera. Example 1: for 3PAR, URL is: https://<3par ip>:8080/api/v1 Example 2: for Primera, URL is: https://<primera ip>:443/api/v1 |
hpe3par_cpg = [‘OpenStack’] |
(List of String) List of the 3PAR / Primera CPG(s) to use for volume creation |
hpe3par_cpg_snap = |
(String) The 3PAR / Primera CPG to use for snapshots of volumes. If empty the userCPG will be used. |
hpe3par_debug = False |
(Boolean) Enable HTTP debugging to 3PAR / Primera |
hpe3par_iscsi_chap_enabled = False |
(Boolean) Enable CHAP authentication for iSCSI connections. |
hpe3par_iscsi_ips = [] |
(List of String) List of target iSCSI addresses to use. |
hpe3par_password = |
(String) 3PAR / Primera password for the user specified in hpe3par_username |
hpe3par_snapshot_expiration = |
(String) The time in hours when a snapshot expires and is deleted. This must be larger than expiration |
hpe3par_snapshot_retention = |
(String) The time in hours to retain a snapshot. You can’t delete it before this expires. |
hpe3par_target_nsp = |
(String) The nsp of 3PAR backend to be used when: (1) multipath is not enabled in cinder.conf. (2) Fiber Channel Zone Manager is not used. (3) the 3PAR backend is prezoned with this specific nsp only. For example if nsp is 2 1 2, the format of the option’s value is 2:1:2 |
hpe3par_username = |
(String) 3PAR / Primera username with the ‘edit’ role |
max_over_subscription_ratio = 20.0 |
(String(regex=’^(auto|\d*.\d+|\d+)$’)) Representation of the over subscription ratio when thin provisioning is enabled. Default ratio is 20.0, meaning provisioned capacity can be 20 times of the total physical capacity. If the ratio is 10.5, it means provisioned capacity can be 10.5 times of the total physical capacity. A ratio of 1.0 means provisioned capacity cannot exceed the total physical capacity. If ratio is ‘auto’, Cinder will automatically calculate the ratio based on the provisioned capacity and the used space. If not set to auto, the ratio has to be a minimum of 1.0. |
replication_device = None |
(Dict of String) Multi opt of dictionaries to represent a replication target device. This option may be specified multiple times in a single config section to specify multiple replication target devices. Each entry takes the standard dict config form: replication_device = target_device_id:<required>,key1:value1,key2:value2… |
reserved_percentage = 0 |
(Integer(min=0, max=100)) The percentage of backend capacity is reserved |
san_ip = |
(String) IP address of SAN controller |
san_login = admin |
(String) Username for SAN controller |
san_password = |
(String) Password for SAN controller |
san_private_key = |
(String) Filename of private key to use for SSH authentication |
san_ssh_port = 22 |
(Port(min=0, max=65535)) SSH port to use with SAN |
ssh_conn_timeout = 30 |
(Integer) SSH connection timeout in seconds |
target_ip_address = $my_ip |
(String) The IP address that the iSCSI daemon is listening on |
target_port = 3260 |
(Port(min=0, max=65535)) The port that the iSCSI daemon is listening on |
unique_fqdn_network = True |
(Boolean) Whether or not our private network has unique FQDN on each initiator or not. For example networks with QA systems usually have multiple servers/VMs with the same FQDN. When true this will create host entries on 3PAR using the FQDN, when false it will use the reversed IQN/WWNN. |
Description: OpenStack Fibre Channel driver to enable 3PAR storage array.
Version history:
1.0 - Initial driver
1.1 - QoS, extend volume, multiple iscsi ports, remove domain,
session changes, faster clone, requires 3.1.2 MU2 firmware,
copy volume <--> Image.
1.2.0 - Updated the use of the hp3parclient to 2.0.0 and refactored
the drivers to use the new APIs.
1.2.1 - Synchronized extend_volume method.
1.2.2 - Added try/finally around client login/logout.
1.2.3 - Added ability to add WWNs to host.
1.2.4 - Added metadata during attach/detach bug #1258033.
1.3.0 - Removed all SSH code. We rely on the hp3parclient now.
2.0.0 - Update hp3parclient API uses 3.0.x
2.0.2 - Add back-end assisted volume migrate
2.0.3 - Added initiator-target map for FC Zone Manager
2.0.4 - Added support for managing/unmanaging of volumes
2.0.5 - Only remove FC Zone on last volume detach
2.0.6 - Added support for volume retype
2.0.7 - Only one FC port is used when a single FC path
is present. bug #1360001
2.0.8 - Fixing missing login/logout around attach/detach bug #1367429
2.0.9 - Add support for pools with model update
2.0.10 - Migrate without losing type settings bug #1356608
2.0.11 - Removing locks bug #1381190
2.0.12 - Fix queryHost call to specify wwns bug #1398206
2.0.13 - Fix missing host name during attach bug #1398206
2.0.14 - Removed usage of host name cache #1398914
2.0.15 - Added support for updated detach_volume attachment.
2.0.16 - Added encrypted property to initialize_connection #1439917
2.0.17 - Improved VLUN creation and deletion logic. #1469816
2.0.18 - Changed initialize_connection to use getHostVLUNs. #1475064
2.0.19 - Adds consistency group support
2.0.20 - Update driver to use ABC metaclasses
2.0.21 - Added update_migrated_volume. bug # 1492023
3.0.0 - Rebranded HP to HPE.
3.0.1 - Remove db access for consistency groups
3.0.2 - Adds v2 managed replication support
3.0.3 - Adds v2 unmanaged replication support
3.0.4 - Adding manage/unmanage snapshot support
3.0.5 - Optimize array ID retrieval
3.0.6 - Update replication to version 2.1
3.0.7 - Remove metadata that tracks the instance ID. bug #1572665
3.0.8 - NSP feature, creating FC Vlun as match set instead of
host sees. bug #1577993
3.0.9 - Handling HTTP conflict 409, host WWN/iSCSI name already used
by another host, while creating 3PAR FC Host. bug #1597454
3.0.10 - Added Entry point tracing
3.0.11 - Handle manage and unmanage hosts present. bug #1648067
3.0.12 - Adds consistency group capability in generic volume groups.
4.0.0 - Adds base class.
4.0.1 - Added check to remove FC zones. bug #1730720
4.0.2 - Create one vlun in single path configuration. bug #1727176
4.0.3 - Create FC vlun as host sees. bug #1734505
4.0.4 - Handle force detach case. bug #1686745
4.0.5 - Set proper backend on subsequent operation, after group
failover. bug #1773069
4.0.6 - Set NSP for single path attachments. Bug #1809249
4.0.7 - Added Peer Persistence feature
HPE3PARISCSIDriver¶
Version: 4.0.6
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 both 3PAR and Primera. Example 1: for 3PAR, URL is: https://<3par ip>:8080/api/v1 Example 2: for Primera, URL is: https://<primera ip>:443/api/v1 |
hpe3par_cpg = [‘OpenStack’] |
(List of String) List of the 3PAR / Primera CPG(s) to use for volume creation |
hpe3par_cpg_snap = |
(String) The 3PAR / Primera CPG to use for snapshots of volumes. If empty the userCPG will be used. |
hpe3par_debug = False |
(Boolean) Enable HTTP debugging to 3PAR / Primera |
hpe3par_iscsi_chap_enabled = False |
(Boolean) Enable CHAP authentication for iSCSI connections. |
hpe3par_iscsi_ips = [] |
(List of String) List of target iSCSI addresses to use. |
hpe3par_password = |
(String) 3PAR / Primera password for the user specified in hpe3par_username |
hpe3par_snapshot_expiration = |
(String) The time in hours when a snapshot expires and is deleted. This must be larger than expiration |
hpe3par_snapshot_retention = |
(String) The time in hours to retain a snapshot. You can’t delete it before this expires. |
hpe3par_target_nsp = |
(String) The nsp of 3PAR backend to be used when: (1) multipath is not enabled in cinder.conf. (2) Fiber Channel Zone Manager is not used. (3) the 3PAR backend is prezoned with this specific nsp only. For example if nsp is 2 1 2, the format of the option’s value is 2:1:2 |
hpe3par_username = |
(String) 3PAR / Primera username with the ‘edit’ role |
max_over_subscription_ratio = 20.0 |
(String(regex=’^(auto|\d*.\d+|\d+)$’)) Representation of the over subscription ratio when thin provisioning is enabled. Default ratio is 20.0, meaning provisioned capacity can be 20 times of the total physical capacity. If the ratio is 10.5, it means provisioned capacity can be 10.5 times of the total physical capacity. A ratio of 1.0 means provisioned capacity cannot exceed the total physical capacity. If ratio is ‘auto’, Cinder will automatically calculate the ratio based on the provisioned capacity and the used space. If not set to auto, the ratio has to be a minimum of 1.0. |
replication_device = None |
(Dict of String) Multi opt of dictionaries to represent a replication target device. This option may be specified multiple times in a single config section to specify multiple replication target devices. Each entry takes the standard dict config form: replication_device = target_device_id:<required>,key1:value1,key2:value2… |
reserved_percentage = 0 |
(Integer(min=0, max=100)) The percentage of backend capacity is reserved |
san_ip = |
(String) IP address of SAN controller |
san_login = admin |
(String) Username for SAN controller |
san_password = |
(String) Password for SAN controller |
san_private_key = |
(String) Filename of private key to use for SSH authentication |
san_ssh_port = 22 |
(Port(min=0, max=65535)) SSH port to use with SAN |
ssh_conn_timeout = 30 |
(Integer) SSH connection timeout in seconds |
target_ip_address = $my_ip |
(String) The IP address that the iSCSI daemon is listening on |
target_port = 3260 |
(Port(min=0, max=65535)) The port that the iSCSI daemon is listening on |
unique_fqdn_network = True |
(Boolean) Whether or not our private network has unique FQDN on each initiator or not. For example networks with QA systems usually have multiple servers/VMs with the same FQDN. When true this will create host entries on 3PAR using the FQDN, when false it will use the reversed IQN/WWNN. |
Description: OpenStack iSCSI driver to enable 3PAR storage array.
Version history:
1.0 - Initial driver
1.1 - QoS, extend volume, multiple iscsi ports, remove domain,
session changes, faster clone, requires 3.1.2 MU2 firmware.
1.2.0 - Updated the use of the hp3parclient to 2.0.0 and refactored
the drivers to use the new APIs.
1.2.1 - Synchronized extend_volume method.
1.2.2 - Added try/finally around client login/logout.
1.2.3 - log exceptions before raising
1.2.4 - Fixed iSCSI active path bug #1224594
1.2.5 - Added metadata during attach/detach bug #1258033
1.2.6 - Use least-used iscsi n:s:p for iscsi volume attach bug #1269515
This update now requires 3.1.2 MU3 firmware
1.3.0 - Removed all SSH code. We rely on the hp3parclient now.
2.0.0 - Update hp3parclient API uses 3.0.x
2.0.2 - Add back-end assisted volume migrate
2.0.3 - Added support for managing/unmanaging of volumes
2.0.4 - Added support for volume retype
2.0.5 - Added CHAP support, requires 3.1.3 MU1 firmware
and hp3parclient 3.1.0.
2.0.6 - Fixing missing login/logout around attach/detach bug #1367429
2.0.7 - Add support for pools with model update
2.0.8 - Migrate without losing type settings bug #1356608
2.0.9 - Removing locks bug #1381190
2.0.10 - Add call to queryHost instead SSH based findHost #1398206
2.0.11 - Added missing host name during attach fix #1398206
2.0.12 - Removed usage of host name cache #1398914
2.0.13 - Update LOG usage to fix translations. bug #1384312
2.0.14 - Do not allow a different iSCSI IP (hp3par_iscsi_ips) to be
used during live-migration. bug #1423958
2.0.15 - Added support for updated detach_volume attachment.
2.0.16 - Added encrypted property to initialize_connection #1439917
2.0.17 - Python 3 fixes
2.0.18 - Improved VLUN creation and deletion logic. #1469816
2.0.19 - Changed initialize_connection to use getHostVLUNs. #1475064
2.0.20 - Adding changes to support 3PAR iSCSI multipath.
2.0.21 - Adds consistency group support
2.0.22 - Update driver to use ABC metaclasses
2.0.23 - Added update_migrated_volume. bug # 1492023
3.0.0 - Rebranded HP to HPE.
3.0.1 - Python 3 support
3.0.2 - Remove db access for consistency groups
3.0.3 - Fix multipath dictionary key error. bug #1522062
3.0.4 - Adds v2 managed replication support
3.0.5 - Adds v2 unmanaged replication support
3.0.6 - Adding manage/unmanage snapshot support
3.0.7 - Optimize array ID retrieval
3.0.8 - Update replication to version 2.1
3.0.9 - Use same LUN ID for each VLUN path #1551994
3.0.10 - Remove metadata that tracks the instance ID. bug #1572665
3.0.11 - _create_3par_iscsi_host() now accepts iscsi_iqn as list only.
Bug #1590180
3.0.12 - Added entry point tracing
3.0.13 - Handling HTTP conflict 409, host WWN/iSCSI name already used
by another host, while creating 3PAR iSCSI Host. bug #1642945
3.0.14 - Handle manage and unmanage hosts present. bug #1648067
3.0.15 - Adds consistency group capability in generic volume groups.
3.0.16 - Get host from os-brick connector. bug #1690244
4.0.0 - Adds base class.
4.0.1 - Update CHAP on host record when volume is migrated
to new compute host. bug # 1737181
4.0.2 - Handle force detach case. bug #1686745
4.0.3 - Set proper backend on subsequent operation, after group
failover. bug #1773069
4.0.4 - Added Peer Persistence feature
4.0.5 - Added Primera array check. bug #1849525
4.0.6 - Allow iSCSI support for Primera 4.2 onwards
HPMSAFCDriver¶
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 |
---|---|
hpmsa_api_protocol = https |
(String(choices=[‘http’, ‘https’])) HPMSA API interface protocol. |
hpmsa_pool_name = A |
(String) Pool or Vdisk name to use for volume creation. |
hpmsa_pool_type = virtual |
(String(choices=[‘linear’, ‘virtual’])) linear (for Vdisk) or virtual (for Pool). |
hpmsa_verify_certificate = False |
(Boolean) Whether to verify HPMSA array SSL certificate. |
hpmsa_verify_certificate_path = None |
(String) HPMSA array SSL certificate path. |
Description: OpenStack Fibre Channel cinder drivers for HPMSA arrays.
Version history:
1.0 - Inheriting from DotHill cinder drivers.
1.6 - Add management path redundancy and reduce load placed
on management controller.
2.0 - DotHill driver renamed to Seagate (STX)
HPMSAISCSIDriver¶
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 |
---|---|
hpmsa_api_protocol = https |
(String(choices=[‘http’, ‘https’])) HPMSA API interface protocol. |
hpmsa_iscsi_ips = [] |
(List of String) List of comma-separated target iSCSI IP addresses. |
hpmsa_pool_name = A |
(String) Pool or Vdisk name to use for volume creation. |
hpmsa_pool_type = virtual |
(String(choices=[‘linear’, ‘virtual’])) linear (for Vdisk) or virtual (for Pool). |
hpmsa_verify_certificate = False |
(Boolean) Whether to verify HPMSA array SSL certificate. |
hpmsa_verify_certificate_path = None |
(String) HPMSA array SSL certificate path. |
Description: OpenStack iSCSI cinder drivers for HPMSA arrays.
Version history:
1.0 - Inheriting from DotHill cinder drivers.
1.6 - Add management path redundancy and reduce load placed
on management controller.
2.0 - DotHill driver renamed to Seagate (STX)
HedvigISCSIDriver¶
Version: 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
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 is 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 is 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.6
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. |
enforce_multipath_for_image_xfer = False |
(Boolean) If this is set to True, attachment of volumes for image transfer will be aborted when multipathd is not running. Otherwise, it will fallback to single path. This parameter needs to be configured for each backend section or in [backend_defaults] section as a common configuration for all backends. |
infinidat_iscsi_netspaces = [] |
(List of String) List of names of network spaces to use for iSCSI connectivity |
infinidat_pool_name = None |
(String) Name of the pool from which volumes are allocated |
infinidat_storage_protocol = fc |
(String(choices=[‘iscsi’, ‘fc’])) Protocol for transferring data between host and storage back-end. |
infinidat_use_compression = False |
(Boolean) Specifies whether to turn on compression for newly created volumes. |
max_over_subscription_ratio = 20.0 |
(String(regex=’^(auto|\d*.\d+|\d+)$’)) Representation of the over subscription ratio when thin provisioning is enabled. Default ratio is 20.0, meaning provisioned capacity can be 20 times of the total physical capacity. If the ratio is 10.5, it means provisioned capacity can be 10.5 times of the total physical capacity. A ratio of 1.0 means provisioned capacity cannot exceed the total physical capacity. If ratio is ‘auto’, Cinder will automatically calculate the ratio based on the provisioned capacity and the used space. If not set to auto, the ratio has to be a minimum of 1.0. |
num_volume_device_scan_tries = 3 |
(Integer) The maximum number of times to rescan targets to find volume |
san_ip = |
(String) IP address of SAN controller |
san_login = admin |
(String) Username for SAN controller |
san_password = |
(String) Password for SAN controller |
san_thin_provision = True |
(Boolean) Use thin provisioning for SAN volumes? |
use_chap_auth = False |
(Boolean) Option to enable/disable CHAP authentication for targets. |
use_multipath_for_image_xfer = False |
(Boolean) Do we attach/detach volumes in cinder using multipath for volume to image and image to volume transfers? This parameter needs to be configured for each backend section or in [backend_defaults] section as a common configuration for all backends. |
volume_dd_blocksize = 1M |
(String) The default block size used when copying/clearing volumes |
Description: INFINIDAT InfiniBox Cinder driver.
Version history:
1.0 - initial release
1.1 - switched to use infinisdk package
1.2 - added support for iSCSI protocol
1.3 - added generic volume groups support
1.4 - added support for QoS
1.5 - added support for volume compression
1.6 - added support for volume multi-attach
InfortrendCLIFCDriver¶
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>
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
LVMVolumeDriver¶
Version: 3.0.0
volume_driver=cinder.volume.drivers.lvm.LVMVolumeDriver
Driver Configuration Options:
Name = Default Value |
(Type) Description |
---|---|
iet_conf = /etc/iet/ietd.conf |
(String) DEPRECATED: IET configuration file |
iscsi_iotype = fileio |
(String(choices=[‘blockio’, ‘fileio’, ‘auto’])) Sets the behavior of the iSCSI target to either perform blockio or fileio optionally, auto can be set and Cinder will autodetect type of backing device |
iscsi_secondary_ip_addresses = [] |
(List of String) The list of secondary IP addresses of the iSCSI daemon |
iscsi_target_flags = |
(String) Sets the target-specific flags for the iSCSI target. Only used for tgtadm to specify backing device flags using bsoflags option. The specified string is passed as is to the underlying tool. |
iscsi_write_cache = on |
(String(choices=[‘on’, ‘off’])) Sets the behavior of the iSCSI target to either perform write-back(on) or write-through(off). This parameter is valid if target_helper is set to tgtadm. |
lvm_conf_file = /etc/cinder/lvm.conf |
(String) LVM conf file to use for the LVM driver in Cinder; this setting is ignored if the specified file does not exist (You can also specify ‘None’ to not use a conf file even if one exists). |
lvm_mirrors = 0 |
(Integer) If >0, create LVs with multiple mirrors. Note that this requires lvm_mirrors + 2 PVs with available space |
lvm_suppress_fd_warnings = False |
(Boolean) Suppress leaked file descriptor warnings in LVM commands. |
lvm_type = auto |
(String(choices=[‘default’, ‘thin’, ‘auto’])) Type of LVM volumes to deploy; (default, thin, or auto). Auto defaults to thin if thin is supported. |
max_over_subscription_ratio = 20.0 |
(String(regex=’^(auto|\d*.\d+|\d+)$’)) Representation of the over subscription ratio when thin provisioning is enabled. Default ratio is 20.0, meaning provisioned capacity can be 20 times of the total physical capacity. If the ratio is 10.5, it means provisioned capacity can be 10.5 times of the total physical capacity. A ratio of 1.0 means provisioned capacity cannot exceed the total physical capacity. If ratio is ‘auto’, Cinder will automatically calculate the ratio based on the provisioned capacity and the used space. If not set to auto, the ratio has to be a minimum of 1.0. |
nvmet_port_id = 1 |
(Port(min=0, max=65535)) The port that the NVMe target is listening on. |
reserved_percentage = 0 |
(Integer(min=0, max=100)) The percentage of backend capacity is reserved |
scst_target_driver = iscsi |
(String) SCST target implementation can choose from multiple SCST target drivers. |
scst_target_iqn_name = None |
(String) Certain ISCSI targets have predefined target names, SCST target driver uses this name. |
spdk_max_queue_depth = 64 |
(Integer(min=1, max=128)) Queue depth for rdma transport. |
spdk_rpc_ip = None |
(String) The NVMe target remote configuration IP address. |
spdk_rpc_password = None |
(String) The NVMe target remote configuration password. |
spdk_rpc_port = 8000 |
(Port(min=0, max=65535)) The NVMe target remote configuration port. |
spdk_rpc_username = None |
(String) The NVMe target remote configuration username. |
target_helper = tgtadm |
(String(choices=[‘tgtadm’, ‘lioadm’, ‘scstadmin’, ‘iscsictl’, ‘ietadm’, ‘nvmet’, ‘spdk-nvmeof’, ‘fake’])) Target user-land tool to use. tgtadm is default, use lioadm for LIO iSCSI support, scstadmin for SCST target support, ietadm for iSCSI Enterprise Target, iscsictl for Chelsio iSCSI Target, nvmet for NVMEoF support, spdk-nvmeof for SPDK NVMe-oF, or fake for testing. Note: The IET driver is deprecated and will be removed in the V release. |
target_ip_address = $my_ip |
(String) The IP address that the iSCSI daemon is listening on |
target_port = 3260 |
(Port(min=0, max=65535)) The port that the iSCSI daemon is listening on |
target_prefix = iqn.2010-10.org.openstack: |
(String) Prefix for iSCSI volumes |
target_protocol = iscsi |
(String(choices=[‘iscsi’, ‘iser’, ‘nvmet_rdma’])) Determines the target protocol for new volumes, created with tgtadm, lioadm and nvmet target helpers. In order to enable RDMA, this parameter should be set with the value “iser”. The supported iSCSI protocol values are “iscsi” and “iser”, in case of nvmet target set to “nvmet_rdma”. |
volume_clear = zero |
(String(choices=[‘none’, ‘zero’])) Method used to wipe old volumes |
volume_clear_size = 0 |
(Integer(max=1024)) Size in MiB to wipe at start of old volumes. 1024 MiB at max. 0 => all |
volume_dd_blocksize = 1M |
(String) The default block size used when copying/clearing volumes |
volume_group = cinder-volumes |
(String) Name for the VG that will contain exported volumes |
volumes_dir = $state_path/volumes |
(String) Volume configuration file storage directory |
Description: Executes commands relating to Volumes.
LenovoFCDriver¶
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 |
---|---|
lenovo_api_protocol = https |
(String(choices=[‘http’, ‘https’])) Lenovo api interface protocol. |
lenovo_pool_name = A |
(String) Pool or Vdisk name to use for volume creation. |
lenovo_pool_type = virtual |
(String(choices=[‘linear’, ‘virtual’])) linear (for VDisk) or virtual (for Pool). |
lenovo_verify_certificate = False |
(Boolean) Whether to verify Lenovo array SSL certificate. |
lenovo_verify_certificate_path = None |
(String) Lenovo array SSL certificate path. |
Description: OpenStack Fibre Channel cinder drivers for Lenovo Storage arrays.
Version history:
1.0 - Inheriting from DotHill cinder drivers.
1.6 - Add management path redundancy and reduce load placed
on management controller.
2.0 - DotHill driver renamed to Seagate (STX)
LenovoISCSIDriver¶
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 |
---|---|
lenovo_api_protocol = https |
(String(choices=[‘http’, ‘https’])) Lenovo api interface protocol. |
lenovo_iscsi_ips = [] |
(List of String) List of comma-separated target iSCSI IP addresses. |
lenovo_pool_name = A |
(String) Pool or Vdisk name to use for volume creation. |
lenovo_pool_type = virtual |
(String(choices=[‘linear’, ‘virtual’])) linear (for VDisk) or virtual (for Pool). |
lenovo_verify_certificate = False |
(Boolean) Whether to verify Lenovo array SSL certificate. |
lenovo_verify_certificate_path = None |
(String) Lenovo array SSL certificate path. |
Description: OpenStack iSCSI cinder drivers for Lenovo Storage arrays.
Version history:
1.0 - Inheriting from DotHill cinder drivers.
1.6 - Add management path redundancy and reduce load placed
on management controller.
2.0 - DotHill driver renamed to Seagate (STX)
LinstorDrbdDriver¶
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. |
iet_conf = /etc/iet/ietd.conf |
(String) DEPRECATED: IET configuration file |
iscsi_iotype = fileio |
(String(choices=[‘blockio’, ‘fileio’, ‘auto’])) Sets the behavior of the iSCSI target to either perform blockio or fileio optionally, auto can be set and Cinder will autodetect type of backing device |
iscsi_secondary_ip_addresses = [] |
(List of String) The list of secondary IP addresses of the iSCSI daemon |
iscsi_target_flags = |
(String) Sets the target-specific flags for the iSCSI target. Only used for tgtadm to specify backing device flags using bsoflags option. The specified string is passed as is to the underlying tool. |
iscsi_write_cache = on |
(String(choices=[‘on’, ‘off’])) Sets the behavior of the iSCSI target to either perform write-back(on) or write-through(off). This parameter is valid if target_helper is set to tgtadm. |
max_over_subscription_ratio = 20.0 |
(String(regex=’^(auto|\d*.\d+|\d+)$’)) Representation of the over subscription ratio when thin provisioning is enabled. Default ratio is 20.0, meaning provisioned capacity can be 20 times of the total physical capacity. If the ratio is 10.5, it means provisioned capacity can be 10.5 times of the total physical capacity. A ratio of 1.0 means provisioned capacity cannot exceed the total physical capacity. If ratio is ‘auto’, Cinder will automatically calculate the ratio based on the provisioned capacity and the used space. If not set to auto, the ratio has to be a minimum of 1.0. |
num_shell_tries = 3 |
(Integer) Number of times to attempt to run flakey shell commands |
num_volume_device_scan_tries = 3 |
(Integer) The maximum number of times to rescan targets to find volume |
replication_device = None |
(Dict of String) Multi opt of dictionaries to represent a replication target device. This option may be specified multiple times in a single config section to specify multiple replication target devices. Each entry takes the standard dict config form: replication_device = target_device_id:<required>,key1:value1,key2:value2… |
report_discard_supported = False |
(Boolean) Report to clients of Cinder that the backend supports discard (aka. trim/unmap). This will not actually change the behavior of the backend or the client directly, it will only notify that it can be used. |
reserved_percentage = 0 |
(Integer(min=0, max=100)) The percentage of backend capacity is reserved |
storage_protocol = iscsi |
(String(choices=[‘iscsi’, ‘fc’])) Protocol for transferring data between host and storage back-end. |
target_helper = tgtadm |
(String(choices=[‘tgtadm’, ‘lioadm’, ‘scstadmin’, ‘iscsictl’, ‘ietadm’, ‘nvmet’, ‘spdk-nvmeof’, ‘fake’])) Target user-land tool to use. tgtadm is default, use lioadm for LIO iSCSI support, scstadmin for SCST target support, ietadm for iSCSI Enterprise Target, iscsictl for Chelsio iSCSI Target, nvmet for NVMEoF support, spdk-nvmeof for SPDK NVMe-oF, or fake for testing. Note: The IET driver is deprecated and will be removed in the V release. |
target_ip_address = $my_ip |
(String) The IP address that the iSCSI daemon is listening on |
target_port = 3260 |
(Port(min=0, max=65535)) The port that the iSCSI daemon is listening on |
target_prefix = iqn.2010-10.org.openstack: |
(String) Prefix for iSCSI volumes |
target_protocol = iscsi |
(String(choices=[‘iscsi’, ‘iser’, ‘nvmet_rdma’])) Determines the target protocol for new volumes, created with tgtadm, lioadm and nvmet target helpers. In order to enable RDMA, this parameter should be set with the value “iser”. The supported iSCSI protocol values are “iscsi” and “iser”, in case of nvmet target set to “nvmet_rdma”. |
trace_flags = None |
(List of String) List of options that control which trace info is written to the DEBUG log level to assist developers. Valid values are method and api. |
use_chap_auth = False |
(Boolean) Option to enable/disable CHAP authentication for targets. |
volume_backend_name = None |
(String) The backend name for a given driver implementation |
volume_clear = zero |
(String(choices=[‘none’, ‘zero’])) Method used to wipe old volumes |
volume_clear_ionice = None |
(String) The flag to pass to ionice to alter the i/o priority of the process used to zero a volume after deletion, for example “-c3” for idle only priority. |
volume_clear_size = 0 |
(Integer(max=1024)) Size in MiB to wipe at start of old volumes. 1024 MiB at max. 0 => all |
volume_copy_blkio_cgroup_name = cinder-volume-copy |
(String) The blkio cgroup name to be used to limit bandwidth of volume copy |
volume_copy_bps_limit = 0 |
(Integer) The upper limit of bandwidth of volume copy. 0 => unlimited |
volume_dd_blocksize = 1M |
(String) The default block size used when copying/clearing volumes |
volumes_dir = $state_path/volumes |
(String) Volume configuration file storage directory |
Description: FC driver for MacroSan storage arrays.
Version history:
1.0.0 - Initial driver
1.0.1 - Adjust some log level and text prompts; Remove some useless
functions; Add Cinder trace decorator. #1837920
MacroSANISCSIDriver¶
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. |
iet_conf = /etc/iet/ietd.conf |
(String) DEPRECATED: IET configuration file |
iscsi_iotype = fileio |
(String(choices=[‘blockio’, ‘fileio’, ‘auto’])) Sets the behavior of the iSCSI target to either perform blockio or fileio optionally, auto can be set and Cinder will autodetect type of backing device |
iscsi_secondary_ip_addresses = [] |
(List of String) The list of secondary IP addresses of the iSCSI daemon |
iscsi_target_flags = |
(String) Sets the target-specific flags for the iSCSI target. Only used for tgtadm to specify backing device flags using bsoflags option. The specified string is passed as is to the underlying tool. |
iscsi_write_cache = on |
(String(choices=[‘on’, ‘off’])) Sets the behavior of the iSCSI target to either perform write-back(on) or write-through(off). This parameter is valid if target_helper is set to tgtadm. |
max_over_subscription_ratio = 20.0 |
(String(regex=’^(auto|\d*.\d+|\d+)$’)) Representation of the over subscription ratio when thin provisioning is enabled. Default ratio is 20.0, meaning provisioned capacity can be 20 times of the total physical capacity. If the ratio is 10.5, it means provisioned capacity can be 10.5 times of the total physical capacity. A ratio of 1.0 means provisioned capacity cannot exceed the total physical capacity. If ratio is ‘auto’, Cinder will automatically calculate the ratio based on the provisioned capacity and the used space. If not set to auto, the ratio has to be a minimum of 1.0. |
num_shell_tries = 3 |
(Integer) Number of times to attempt to run flakey shell commands |
num_volume_device_scan_tries = 3 |
(Integer) The maximum number of times to rescan targets to find volume |
replication_device = None |
(Dict of String) Multi opt of dictionaries to represent a replication target device. This option may be specified multiple times in a single config section to specify multiple replication target devices. Each entry takes the standard dict config form: replication_device = target_device_id:<required>,key1:value1,key2:value2… |
report_discard_supported = False |
(Boolean) Report to clients of Cinder that the backend supports discard (aka. trim/unmap). This will not actually change the behavior of the backend or the client directly, it will only notify that it can be used. |
reserved_percentage = 0 |
(Integer(min=0, max=100)) The percentage of backend capacity is reserved |
storage_protocol = iscsi |
(String(choices=[‘iscsi’, ‘fc’])) Protocol for transferring data between host and storage back-end. |
target_helper = tgtadm |
(String(choices=[‘tgtadm’, ‘lioadm’, ‘scstadmin’, ‘iscsictl’, ‘ietadm’, ‘nvmet’, ‘spdk-nvmeof’, ‘fake’])) Target user-land tool to use. tgtadm is default, use lioadm for LIO iSCSI support, scstadmin for SCST target support, ietadm for iSCSI Enterprise Target, iscsictl for Chelsio iSCSI Target, nvmet for NVMEoF support, spdk-nvmeof for SPDK NVMe-oF, or fake for testing. Note: The IET driver is deprecated and will be removed in the V release. |
target_ip_address = $my_ip |
(String) The IP address that the iSCSI daemon is listening on |
target_port = 3260 |
(Port(min=0, max=65535)) The port that the iSCSI daemon is listening on |
target_prefix = iqn.2010-10.org.openstack: |
(String) Prefix for iSCSI volumes |
target_protocol = iscsi |
(String(choices=[‘iscsi’, ‘iser’, ‘nvmet_rdma’])) Determines the target protocol for new volumes, created with tgtadm, lioadm and nvmet target helpers. In order to enable RDMA, this parameter should be set with the value “iser”. The supported iSCSI protocol values are “iscsi” and “iser”, in case of nvmet target set to “nvmet_rdma”. |
trace_flags = None |
(List of String) List of options that control which trace info is written to the DEBUG log level to assist developers. Valid values are method and api. |
use_chap_auth = False |
(Boolean) Option to enable/disable CHAP authentication for targets. |
volume_backend_name = None |
(String) The backend name for a given driver implementation |
volume_clear = zero |
(String(choices=[‘none’, ‘zero’])) Method used to wipe old volumes |
volume_clear_ionice = None |
(String) The flag to pass to ionice to alter the i/o priority of the process used to zero a volume after deletion, for example “-c3” for idle only priority. |
volume_clear_size = 0 |
(Integer(max=1024)) Size in MiB to wipe at start of old volumes. 1024 MiB at max. 0 => all |
volume_copy_blkio_cgroup_name = cinder-volume-copy |
(String) The blkio cgroup name to be used to limit bandwidth of volume copy |
volume_copy_bps_limit = 0 |
(Integer) The upper limit of bandwidth of volume copy. 0 => unlimited |
volume_dd_blocksize = 1M |
(String) The default block size used when copying/clearing volumes |
volumes_dir = $state_path/volumes |
(String) Volume configuration file storage directory |
Description: ISCSI driver for MacroSan storage arrays.
Version history:
1.0.0 - Initial driver
1.0.1 - Adjust some log level and text prompts; Remove some useless
functions; Add Cinder trace decorator. #1837920
NetAppCmodeFibreChannelDriver¶
Version: 1.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.
NetAppCmodeISCSIDriver¶
Version: 1.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.
NetAppCmodeNfsDriver¶
Version: 1.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 section of the NFS man page for details. |
nfs_mount_point_base = $state_path/mnt |
(String) Base dir containing mount points for NFS shares. |
nfs_qcow2_volumes = False |
(Boolean) Create volumes as QCOW2 files rather than raw files. |
nfs_shares_config = /etc/cinder/nfs_shares |
(String) File with the list of available NFS shares. |
nfs_snapshot_support = False |
(Boolean) Enable support for snapshots on the NFS driver. Platforms using libvirt <1.2.7 will encounter issues with this feature. |
nfs_sparsed_volumes = True |
(Boolean) Create volumes as sparsed files which take no space. If set to False volume is created as regular file. In such case volume creation takes a lot of time. |
Description: NetApp NFS driver for Data ONTAP (Cluster-mode).
NexentaISCSIDriver¶
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 section of the NFS 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.0.1
volume_driver=cinder.volume.drivers.nimble.NimbleFCDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/Nimble_Storage_CI
Driver Configuration Options:
Name = Default Value |
(Type) Description |
---|---|
nimble_pool_name = default |
(String) Nimble Controller pool name |
nimble_subnet_label = * |
(String) Nimble Subnet Label |
nimble_verify_cert_path = None |
(String) Path to Nimble Array SSL certificate |
nimble_verify_certificate = False |
(Boolean) Whether to verify Nimble SSL Certificate |
Description: OpenStack driver to enable Nimble FC Driver Controller.
NimbleISCSIDriver¶
Version: 4.0.1
volume_driver=cinder.volume.drivers.nimble.NimbleISCSIDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/Nimble_Storage_CI
Driver Configuration Options:
Name = Default Value |
(Type) Description |
---|---|
nimble_pool_name = default |
(String) Nimble Controller pool name |
nimble_subnet_label = * |
(String) Nimble Subnet Label |
nimble_verify_cert_path = None |
(String) Path to Nimble Array SSL certificate |
nimble_verify_certificate = False |
(Boolean) Whether to verify Nimble SSL Certificate |
Description: OpenStack driver to enable Nimble ISCSI Controller.
PowerMaxFCDriver¶
Version: 4.2.13
volume_driver=cinder.volume.drivers.dell_emc.powermax.fc.PowerMaxFCDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/EMC_VMAX_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. |
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. |
powermax_array = None |
(String) Serial number of the array to connect to. |
powermax_array_tag_list = None |
(List of String) List of user assigned name for storage array. |
powermax_port_group_name_template = portGroupName |
(String) User defined override for port group name. |
powermax_port_groups = None |
(List of String) List of port groups containing frontend ports configured prior for server connection. |
powermax_service_level = None |
(String) Service level to use for provisioning storage. Setting this as an extra spec in pool_name is preferable. |
powermax_short_host_name_template = shortHostName |
(String) User defined override for short host name. |
powermax_snapvx_unlink_limit = 3 |
(Integer) Use this value to specify the maximum number of unlinks for the temporary snapshots before a clone operation. |
powermax_srp = None |
(String) Storage resource pool on array to use for provisioning. |
replication_device = None |
(Dict of String) Multi opt of dictionaries to represent a replication target device. This option may be specified multiple times in a single config section to specify multiple replication target devices. Each entry takes the standard dict config form: replication_device = target_device_id:<required>,key1:value1,key2:value2… |
reserved_percentage = 0 |
(Integer(min=0, max=100)) The percentage of backend capacity is reserved |
retries = 200 |
(Integer) Use this value to specify number of retries. |
san_ip = |
(String) IP address of SAN controller |
san_login = admin |
(String) Username for SAN controller |
san_password = |
(String) Password for SAN controller |
u4p_failover_autofailback = True |
(Boolean) If the driver should automatically failback to the primary instance of Unisphere when a successful connection is re-established. |
u4p_failover_backoff_factor = 1 |
(Integer) A backoff factor to apply between attempts after the second try (most errors are resolved immediately by a second try without a delay). Retries will sleep for: {backoff factor} * (2 ^ ({number of total retries} - 1)) seconds. |
u4p_failover_retries = 3 |
(Integer) The maximum number of retries each connection should attempt. Note, this applies only to failed DNS lookups, socket connections and connection timeouts, never to requests where data has made it to the server. |
u4p_failover_target = None |
(Dict of String) Dictionary of Unisphere failover target info. |
u4p_failover_timeout = 20.0 |
(Integer) How long to wait for the server to send data before giving up. |
vmax_array = None |
(String) DEPRECATED: vmax_array. |
vmax_port_groups = None |
(List of String) DEPRECATED: vmax_port_groups. |
vmax_service_level = None |
(String) DEPRECATED: vmax_service_level. |
vmax_snapvx_unlink_limit = 3 |
(Integer) DEPRECATED: vmax_snapvc_unlink_limit. |
vmax_srp = None |
(String) DEPRECATED: vmax_srp. |
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.2.1 - Concurrent live migrations failure (bug #1875478)
4.2.2 - U4P failover lock not released on exception (#1875640)
4.2.3 - Live migrate remove rep vol from sg (bug #1875432)
4.2.4 - Rep validation & retype suspension fix (bug #1875433)
4.2.5 - Create vol suspend fix & DeviceID check (bug #1877976)
4.2.6 - Volume migrate exception handling (bug #1886662, #1874187)
4.2.7 - Fix to enable legacy volumes to live migrate (#1867163)
4.2.8 - Force flag to add to rep enable storage groups (#1892057)
4.2.9 - Failover group volume update (#1888831)
4.2.10 - Replica RDFG suspend fix (#1892718)
4.2.11 - Fix non-temporary snapshot delete (#1887962)
4.2.12 - Fix for create snapshot (#1939139)
4.2.13 - Allow for case mismatch in SGs (bug #1929429)
PowerMaxISCSIDriver¶
Version: 4.2.13
volume_driver=cinder.volume.drivers.dell_emc.powermax.iscsi.PowerMaxISCSIDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/EMC_VMAX_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. |
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. |
powermax_array = None |
(String) Serial number of the array to connect to. |
powermax_array_tag_list = None |
(List of String) List of user assigned name for storage array. |
powermax_port_group_name_template = portGroupName |
(String) User defined override for port group name. |
powermax_port_groups = None |
(List of String) List of port groups containing frontend ports configured prior for server connection. |
powermax_service_level = None |
(String) Service level to use for provisioning storage. Setting this as an extra spec in pool_name is preferable. |
powermax_short_host_name_template = shortHostName |
(String) User defined override for short host name. |
powermax_snapvx_unlink_limit = 3 |
(Integer) Use this value to specify the maximum number of unlinks for the temporary snapshots before a clone operation. |
powermax_srp = None |
(String) Storage resource pool on array to use for provisioning. |
replication_device = None |
(Dict of String) Multi opt of dictionaries to represent a replication target device. This option may be specified multiple times in a single config section to specify multiple replication target devices. Each entry takes the standard dict config form: replication_device = target_device_id:<required>,key1:value1,key2:value2… |
reserved_percentage = 0 |
(Integer(min=0, max=100)) The percentage of backend capacity is reserved |
retries = 200 |
(Integer) Use this value to specify number of retries. |
san_ip = |
(String) IP address of SAN controller |
san_login = admin |
(String) Username for SAN controller |
san_password = |
(String) Password for SAN controller |
u4p_failover_autofailback = True |
(Boolean) If the driver should automatically failback to the primary instance of Unisphere when a successful connection is re-established. |
u4p_failover_backoff_factor = 1 |
(Integer) A backoff factor to apply between attempts after the second try (most errors are resolved immediately by a second try without a delay). Retries will sleep for: {backoff factor} * (2 ^ ({number of total retries} - 1)) seconds. |
u4p_failover_retries = 3 |
(Integer) The maximum number of retries each connection should attempt. Note, this applies only to failed DNS lookups, socket connections and connection timeouts, never to requests where data has made it to the server. |
u4p_failover_target = None |
(Dict of String) Dictionary of Unisphere failover target info. |
u4p_failover_timeout = 20.0 |
(Integer) How long to wait for the server to send data before giving up. |
use_chap_auth = False |
(Boolean) Option to enable/disable CHAP authentication for targets. |
vmax_array = None |
(String) DEPRECATED: vmax_array. |
vmax_port_groups = None |
(List of String) DEPRECATED: vmax_port_groups. |
vmax_service_level = None |
(String) DEPRECATED: vmax_service_level. |
vmax_snapvx_unlink_limit = 3 |
(Integer) DEPRECATED: vmax_snapvc_unlink_limit. |
vmax_srp = None |
(String) DEPRECATED: vmax_srp. |
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.2.1 - Concurrent live migrations failure (bug #1875478)
4.2.2 - U4P failover lock not released on exception (#1875640)
4.2.3 - Live migrate remove rep vol from sg (bug #1875432)
4.2.4 - Rep validation & retype suspension fix (bug #1875433)
4.2.5 - Create vol suspend fix & DeviceID check (bug #1877976)
4.2.6 - Volume migrate exception handling (bug #1886662, #1874187)
4.2.7 - Fix to enable legacy volumes to live migrate (#1867163)
4.2.8 - Force flag to add to rep enable storage groups (#1892057)
4.2.9 - Failover group volume update (#1888831)
4.2.10 - Replica RDFG suspend fix (#1892718)
4.2.11 - Fix non-temporary snapshot delete (#1887962)
4.2.12 - Fix for create snapshot (#1939139)
4.2.13 - Allow for case mismatch in SGs (bug #1929429)
PureFCDriver¶
Version: 10.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_replica_interval_default = 3600 |
(Integer) Snapshot replication interval in seconds. |
pure_replica_retention_long_term_default = 7 |
(Integer) Retain snapshots per day on target for this time (in days.) |
pure_replica_retention_long_term_per_day_default = 3 |
(Integer) Retain how many snapshots for each day. |
pure_replica_retention_short_term_default = 14400 |
(Integer) Retain all snapshots on target for this time (in seconds.) |
pure_replication_pg_name = cinder-group |
(String) Pure Protection Group name to use for async replication (will be created if it does not exist). |
pure_replication_pod_name = cinder-pod |
(String) Pure Pod name to use for sync replication (will be created if it does not exist). |
replication_device = None |
(Dict of String) Multi opt of dictionaries to represent a replication target device. This option may be specified multiple times in a single config section to specify multiple replication target devices. Each entry takes the standard dict config form: replication_device = target_device_id:<required>,key1:value1,key2:value2… |
reserved_percentage = 0 |
(Integer(min=0, max=100)) The percentage of backend capacity is reserved |
san_ip = |
(String) IP address of SAN controller |
use_chap_auth = False |
(Boolean) Option to enable/disable CHAP authentication for targets. |
Description: OpenStack Volume Driver to support Pure Storage FlashArray.
This version of the driver enables the use of Fibre Channel for the underlying storage connectivity with the FlashArray. It fully supports the Cinder Fibre Channel Zone Manager.
PureISCSIDriver¶
Version: 10.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_replica_interval_default = 3600 |
(Integer) Snapshot replication interval in seconds. |
pure_replica_retention_long_term_default = 7 |
(Integer) Retain snapshots per day on target for this time (in days.) |
pure_replica_retention_long_term_per_day_default = 3 |
(Integer) Retain how many snapshots for each day. |
pure_replica_retention_short_term_default = 14400 |
(Integer) Retain all snapshots on target for this time (in seconds.) |
pure_replication_pg_name = cinder-group |
(String) Pure Protection Group name to use for async replication (will be created if it does not exist). |
pure_replication_pod_name = cinder-pod |
(String) Pure Pod name to use for sync replication (will be created if it does not exist). |
replication_device = None |
(Dict of String) Multi opt of dictionaries to represent a replication target device. This option may be specified multiple times in a single config section to specify multiple replication target devices. Each entry takes the standard dict config form: replication_device = target_device_id:<required>,key1:value1,key2:value2… |
reserved_percentage = 0 |
(Integer(min=0, max=100)) The percentage of backend capacity is reserved |
san_ip = |
(String) IP address of SAN controller |
use_chap_auth = False |
(Boolean) Option to enable/disable CHAP authentication for targets. |
Description: OpenStack Volume Driver to support Pure Storage FlashArray.
This version of the driver enables the use of iSCSI for the underlying storage connectivity with the FlashArray.
QnapISCSIDriver¶
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 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¶
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'
RBDDriver¶
Version: 1.2.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_exclusive_cinder_pool = False |
(Boolean) Set to True if the pool is used exclusively by Cinder. On exclusive use driver won’t query images’ provisioned size as they will match the value calculated by the Cinder core code for allocated_capacity_gb. This reduces the load on the Ceph cluster as well as on the volume service. |
rbd_flatten_volume_from_snapshot = False |
(Boolean) Flatten volumes created from snapshots to remove dependency from volume to snapshot |
rbd_keyring_conf = |
(String) Path to the ceph keyring file |
rbd_max_clone_depth = 5 |
(Integer) Maximum number of nested volume clones that are taken before a flatten occurs. Set to 0 to disable cloning. Note: lowering this value will not affect existing volumes whose clone depth exceeds the new value. |
rbd_pool = rbd |
(String) The RADOS pool where rbd volumes are stored |
rbd_secret_uuid = None |
(String) The libvirt uuid of the secret for the rbd_user volumes |
rbd_store_chunk_size = 4 |
(Integer) Volumes will be chunked into objects of this size (in megabytes). |
rbd_user = None |
(String) The RADOS client name for accessing rbd volumes - only set when using cephx authentication |
replication_connect_timeout = 5 |
(Integer) Timeout value (in seconds) used when connecting to ceph cluster to do a demotion/promotion of volumes. If value < 0, no timeout is set and default librados value is used. |
replication_device = None |
(Dict of String) Multi opt of dictionaries to represent a replication target device. This option may be specified multiple times in a single config section to specify multiple replication target devices. Each entry takes the standard dict config form: replication_device = target_device_id:<required>,key1:value1,key2:value2… |
report_dynamic_total_capacity = True |
(Boolean) Set to True for driver to report total capacity as a dynamic value (used + current free) and to False to report a static value (quota max bytes if defined and global size of cluster if not). |
reserved_percentage = 0 |
(Integer(min=0, max=100)) The percentage of backend capacity is reserved |
volume_dd_blocksize = 1M |
(String) The default block size used when copying/clearing volumes |
Description: Implements RADOS block device (RBD) volume commands.
RSDDriver¶
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
SCFCDriver¶
Version: 4.1.1
volume_driver=cinder.volume.drivers.dell_emc.sc.storagecenter_fc.SCFCDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/Dell_EMC_SC_Series_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. |
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.
SCISCSIDriver¶
Version: 4.1.1
volume_driver=cinder.volume.drivers.dell_emc.sc.storagecenter_iscsi.SCISCSIDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/Dell_EMC_SC_Series_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. |
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.
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. |
iet_conf = /etc/iet/ietd.conf |
(String) DEPRECATED: IET configuration file |
iscsi_iotype = fileio |
(String(choices=[‘blockio’, ‘fileio’, ‘auto’])) Sets the behavior of the iSCSI target to either perform blockio or fileio optionally, auto can be set and Cinder will autodetect type of backing device |
iscsi_secondary_ip_addresses = [] |
(List of String) The list of secondary IP addresses of the iSCSI daemon |
iscsi_target_flags = |
(String) Sets the target-specific flags for the iSCSI target. Only used for tgtadm to specify backing device flags using bsoflags option. The specified string is passed as is to the underlying tool. |
iscsi_write_cache = on |
(String(choices=[‘on’, ‘off’])) Sets the behavior of the iSCSI target to either perform write-back(on) or write-through(off). This parameter is valid if target_helper is set to tgtadm. |
max_over_subscription_ratio = 20.0 |
(String(regex=’^(auto|\d*.\d+|\d+)$’)) Representation of the over subscription ratio when thin provisioning is enabled. Default ratio is 20.0, meaning provisioned capacity can be 20 times of the total physical capacity. If the ratio is 10.5, it means provisioned capacity can be 10.5 times of the total physical capacity. A ratio of 1.0 means provisioned capacity cannot exceed the total physical capacity. If ratio is ‘auto’, Cinder will automatically calculate the ratio based on the provisioned capacity and the used space. If not set to auto, the ratio has to be a minimum of 1.0. |
num_shell_tries = 3 |
(Integer) Number of times to attempt to run flakey shell commands |
num_volume_device_scan_tries = 3 |
(Integer) The maximum number of times to rescan targets to find volume |
replication_device = None |
(Dict of String) Multi opt of dictionaries to represent a replication target device. This option may be specified multiple times in a single config section to specify multiple replication target devices. Each entry takes the standard dict config form: replication_device = target_device_id:<required>,key1:value1,key2:value2… |
report_discard_supported = False |
(Boolean) Report to clients of Cinder that the backend supports discard (aka. trim/unmap). This will not actually change the behavior of the backend or the client directly, it will only notify that it can be used. |
reserved_percentage = 0 |
(Integer(min=0, max=100)) The percentage of backend capacity is reserved |
storage_protocol = iscsi |
(String(choices=[‘iscsi’, ‘fc’])) Protocol for transferring data between host and storage back-end. |
target_helper = tgtadm |
(String(choices=[‘tgtadm’, ‘lioadm’, ‘scstadmin’, ‘iscsictl’, ‘ietadm’, ‘nvmet’, ‘spdk-nvmeof’, ‘fake’])) Target user-land tool to use. tgtadm is default, use lioadm for LIO iSCSI support, scstadmin for SCST target support, ietadm for iSCSI Enterprise Target, iscsictl for Chelsio iSCSI Target, nvmet for NVMEoF support, spdk-nvmeof for SPDK NVMe-oF, or fake for testing. Note: The IET driver is deprecated and will be removed in the V release. |
target_ip_address = $my_ip |
(String) The IP address that the iSCSI daemon is listening on |
target_port = 3260 |
(Port(min=0, max=65535)) The port that the iSCSI daemon is listening on |
target_prefix = iqn.2010-10.org.openstack: |
(String) Prefix for iSCSI volumes |
target_protocol = iscsi |
(String(choices=[‘iscsi’, ‘iser’, ‘nvmet_rdma’])) Determines the target protocol for new volumes, created with tgtadm, lioadm and nvmet target helpers. In order to enable RDMA, this parameter should be set with the value “iser”. The supported iSCSI protocol values are “iscsi” and “iser”, in case of nvmet target set to “nvmet_rdma”. |
trace_flags = None |
(List of String) List of options that control which trace info is written to the DEBUG log level to assist developers. Valid values are method and api. |
use_chap_auth = False |
(Boolean) Option to enable/disable CHAP authentication for targets. |
volume_backend_name = None |
(String) The backend name for a given driver implementation |
volume_clear = zero |
(String(choices=[‘none’, ‘zero’])) Method used to wipe old volumes |
volume_clear_ionice = None |
(String) The flag to pass to ionice to alter the i/o priority of the process used to zero a volume after deletion, for example “-c3” for idle only priority. |
volume_clear_size = 0 |
(Integer(max=1024)) Size in MiB to wipe at start of old volumes. 1024 MiB at max. 0 => all |
volume_copy_blkio_cgroup_name = cinder-volume-copy |
(String) The blkio cgroup name to be used to limit bandwidth of volume copy |
volume_copy_bps_limit = 0 |
(Integer) The upper limit of bandwidth of volume copy. 0 => unlimited |
volume_dd_blocksize = 1M |
(String) The default block size used when copying/clearing volumes |
volumes_dir = $state_path/volumes |
(String) Volume configuration file storage directory |
Description: ISCSI driver for SandStone storage arrays.
Version history:
1.0.0 - Initial driver
Provide SandStone storage
create volume support
delete volume support
create snapshot support
delete snapshot support
extend volume support
create volume from snap support
create cloned volume support
nova volume-attach support
nova volume-detach support
SolidFireDriver¶
Version: 2.2.2
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_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_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.1 - Fix bug #1891914 fix error on cluster workload rebalancing
by adding xNotPrimary to the retryable exception list
2.2.2 - Fix bug #1896112 SolidFire Driver creates duplicate volume
when API response is lost
StorPoolDriver¶
Version: 1.2.3
volume_driver=cinder.volume.drivers.storpool.StorPoolDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/StorPool_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.
StorwizeSVCFCDriver¶
Version: 2.2.5
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_preferred_host_site = {} |
(Dict of String) Specifies the site information for host. One WWPN or multi WWPNs used in the host can be specified. For example: storwize_preferred_host_site=site1:wwpn1,site2:wwpn2&wwpn3 or storwize_preferred_host_site=site1:iqn1,site2:iqn2 |
storwize_san_secondary_ip = None |
(String) Specifies secondary management IP or hostname to be used if san_ip is invalid or becomes inaccessible. |
storwize_svc_allow_tenant_qos = False |
(Boolean) Allow tenants to specify QOS on create |
storwize_svc_flashcopy_rate = 50 |
(Integer(min=1, max=150)) Specifies the Storwize FlashCopy copy rate to be used when creating a full volume copy. The default is rate is 50, and the valid rates are 1-150. |
storwize_svc_flashcopy_timeout = 120 |
(Integer(min=1, max=600)) Maximum number of seconds to wait for FlashCopy to be prepared. |
storwize_svc_mirror_pool = None |
(String) Specifies the name of the pool in which mirrored copy is stored. Example: “pool2” |
storwize_svc_multihostmap_enabled = True |
(Boolean) This option no longer has any affect. It is deprecated and will be removed in the next release. |
storwize_svc_multipath_enabled = False |
(Boolean) Connect with multipath (FC only; iSCSI multipath is controlled by Nova) |
storwize_svc_stretched_cluster_partner = None |
(String) If operating in stretched cluster mode, specify the name of the pool in which mirrored copies are stored.Example: “pool2” |
storwize_svc_vol_autoexpand = True |
(Boolean) Storage system autoexpand parameter for volumes (True/False) |
storwize_svc_vol_compression = False |
(Boolean) Storage system compression option for volumes |
storwize_svc_vol_easytier = True |
(Boolean) Enable Easy Tier for volumes |
storwize_svc_vol_grainsize = 256 |
(Integer) Storage system grain size parameter for volumes (8/32/64/128/256) |
storwize_svc_vol_iogrp = 0 |
(String) The I/O group in which to allocate volumes. It can be a comma-separated list in which case the driver will select an io_group based on least number of volumes associated with the io_group. |
storwize_svc_vol_nofmtdisk = False |
(Boolean) Specifies that the volume not be formatted during creation. |
storwize_svc_vol_rsize = 2 |
(Integer(min=-1, max=100)) Storage system space-efficiency parameter for volumes (percentage) |
storwize_svc_vol_warning = 0 |
(Integer(min=-1, max=100)) Storage system threshold for volume capacity warnings (percentage) |
storwize_svc_volpool_name = [‘volpool’] |
(List of String) Comma separated list of storage system storage pools for volumes. |
Description: IBM Storwize V7000 and SVC FC volume driver.
Version history:
1.0 - Initial driver
1.1 - FC support, create_cloned_volume, volume type support,
get_volume_stats, minor bug fixes
1.2.0 - Added retype
1.2.1 - Code refactor, improved exception handling
1.2.2 - Fix bug #1274123 (races in host-related functions)
1.2.3 - Fix Fibre Channel connectivity: bug #1279758 (add delim
to lsfabric, clear unused data from connections, ensure
matching WWPNs by comparing lower case
1.2.4 - Fix bug #1278035 (async migration/retype)
1.2.5 - Added support for manage_existing (unmanage is inherited)
1.2.6 - Added QoS support in terms of I/O throttling rate
1.3.1 - Added support for volume replication
1.3.2 - Added support for consistency group
1.3.3 - Update driver to use ABC metaclasses
2.0 - Code refactor, split init file and placed shared methods
for FC and iSCSI within the StorwizeSVCCommonDriver class
2.0.1 - Added support for multiple pools with model update
2.1 - Added replication V2 support to the global/metro mirror
mode
2.1.1 - Update replication to version 2.1
2.2 - Add CG capability to generic volume groups
2.2.1 - Add vdisk mirror/stretch cluster support
2.2.2 - Add npiv support
2.2.3 - Add replication group support
2.2.4 - Add backup snapshots support
2.2.5 - Add hyperswap support
StorwizeSVCISCSIDriver¶
Version: 2.2.4
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_preferred_host_site = {} |
(Dict of String) Specifies the site information for host. One WWPN or multi WWPNs used in the host can be specified. For example: storwize_preferred_host_site=site1:wwpn1,site2:wwpn2&wwpn3 or storwize_preferred_host_site=site1:iqn1,site2:iqn2 |
storwize_san_secondary_ip = None |
(String) Specifies secondary management IP or hostname to be used if san_ip is invalid or becomes inaccessible. |
storwize_svc_allow_tenant_qos = False |
(Boolean) Allow tenants to specify QOS on create |
storwize_svc_flashcopy_rate = 50 |
(Integer(min=1, max=150)) Specifies the Storwize FlashCopy copy rate to be used when creating a full volume copy. The default is rate is 50, and the valid rates are 1-150. |
storwize_svc_flashcopy_timeout = 120 |
(Integer(min=1, max=600)) Maximum number of seconds to wait for FlashCopy to be prepared. |
storwize_svc_iscsi_chap_enabled = True |
(Boolean) Configure CHAP authentication for iSCSI connections (Default: Enabled) |
storwize_svc_mirror_pool = None |
(String) Specifies the name of the pool in which mirrored copy is stored. Example: “pool2” |
storwize_svc_multihostmap_enabled = True |
(Boolean) This option no longer has any affect. It is deprecated and will be removed in the next release. |
storwize_svc_stretched_cluster_partner = None |
(String) If operating in stretched cluster mode, specify the name of the pool in which mirrored copies are stored.Example: “pool2” |
storwize_svc_vol_autoexpand = True |
(Boolean) Storage system autoexpand parameter for volumes (True/False) |
storwize_svc_vol_compression = False |
(Boolean) Storage system compression option for volumes |
storwize_svc_vol_easytier = True |
(Boolean) Enable Easy Tier for volumes |
storwize_svc_vol_grainsize = 256 |
(Integer) Storage system grain size parameter for volumes (8/32/64/128/256) |
storwize_svc_vol_iogrp = 0 |
(String) The I/O group in which to allocate volumes. It can be a comma-separated list in which case the driver will select an io_group based on least number of volumes associated with the io_group. |
storwize_svc_vol_nofmtdisk = False |
(Boolean) Specifies that the volume not be formatted during creation. |
storwize_svc_vol_rsize = 2 |
(Integer(min=-1, max=100)) Storage system space-efficiency parameter for volumes (percentage) |
storwize_svc_vol_warning = 0 |
(Integer(min=-1, max=100)) Storage system threshold for volume capacity warnings (percentage) |
storwize_svc_volpool_name = [‘volpool’] |
(List of String) Comma separated list of storage system storage pools for volumes. |
Description: IBM Storwize V7000 and SVC iSCSI volume driver.
Version history:
1.0 - Initial driver
1.1 - FC support, create_cloned_volume, volume type support,
get_volume_stats, minor bug fixes
1.2.0 - Added retype
1.2.1 - Code refactor, improved exception handling
1.2.2 - Fix bug #1274123 (races in host-related functions)
1.2.3 - Fix Fibre Channel connectivity: bug #1279758 (add delim
to lsfabric, clear unused data from connections, ensure
matching WWPNs by comparing lower case
1.2.4 - Fix bug #1278035 (async migration/retype)
1.2.5 - Added support for manage_existing (unmanage is inherited)
1.2.6 - Added QoS support in terms of I/O throttling rate
1.3.1 - Added support for volume replication
1.3.2 - Added support for consistency group
1.3.3 - Update driver to use ABC metaclasses
2.0 - Code refactor, split init file and placed shared methods
for FC and iSCSI within the StorwizeSVCCommonDriver class
2.0.1 - Added support for multiple pools with model update
2.1 - Added replication V2 support to the global/metro mirror
mode
2.1.1 - Update replication to version 2.1
2.2 - Add CG capability to generic volume groups
2.2.1 - Add vdisk mirror/stretch cluster support
2.2.2 - Add replication group support
2.2.3 - Add backup snapshots support
2.2.4 - Add hyperswap support
SynoISCSIDriver¶
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. |
iscsi_secondary_ip_addresses = [] |
(List of String) The list of secondary IP addresses of the iSCSI daemon |
max_over_subscription_ratio = 20.0 |
(String(regex=’^(auto|\d*.\d+|\d+)$’)) Representation of the over subscription ratio when thin provisioning is enabled. Default ratio is 20.0, meaning provisioned capacity can be 20 times of the total physical capacity. If the ratio is 10.5, it means provisioned capacity can be 10.5 times of the total physical capacity. A ratio of 1.0 means provisioned capacity cannot exceed the total physical capacity. If ratio is ‘auto’, Cinder will automatically calculate the ratio based on the provisioned capacity and the used space. If not set to auto, the ratio has to be a minimum of 1.0. |
reserved_percentage = 0 |
(Integer(min=0, max=100)) The percentage of backend capacity is reserved |
synology_admin_port = 5000 |
(Port(min=0, max=65535)) Management port for Synology storage. |
synology_device_id = None |
(String) Device id for skip one time password check for logging in Synology storage if OTP is enabled. |
synology_one_time_pass = None |
(String) One time password of administrator for logging in Synology storage if OTP is enabled. |
synology_password = |
(String) Password of administrator for logging in Synology storage. |
synology_pool_name = |
(String) Volume on Synology storage to be used for creating lun. |
synology_ssl_verify = True |
(Boolean) Do certificate validation or not if $driver_use_ssl is True |
synology_username = admin |
(String) Administrator of Synology storage. |
target_ip_address = $my_ip |
(String) The IP address that the iSCSI daemon is listening on |
target_port = 3260 |
(Port(min=0, max=65535)) The port that the iSCSI daemon is listening on |
target_prefix = iqn.2010-10.org.openstack: |
(String) Prefix for iSCSI volumes |
target_protocol = iscsi |
(String(choices=[‘iscsi’, ‘iser’, ‘nvmet_rdma’])) Determines the target protocol for new volumes, created with tgtadm, lioadm and nvmet target helpers. In order to enable RDMA, this parameter should be set with the value “iser”. The supported iSCSI protocol values are “iscsi” and “iser”, in case of nvmet target set to “nvmet_rdma”. |
use_chap_auth = False |
(Boolean) Option to enable/disable CHAP authentication for targets. |
Description: OpenStack Cinder drivers for Synology storage.
Version history:
1.0.0 - Initial driver. Provide Cinder minimum features
1.0.1 - Add support for UC series model
UnityDriver¶
Version: 07.02.00
volume_driver=cinder.volume.drivers.dell_emc.unity.driver.UnityDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/EMC_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.3
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.
VNXDriver¶
Version: 14.00.01
volume_driver=cinder.volume.drivers.dell_emc.vnx.driver.VNXDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/EMC_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`.
VxFlexOSDriver¶
Version: 3.5.4
volume_driver=cinder.volume.drivers.dell_emc.vxflexos.driver.VxFlexOSDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/DellEMC_VxFlexOS_CI
Driver Configuration Options:
Name = Default Value |
(Type) Description |
---|---|
sio_allow_non_padded_volumes = False |
(Boolean) renamed to vxflexos_allow_non_padded_volumes. |
sio_max_over_subscription_ratio = 10.0 |
(Float) renamed to vxflexos_max_over_subscription_ratio. |
sio_rest_server_port = 443 |
(Port(min=0, max=65535)) renamed to vxflexos_rest_server_port. |
sio_round_volume_capacity = True |
(Boolean) renamed to vxflexos_round_volume_capacity. |
sio_server_api_version = None |
(String) renamed to vxflexos_server_api_version. |
sio_server_certificate_path = None |
(String) Deprecated, use driver_ssl_cert_path instead. |
sio_storage_pools = None |
(String) renamed to vxflexos_storage_pools. |
sio_unmap_volume_before_deletion = False |
(Boolean) renamed to vxflexos_unmap_volume_before_deletion. |
sio_verify_server_certificate = False |
(Boolean) Deprecated, use driver_ssl_cert_verify instead. |
vxflexos_allow_migration_during_rebuild = False |
(Boolean) Allow volume migration during rebuild. |
vxflexos_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. |
vxflexos_max_over_subscription_ratio = 10.0 |
(Float) max_over_subscription_ratio setting for the driver. Maximum value allowed is 10.0. |
vxflexos_rest_server_port = 443 |
(Port(min=0, max=65535)) Gateway REST server port. |
vxflexos_round_volume_capacity = True |
(Boolean) Round volume sizes up to 8GB boundaries. VxFlex OS/ScaleIO requires volumes to be sized in multiples of 8GB. If set to False, volume creation will fail for volumes not sized properly |
vxflexos_server_api_version = None |
(String) VxFlex OS/ScaleIO API version. This value should be left as the default value unless otherwise instructed by technical support. |
vxflexos_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 |
vxflexos_unmap_volume_before_deletion = False |
(Boolean) Unmap volumes before deletion. |
Description: Cinder VxFlex OS(formerly named Dell EMC ScaleIO) 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 VxFlex OS 3.5.x
3.5.1 - Add volume replication v2.1 support for VxFlex OS 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.
WindowsISCSIDriver¶
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¶
Version: 1.1.0
volume_driver=cinder.volume.drivers.windows.smbfs.WindowsSmbfsDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/Microsoft_iSCSI_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¶
Version: 1.0.12
volume_driver=cinder.volume.drivers.dell_emc.xtremio.XtremIOFCDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/EMC_XIO_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¶
Version: 1.0.12
volume_driver=cinder.volume.drivers.dell_emc.xtremio.XtremIOISCSIDriver
CI info: https://wiki.openstack.org/wiki/ThirdPartySystems/EMC_XIO_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.
ZadaraVPSAISCSIDriver¶
Version: 19.08
volume_driver=cinder.volume.drivers.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 |
zadara_password = None |
(String) VPSA - Password |
zadara_ssl_cert_verify = True |
(Boolean) If set to True the http client will validate the SSL certificate of the VPSA endpoint. |
zadara_use_iser = True |
(Boolean) VPSA - Use ISER instead of iSCSI |
zadara_user = None |
(String) VPSA - Username |
zadara_vol_encrypt = False |
(Boolean) VPSA - Default encryption policy for volumes |
zadara_vol_name_template = OS_%s |
(String) VPSA - Default template for VPSA volume names |
zadara_vpsa_host = None |
(String) VPSA - Management Host name or IP address |
zadara_vpsa_poolname = None |
(String) VPSA - Storage Pool assigned for volumes |
zadara_vpsa_port = None |
(Port(min=0, max=65535)) VPSA - Port number |
zadara_vpsa_use_ssl = False |
(Boolean) VPSA - Use SSL connection |
Description: Zadara VPSA iSCSI/iSER volume driver.
Version history:
15.07 - Initial driver
16.05 - Move from httplib to requests
19.08 - Add API access key authentication option
Unsupported Drivers¶
ACCESSIscsiDriver (unsupported)¶
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
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 section of the NFS man page for details. |
nfs_mount_point_base = $state_path/mnt |
(String) Base dir containing mount points for NFS shares. |
nfs_qcow2_volumes = False |
(Boolean) Create volumes as QCOW2 files rather than raw files. |
nfs_shares_config = /etc/cinder/nfs_shares |
(String) File with the list of available NFS shares. |
nfs_snapshot_support = False |
(Boolean) Enable support for snapshots on the NFS driver. Platforms using libvirt <1.2.7 will encounter issues with this feature. |
nfs_sparsed_volumes = True |
(Boolean) Create volumes as sparsed files which take no space. If set to False volume is created as regular file. In such case volume creation takes a lot of time. |
Description: Veritas Clustered NFS based cinder driver
Version History: 1.0.0 - Initial driver implementations for Kilo. 1.0.1 - Liberty release driver not implemented. Place holder for Liberty release in case we need to support. 1.0.2 - cinder.interface.volumedriver decorator. Mitaka/Newton/Okata Release 1.0.3 - Seperate create_cloned_volume() and create_volume_from_snapshot () functionality. Pike Release
Executes commands relating to Volumes.
Backup Drivers¶
CephBackupDriver¶
backup_driver=cinder.backup.drivers.ceph.CephBackupDriver
Driver Configuration Options:
Name = Default Value |
(Type) Description |
---|---|
backup_ceph_chunk_size = 134217728 |
(Integer) The chunk size, in bytes, that a backup is broken into before transfer to the Ceph object store. |
backup_ceph_conf = /etc/ceph/ceph.conf |
(String) Ceph configuration file to use. |
backup_ceph_image_journals = False |
(Boolean) If True, apply JOURNALING and EXCLUSIVE_LOCK feature bits to the backup RBD objects to allow mirroring |
backup_ceph_pool = backups |
(String) The Ceph pool where volume backups are stored. |
backup_ceph_stripe_count = 0 |
(Integer) RBD stripe count to use when creating a backup image. |
backup_ceph_stripe_unit = 0 |
(Integer) RBD stripe unit to use when creating a backup image. |
backup_ceph_user = cinder |
(String) The Ceph user to connect with. Default here is to use the same user as for Cinder volumes. If not using cephx this should be set to None. |
restore_discard_excess_bytes = True |
(Boolean) If True, always discard excess bytes when restoring volumes i.e. pad with zeroes. |
Description: Backup Cinder volumes to Ceph Object Store.
This class enables backing up Cinder volumes to a Ceph object store. Backups may be stored in their own pool or even cluster. Store location is defined by the Ceph conf file and service config options supplied.
If the source volume is itself an RBD volume, the backup will be performed using incremental differential backups which should give a performance gain.
GlusterfsBackupDriver¶
backup_driver=cinder.backup.drivers.glusterfs.GlusterfsBackupDriver
Driver Configuration Options:
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 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 must be a multiple of backup_sha_block_size_bytes. |
backup_posix_path = $state_path/backup |
(String) Path specifying where to store backups. |
backup_sha_block_size_bytes = 32768 |
(Integer) The size in bytes that changes are tracked for incremental backups. backup_file_size has to be multiple of backup_sha_block_size_bytes. |
Description: Provides backup, restore and delete using a Posix file system.
SwiftBackupDriver¶
backup_driver=cinder.backup.drivers.swift.SwiftBackupDriver
Driver Configuration Options:
Name = Default Value |
(Type) Description |
---|---|
backup_swift_auth = per_user |
(String(choices=[‘per_user’, ‘single_user’])) Swift authentication mechanism (per_user or single_user). |
backup_swift_auth_insecure = False |
(Boolean) Bypass verification of server certificate when making SSL connection to Swift. |
backup_swift_auth_url = None |
(URI) The URL of the Keystone endpoint |
backup_swift_auth_version = 1 |
(String) Swift authentication version. Specify “1” for auth 1.0, or “2” for auth 2.0 or “3” for auth 3.0 |
backup_swift_block_size = 32768 |
(Integer) The size in bytes that changes are tracked for incremental backups. backup_swift_object_size has to be multiple of backup_swift_block_size. |
backup_swift_ca_cert_file = None |
(String) Location of the CA certificate file to use for swift client requests. |
backup_swift_container = volumebackups |
(String) The default Swift container to use |
backup_swift_enable_progress_timer = True |
(Boolean) Enable or Disable the timer to send the periodic progress notifications to Ceilometer when backing up the volume to the Swift backend storage. The default value is True to enable the timer. |
backup_swift_key = None |
(String) Swift key for authentication |
backup_swift_object_size = 52428800 |
(Integer) The size in bytes of Swift backup objects |
backup_swift_project = None |
(String) Swift project/account name. Required when connecting to an auth 3.0 system |
backup_swift_project_domain = None |
(String) Swift project domain name. Required when connecting to an auth 3.0 system |
backup_swift_retry_attempts = 3 |
(Integer) The number of retries to make for Swift operations |
backup_swift_retry_backoff = 2 |
(Integer) The backoff time in seconds between Swift retries |
backup_swift_tenant = None |
(String) Swift tenant/account name. Required when connecting to an auth 2.0 system |
backup_swift_url = None |
(URI) The URL of the Swift endpoint |
backup_swift_user = None |
(String) Swift user name |
backup_swift_user_domain = None |
(String) Swift user domain name. Required when connecting to an auth 3.0 system |
keystone_catalog_info = identity:Identity Service:publicURL |
(String) Info to match when looking for keystone in the service catalog. Format is: separated values of the form: <service_type>:<service_name>:<endpoint_type> - Only used if backup_swift_auth_url is unset |
swift_catalog_info = object-store:swift:publicURL |
(String) Info to match when looking for swift in the service catalog. Format is: separated values of the form: <service_type>:<service_name>:<endpoint_type> - Only used if backup_swift_url is unset |
Description: Provides backup, restore and delete of backup objects within Swift.
TSMBackupDriver¶
backup_driver=cinder.backup.drivers.tsm.TSMBackupDriver
Driver Configuration Options:
Name = Default Value |
(Type) Description |
---|---|
backup_tsm_compression = True |
(Boolean) Enable or Disable compression for backups |
backup_tsm_password = password |
(String) TSM password for the running username |
backup_tsm_volume_prefix = backup |
(String) Volume prefix for the backup id when backing up to TSM |
Description: Provides backup, restore and delete of volumes backup for TSM.
FC Zone Manager Drivers¶
BrcdFCZoneDriver (unsupported)¶
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