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. |
Executes commands relating to ACCESS ISCSI. Supports creation of volumes on ACCESS.
API version history:
1.0 - Initial version.
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. |
Version history:
1.0.0 - Initial driver
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. |
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. |
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 |
Name = Default Value | (Type) Description |
---|---|
drbdmanage_devs_on_controller = True | (Boolean) If set, the c-vol node will receive a useable /dev/drbdX device, even if the actual data is stored on other nodes only. This is useful for debugging, maintenance, and to be able to do the iSCSI export from the c-vol node. |
drbdmanage_disk_options = {“c-min-rate”: “4M”} | (String) Disk options to set on new resources. See http://www.drbd.org/en/doc/users-guide-90/re-drbdconf for all the details. |
drbdmanage_net_options = {“connect-int”: “4”, “allow-two-primaries”: “yes”, “ko-count”: “30”, “max-buffers”: “20000”, “ping-timeout”: “100”} | (String) Net options to set on new resources. See http://www.drbd.org/en/doc/users-guide-90/re-drbdconf for all the details. |
drbdmanage_redundancy = 1 | (Integer) Number of nodes that should replicate the data. |
drbdmanage_resize_plugin = drbdmanage.plugins.plugins.wait_for.WaitForVolumeSize | (String) Volume resize completion wait plugin. |
drbdmanage_resize_policy = {“timeout”: “60”} | (String) Volume resize completion wait policy. |
drbdmanage_resource_options = {“auto-promote-timeout”: “300”} | (String) Resource options to set on new resources. See http://www.drbd.org/en/doc/users-guide-90/re-drbdconf for all the details. |
drbdmanage_resource_plugin = drbdmanage.plugins.plugins.wait_for.WaitForResource | (String) Resource deployment completion wait plugin. |
drbdmanage_resource_policy = {“ratio”: “0.51”, “timeout”: “60”} | (String) Resource deployment completion wait policy. |
drbdmanage_snapshot_plugin = drbdmanage.plugins.plugins.wait_for.WaitForSnapshot | (String) Snapshot completion wait plugin. |
drbdmanage_snapshot_policy = {“count”: “1”, “timeout”: “60”} | (String) Snapshot completion wait policy. |
Name = Default Value | (Type) Description |
---|---|
drbdmanage_devs_on_controller = True | (Boolean) If set, the c-vol node will receive a useable /dev/drbdX device, even if the actual data is stored on other nodes only. This is useful for debugging, maintenance, and to be able to do the iSCSI export from the c-vol node. |
drbdmanage_disk_options = {“c-min-rate”: “4M”} | (String) Disk options to set on new resources. See http://www.drbd.org/en/doc/users-guide-90/re-drbdconf for all the details. |
drbdmanage_net_options = {“connect-int”: “4”, “allow-two-primaries”: “yes”, “ko-count”: “30”, “max-buffers”: “20000”, “ping-timeout”: “100”} | (String) Net options to set on new resources. See http://www.drbd.org/en/doc/users-guide-90/re-drbdconf for all the details. |
drbdmanage_redundancy = 1 | (Integer) Number of nodes that should replicate the data. |
drbdmanage_resize_plugin = drbdmanage.plugins.plugins.wait_for.WaitForVolumeSize | (String) Volume resize completion wait plugin. |
drbdmanage_resize_policy = {“timeout”: “60”} | (String) Volume resize completion wait policy. |
drbdmanage_resource_options = {“auto-promote-timeout”: “300”} | (String) Resource options to set on new resources. See http://www.drbd.org/en/doc/users-guide-90/re-drbdconf for all the details. |
drbdmanage_resource_plugin = drbdmanage.plugins.plugins.wait_for.WaitForResource | (String) Resource deployment completion wait plugin. |
drbdmanage_resource_policy = {“ratio”: “0.51”, “timeout”: “60”} | (String) Resource deployment completion wait policy. |
drbdmanage_snapshot_plugin = drbdmanage.plugins.plugins.wait_for.WaitForSnapshot | (String) Snapshot completion wait plugin. |
drbdmanage_snapshot_policy = {“count”: “1”, “timeout”: “60”} | (String) Snapshot completion wait policy. |
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 |
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 |
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) |
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
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) |
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
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. |
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
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. |
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.
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. |
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.
Name = Default Value | (Type) Description |
---|---|
hpe3par_api_url = | (String) 3PAR WSAPI Server Url like https://<3par ip>:8080/api/v1 |
hpe3par_cpg = [‘OpenStack’] | (List of String) List of the CPG(s) to use for volume creation |
hpe3par_cpg_snap = | (String) The CPG to use for Snapshots for volumes. If empty the userCPG will be used. |
hpe3par_debug = False | (Boolean) Enable HTTP debugging to 3PAR |
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 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 username with the ‘edit’ role |
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
Name = Default Value | (Type) Description |
---|---|
hpe3par_api_url = | (String) 3PAR WSAPI Server Url like https://<3par ip>:8080/api/v1 |
hpe3par_cpg = [‘OpenStack’] | (List of String) List of the CPG(s) to use for volume creation |
hpe3par_cpg_snap = | (String) The CPG to use for Snapshots for volumes. If empty the userCPG will be used. |
hpe3par_debug = False | (Boolean) Enable HTTP debugging to 3PAR |
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 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 username with the ‘edit’ role |
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
Name = Default Value | (Type) Description |
---|---|
hpelefthand_api_url = None | (URI) HPE LeftHand WSAPI Server Url like https://<LeftHand ip>:8081/lhos |
hpelefthand_clustername = None | (String) HPE LeftHand cluster name |
hpelefthand_debug = False | (Boolean) Enable HTTP debugging to LeftHand |
hpelefthand_iscsi_chap_enabled = False | (Boolean) Configure CHAP authentication for iSCSI connections (Default: Disabled) |
hpelefthand_password = None | (String) HPE LeftHand Super user password |
hpelefthand_ssh_port = 16022 | (Port(min=0, max=65535)) Port number of SSH service. |
hpelefthand_username = None | (String) HPE LeftHand Super user username |
Version history:
1.0.0 - Initial REST iSCSI proxy
1.0.1 - Added support for retype
1.0.2 - Added support for volume migrate
1.0.3 - Fixed bug #1285829, HP LeftHand backend assisted migration
should check for snapshots
1.0.4 - Fixed bug #1285925, LeftHand AO volume create performance
improvement
1.0.5 - Fixed bug #1311350, Live-migration of an instance when
attached to a volume was causing an error.
1.0.6 - Removing locks bug #1395953
1.0.7 - Fixed bug #1353137, Server was not removed from the HP
Lefthand backend after the last volume was detached.
1.0.8 - Fixed bug #1418201, A cloned volume fails to attach.
1.0.9 - Adding support for manage/unmanage.
1.0.10 - Add stats for goodness_function and filter_function
1.0.11 - Add over subscription support
1.0.12 - Adds consistency group support
1.0.13 - Added update_migrated_volume #1493546
1.0.14 - Removed the old CLIQ based driver
2.0.0 - Rebranded HP to HPE
2.0.1 - Remove db access for consistency groups
2.0.2 - Adds v2 managed replication support
2.0.3 - Adds v2 unmanaged replication support
2.0.4 - Add manage/unmanage snapshot support
2.0.5 - Changed minimum client version to be 2.1.0
2.0.6 - Update replication to version 2.1
2.0.7 - Fixed bug #1554746, Create clone volume with new size.
2.0.8 - Add defaults for creating a replication client, bug #1556331
2.0.9 - Fix terminate connection on failover
2.0.10 - Add entry point tracing
2.0.11 - Fix extend volume if larger than snapshot bug #1560654
2.0.12 - add CG capability to generic volume groups.
2.0.13 - Fix cloning operation related to provisioning, bug #1688243
2.0.14 - Fixed bug #1710072, Volume doesn't show expected parameters
after Retype
2.0.15 - Fixed bug #1710098, Managed volume, does not pick up the extra
specs/capabilities of the selected volume type.
2.0.16 - Handled concurrent attachment requests. bug #1779654
Name = Default Value | (Type) Description |
---|---|
hpmsa_api_protocol = https | (String(choices=[‘http’, ‘https’])) HPMSA API interface protocol. |
hpmsa_backend_name = A | (String) Pool or Vdisk name to use for volume creation. |
hpmsa_backend_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. |
Version history:
1.0 - Inheriting from DotHill cinder drivers.
1.6 - Add management path redundancy and reduce load placed
on management controller.
Name = Default Value | (Type) Description |
---|---|
hpmsa_api_protocol = https | (String(choices=[‘http’, ‘https’])) HPMSA API interface protocol. |
hpmsa_backend_name = A | (String) Pool or Vdisk name to use for volume creation. |
hpmsa_backend_type = virtual | (String(choices=[‘linear’, ‘virtual’])) linear (for Vdisk) or virtual (for Pool). |
hpmsa_iscsi_ips = [] | (List of String) List of comma-separated target iSCSI IP addresses. |
hpmsa_verify_certificate = False | (Boolean) Whether to verify HPMSA array SSL certificate. |
hpmsa_verify_certificate_path = None | (String) HPMSA array SSL certificate path. |
Version history:
1.0 - Inheriting from DotHill cinder drivers.
1.6 - Add management path redundancy and reduce load placed
on management controller.
Version history:
1.0 - Initial driver
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. |
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
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. |
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
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 |
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
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. |
Version history:
1.0 - Initial driver
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. |
Version history:
1.0 - Initial driver
Name = Default Value | (Type) Description |
---|---|
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. |
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
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. |
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 K2 using the FQDN, when false it will use the reversed IQN/WWNN. |
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
Name = Default Value | (Type) Description |
---|---|
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. |
volume_group = cinder-volumes | (String) Name for the VG that will contain exported volumes |
Name = Default Value | (Type) Description |
---|---|
lenovo_api_protocol = https | (String(choices=[‘http’, ‘https’])) Lenovo api interface protocol. |
lenovo_backend_name = A | (String) Pool or Vdisk name to use for volume creation. |
lenovo_backend_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. |
Version history:
1.0 - Inheriting from DotHill cinder drivers.
1.6 - Add management path redundancy and reduce load placed
on management controller.
Name = Default Value | (Type) Description |
---|---|
lenovo_api_protocol = https | (String(choices=[‘http’, ‘https’])) Lenovo api interface protocol. |
lenovo_backend_name = A | (String) Pool or Vdisk name to use for volume creation. |
lenovo_backend_type = virtual | (String(choices=[‘linear’, ‘virtual’])) linear (for VDisk) or virtual (for Pool). |
lenovo_iscsi_ips = [] | (List of String) List of comma-separated target iSCSI IP addresses. |
lenovo_verify_certificate = False | (Boolean) Whether to verify Lenovo array SSL certificate. |
lenovo_verify_certificate_path = None | (String) Lenovo array SSL certificate path. |
Version history:
1.0 - Inheriting from DotHill cinder drivers.
1.6 - Add management path redundancy and reduce load placed
on management controller.
Name = Default Value | (Type) Description |
---|---|
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. |
Name = Default Value | (Type) Description |
---|---|
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. |
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 = 1 | (Integer) Number of iSCSI portals. |
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. |
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 = 1 | (Integer) Number of iSCSI portals. |
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. |
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. |
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. |
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. |
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_host = | (String) IP address of Nexenta SA |
nexenta_host_group_prefix = cinder | (String) Prefix for iSCSI host groups on SA |
nexenta_iscsi_target_host_group = all | (String) Group of hosts which are allowed to access volumes |
nexenta_iscsi_target_portal_groups = | (String) Nexenta target portal groups |
nexenta_iscsi_target_portal_port = 3260 | (Integer) Nexenta 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 iSCSI LUNs per each target |
nexenta_ns5_blocksize = 32 | (Integer) Block size for datasets |
nexenta_password = nexenta | (String) Password to connect to Nexenta SA |
nexenta_rest_address = | (String) IP address of NexentaEdge management REST API endpoint |
nexenta_rest_port = 0 | (Integer) HTTP(S) port to connect to Nexenta 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 REST connection (default auto) |
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 SA |
nexenta_target_prefix = iqn.1986-03.com.sun:02:cinder | (String) IQN prefix for iSCSI targets |
nexenta_use_https = True | (Boolean) Use secure HTTP for REST connection (default True) |
nexenta_user = admin | (String) User name to connect to Nexenta SA |
nexenta_volume = cinder | (String) SA Pool that holds all volumes |
nexenta_volume_group = iscsi | (String) Volume group for NexentaStor5 iSCSI |
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.
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_host = | (String) IP address of Nexenta SA |
nexenta_host_group_prefix = cinder | (String) Prefix for iSCSI host groups on SA |
nexenta_iscsi_target_host_group = all | (String) Group of hosts which are allowed to access volumes |
nexenta_iscsi_target_portal_groups = | (String) Nexenta target portal groups |
nexenta_iscsi_target_portal_port = 3260 | (Integer) Nexenta 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 iSCSI LUNs per each target |
nexenta_ns5_blocksize = 32 | (Integer) Block size for datasets |
nexenta_password = nexenta | (String) Password to connect to Nexenta SA |
nexenta_rest_address = | (String) IP address of NexentaEdge management REST API endpoint |
nexenta_rest_port = 0 | (Integer) HTTP(S) port to connect to Nexenta 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 REST connection (default auto) |
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 SA |
nexenta_target_prefix = iqn.1986-03.com.sun:02:cinder | (String) IQN prefix for iSCSI targets |
nexenta_use_https = True | (Boolean) Use secure HTTP for REST connection (default True) |
nexenta_user = admin | (String) User name to connect to Nexenta SA |
nexenta_volume = cinder | (String) SA Pool that holds all volumes |
nexenta_volume_group = iscsi | (String) Volume group for NexentaStor5 iSCSI |
Version history:
1.0.0 - Initial driver version.
1.1.0 - Added HTTPS support.
Added use of sessions for REST calls.
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_host = | (String) IP address of Nexenta SA |
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_password = nexenta | (String) Password to connect to Nexenta SA |
nexenta_rest_address = | (String) IP address of NexentaEdge management REST API endpoint |
nexenta_rest_port = 0 | (Integer) HTTP(S) port to connect to Nexenta 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 REST connection (default auto) |
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 secure HTTP for REST connection (default True) |
nexenta_user = admin | (String) User name to connect to Nexenta SA |
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.
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_host = | (String) IP address of Nexenta SA |
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_password = nexenta | (String) Password to connect to Nexenta SA |
nexenta_rest_address = | (String) IP address of NexentaEdge management REST API endpoint |
nexenta_rest_port = 0 | (Integer) HTTP(S) port to connect to Nexenta 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 REST connection (default auto) |
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 secure HTTP for REST connection (default True) |
nexenta_user = admin | (String) User name to connect to Nexenta SA |
Version history:
1.0.0 - Initial driver version.
1.1.0 - Added HTTPS support.
Added use of sessions for REST calls.
1.2.0 - Support for extend volume.
Support for extending the volume in
create_volume_from_snapshot if the size of new volume
is larger than original volume size.
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. |
Creates file on NFS share for using it as block device on hypervisor.
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 |
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 |
Name = Default Value | (Type) Description |
---|---|
eqlx_cli_max_retries = 5 | (Integer(min=0)) Maximum retry count for reconnection. Default is 5. |
eqlx_group_name = group-0 | (String) Group name to use for creating volumes. Defaults to “group-0”. |
eqlx_pool = default | (String) Pool in which volumes will be created. Defaults to “default”. |
The access credentials to the SAN are provided by means of the following flags:
san_ip=<ip_address>
san_login=<user name>
san_password=<user password>
san_private_key=<file containing SSH private key>
Thin provision of volumes is enabled by default, to disable it use:
san_thin_provision=false
In order to use target CHAP authentication (which is disabled by default) SAN administrator must create a local CHAP user and specify the following flags for the driver:
use_chap_auth=True
chap_login=<chap_login>
chap_password=<chap_password>
eqlx_group_name parameter actually represents the CLI prompt message without ‘>’ ending. E.g. if prompt looks like ‘group-0>’, then the parameter must be set to ‘group-0’
Version history:
1.0 - Initial driver
1.1.0 - Misc fixes
1.2.0 - Deprecated eqlx_cli_timeout infavor of ssh_conn_timeout
1.3.0 - Added support for manage/unmanage volume
1.4.0 - Removed deprecated options eqlx_cli_timeout, eqlx_use_chap,
eqlx_chap_login, and eqlx_chap_password.
1.4.1 - Rebranded driver to Dell EMC.
1.4.2 - Enable report discard support.
1.4.3 - Report total_volumes in volume stats
1.4.4 - Fixed over-subscription ratio calculation
1.4.5 - Optimize volume stats information parsing
1.4.6 - Extend volume with no-snap option
Name = Default Value | (Type) Description |
---|---|
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. |
powermax_array = None | (String) Serial number of the array to connect to. |
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_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. |
retries = 200 | (Integer) Use this value to specify number of retries. |
san_rest_port = 8443 | (Port(min=0, max=65535)) REST server port number. |
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. |
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.0.1 - PowerMax OS Metro formatted volumes fix (bug #1829876)
4.0.2 - Volume group delete failure (bug #1853589)
4.0.3 - Legacy volume not found fix (#1867163)
4.0.4 - Fix to enable legacy volumes to live migrate (#1867163)
Name = Default Value | (Type) Description |
---|---|
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. |
powermax_array = None | (String) Serial number of the array to connect to. |
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_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. |
retries = 200 | (Integer) Use this value to specify number of retries. |
san_rest_port = 8443 | (Port(min=0, max=65535)) REST server port number. |
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. |
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.0.1 - PowerMax OS Metro formatted volumes fix (bug #1829876)
4.0.2 - Volume group delete failure (bug #1853589)
4.0.3 - Legacy volume not found fix (#1867163)
4.0.4 - Fix to enable legacy volumes to live migrate (#1867163)
Name = Default Value | (Type) Description |
---|---|
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_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). |
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.
Name = Default Value | (Type) Description |
---|---|
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_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). |
This version of the driver enables the use of iSCSI for the underlying storage connectivity with the FlashArray.
Name = Default Value | (Type) Description |
---|---|
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 |
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.
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> |
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.
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
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. |
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. |
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). |
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 |
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.
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 |
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.
Name = Default Value | (Type) Description |
---|---|
sio_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. |
sio_max_over_subscription_ratio = 10.0 | (Float) max_over_subscription_ratio setting for the driver. Maximum value allowed is 10.0. |
sio_protection_domain_id = None | (String) DEPRECATED: Protection Domain ID. |
sio_protection_domain_name = None | (String) DEPRECATED: Protection Domain name. |
sio_rest_server_port = 443 | (String) Gateway REST server port. |
sio_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 |
sio_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. |
sio_server_certificate_path = None | (String) Server certificate path. |
sio_storage_pool_id = None | (String) DEPRECATED: Storage Pool ID. |
sio_storage_pool_name = None | (String) DEPRECATED: Storage Pool name. |
sio_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 |
sio_unmap_volume_before_deletion = False | (Boolean) Unmap volumes before deletion. |
sio_verify_server_certificate = False | (Boolean) Verify server certificate. |
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.4.1: Fix for Bug #1823200. See OSSN-0086 for details.
Name = Default Value | (Type) Description |
---|---|
sheepdog_store_address = 127.0.0.1 | (String) IP address of sheep daemon. |
sheepdog_store_port = 7000 | (Port(min=0, max=65535)) Port of sheep daemon. |
Name = Default Value | (Type) Description |
---|---|
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_template_caching = False | (Boolean) This option is deprecated and will be removed in the next OpenStack release. Please use the general cinder image-caching feature instead. |
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_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_template_account_name = openstack-vtemplate | (String) Account name on the SolidFire Cluster to use as owner of template/cache volumes (created if does not exist). |
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-‘. |
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.17 - Fix bug #1859653 SolidFire fails to failback when volume
service is restarted
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. |
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
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. |
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
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. |
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
Name = Default Value | (Type) Description |
---|---|
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. |
Version history:
1.0.0 - Initial driver. Provide Cinder minimum features
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. |
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
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_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. |
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. |
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_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. |
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. |
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 = False | (Boolean) Delete a LUN even if it is in Storage Groups. By default, the value is False. |
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. |
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`
13.0.1 - Fix bug 1794646: failed to delete LUNs from backend due to
the temporary snapshots on them wasn't deleted.
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. |
Creates volumes as files on the mounted vzstorage cluster.
Version history:
1.0 - Initial driver.
1.1 - Supports vz:volume_format in vendor properties.
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.
Name = Default Value | (Type) Description |
---|---|
windows_iscsi_lun_path = C:iSCSIVirtualDisks | (String) Path to store VHD backed volumes |
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. |
Name = Default Value | (Type) Description |
---|---|
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_volumes_per_glance_cache = 100 | (Integer) Number of volumes created from each cached glance image |
Name = Default Value | (Type) Description |
---|---|
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_volumes_per_glance_cache = 100 | (Integer) Number of volumes created from each cached glance image |
We make use of model provider properties as follows:
provider_location
provider_auth
Name = Default Value | (Type) Description |
---|---|
zfssa_cache_project = os-cinder-cache | (String) Name of ZFSSA project where cache volumes are stored. |
zfssa_enable_local_cache = True | (Boolean) Flag to enable local caching: True, False. |
zfssa_initiator = | (String) iSCSI initiator IQNs. (comma separated) |
zfssa_initiator_config = | (String) iSCSI initiators configuration. |
zfssa_initiator_group = | (String) iSCSI initiator group. |
zfssa_initiator_password = | (String) Secret of the iSCSI initiator CHAP user. |
zfssa_initiator_user = | (String) iSCSI initiator CHAP user (name). |
zfssa_lun_compression = off | (String(choices=[‘off’, ‘lzjb’, ‘gzip-2’, ‘gzip’, ‘gzip-9’])) Data compression. |
zfssa_lun_logbias = latency | (String(choices=[‘latency’, ‘throughput’])) Synchronous write bias. |
zfssa_lun_sparse = False | (Boolean) Flag to enable sparse (thin-provisioned): True, False. |
zfssa_lun_volblocksize = 8k | (String(choices=[‘512’, ‘1k’, ‘2k’, ‘4k’, ‘8k’, ‘16k’, ‘32k’, ‘64k’, ‘128k’])) Block size. |
zfssa_manage_policy = loose | (String(choices=[‘loose’, ‘strict’])) Driver policy for volume manage. |
zfssa_pool = None | (String) Storage pool name. |
zfssa_project = None | (String) Project name. |
zfssa_replication_ip = | (String) IP address used for replication data. (maybe the same as data ip) |
zfssa_rest_timeout = None | (Integer) REST connection timeout. (seconds) |
zfssa_target_group = tgt-grp | (String) iSCSI target group name. |
zfssa_target_interfaces = None | (String) Network interfaces of iSCSI targets. (comma separated) |
zfssa_target_password = | (String) Secret of the iSCSI target CHAP user. |
zfssa_target_portal = None | (String) iSCSI target portal (Data-IP:Port, w.x.y.z:3260). |
zfssa_target_user = | (String) iSCSI target CHAP user (name). |
Version history:
1.0.1:
Backend enabled volume migration.
Local cache feature.
1.0.2:
Volume manage/unmanage support.
1.0.3:
Fix multi-connect to enable live-migration (LP#1565051).
1.0.4:
Implement get_manageable_volumes().
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. |
Version history:
1.0.1:
Backend enabled volume migration.
Local cache feature.
1.0.2:
Volume manage/unmanage support.
Name = Default Value | (Type) Description |
---|---|
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 |
Version history:
15.07 - Initial driver
16.05 - Move from httplib to requests
Name = Default Value | (Type) Description |
---|---|
datacore_api_timeout = 300 | (Integer(min=1)) Seconds to wait for a response from a DataCore API call. |
datacore_disk_failed_delay = 15 | (Integer(min=0)) Seconds to wait for DataCore virtual disk to come out of the “Failed” state. |
datacore_disk_pools = [] | (List of String) List of DataCore disk pools that can be used by volume driver. |
datacore_disk_type = single | (String(choices=[‘single’, ‘mirrored’])) DataCore virtual disk type (single/mirrored). Mirrored virtual disks require two storage servers in the server group. |
datacore_storage_profile = None | (String) DataCore virtual disk storage profile. |
Version history:
1.0.0 - Initial driver
Name = Default Value | (Type) Description |
---|---|
datacore_api_timeout = 300 | (Integer(min=1)) Seconds to wait for a response from a DataCore API call. |
datacore_disk_failed_delay = 15 | (Integer(min=0)) Seconds to wait for DataCore virtual disk to come out of the “Failed” state. |
datacore_disk_pools = [] | (List of String) List of DataCore disk pools that can be used by volume driver. |
datacore_disk_type = single | (String(choices=[‘single’, ‘mirrored’])) DataCore virtual disk type (single/mirrored). Mirrored virtual disks require two storage servers in the server group. |
datacore_storage_profile = None | (String) DataCore virtual disk storage profile. |
Version history:
1.0.0 - Initial driver
Name = Default Value | (Type) Description |
---|---|
nexenta_blocksize = 4096 | (Integer) Block size for datasets |
nexenta_chunksize = 32768 | (Integer) NexentaEdge iSCSI LUN object chunk size |
nexenta_client_address = | (String) NexentaEdge iSCSI Gateway client address for non-VIP service |
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_encryption = False | (Boolean) Defines whether NexentaEdge iSCSI LUN object has encryption enabled. |
nexenta_folder = | (String) A folder where cinder created datasets will reside. |
nexenta_host = | (String) IP address of Nexenta SA |
nexenta_host_group_prefix = cinder | (String) Prefix for iSCSI host groups on SA |
nexenta_iops_limit = 0 | (Integer) NexentaEdge iSCSI LUN object IOPS limit |
nexenta_iscsi_service = | (String) NexentaEdge iSCSI service name |
nexenta_iscsi_target_host_group = all | (String) Group of hosts which are allowed to access volumes |
nexenta_iscsi_target_portal_groups = | (String) Nexenta target portal groups |
nexenta_iscsi_target_portal_port = 3260 | (Integer) Nexenta 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_lun_container = | (String) NexentaEdge logical path of bucket for LUNs |
nexenta_luns_per_target = 100 | (Integer) Amount of iSCSI LUNs per each target |
nexenta_nbd_symlinks_dir = /dev/disk/by-path | (String) NexentaEdge logical path of directory to store symbolic links to NBDs |
nexenta_ns5_blocksize = 32 | (Integer) Block size for datasets |
nexenta_password = nexenta | (String) Password to connect to Nexenta SA |
nexenta_replication_count = 3 | (Integer) NexentaEdge iSCSI LUN object replication count. |
nexenta_rest_address = | (String) IP address of NexentaEdge management REST API endpoint |
nexenta_rest_password = nexenta | (String) Password to connect to NexentaEdge. |
nexenta_rest_port = 0 | (Integer) HTTP(S) port to connect to Nexenta 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 REST connection (default auto) |
nexenta_rest_user = admin | (String) User name to connect to NexentaEdge. |
nexenta_sparse = False | (Boolean) Enables or disables the creation of sparse datasets |
nexenta_target_group_prefix = cinder | (String) Prefix for iSCSI target groups on SA |
nexenta_target_prefix = iqn.1986-03.com.sun:02:cinder | (String) IQN prefix for iSCSI targets |
nexenta_use_https = True | (Boolean) Use secure HTTP for REST connection (default True) |
nexenta_user = admin | (String) User name to connect to Nexenta SA |
nexenta_volume = cinder | (String) SA Pool that holds all volumes |
nexenta_volume_group = iscsi | (String) Volume group for NexentaStor5 iSCSI |
Version history:
1.0.0 - Initial driver version.
1.0.1 - Moved opts to options.py.
1.0.2 - Added HA support.
1.0.3 - Added encryption and replication count support.
1.0.4 - Added initialize_connection.
1.0.5 - Driver re-introduced in OpenStack.
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. |
Version History
2.1.0.1 - Liberty driver
2.2.0.1 - Mitaka driver
-- Retype
-- Image cache clean up
-- Direct image clone fix
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. |
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.
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 |
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. |
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. |
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. |
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 |
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 |
Name = Default Value | (Type) Description |
---|---|
brcd_sb_connector = HTTP | (String) South bound connector for zoning operation |
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
Name = Default Value | (Type) Description |
---|---|
cisco_sb_connector = cinder.zonemanager.drivers.cisco.cisco_fc_zone_client_cli.CiscoFCZoneClientCLI | (String) Southbound connector for zoning operation |
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
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.