The cinder.volume.drivers.infortrend.infortrend_iscsi_cli
Module¶
iSCSI Driver for Infortrend Eonstor based on CLI.
-
class
InfortrendCLIISCSIDriver
(*args, **kwargs)¶ Bases:
cinder.volume.driver.ISCSIDriver
Infortrend iSCSI Driver for Eonstor DS using CLI.
- Version history:
- 1.0.0 - Initial driver 1.0.1 - Support DS4000 1.0.2 - Support GS Series
-
CI_WIKI_NAME
= 'Infortrend_Storage_CI'¶
-
VERSION
= '1.0.2'¶
-
check_for_setup_error
()¶
-
create_cloned_volume
(volume, src_vref)¶ Creates a clone of the specified volume.
-
create_export
(context, volume, connector)¶ Exports the volume.
Can optionally return a Dictionary of changes to the volume object to be persisted.
-
create_snapshot
(snapshot)¶ Creates a snapshot.
-
create_volume
(volume)¶ Creates a volume.
Can optionally return a Dictionary of changes to the volume object to be persisted.
-
create_volume_from_snapshot
(volume, snapshot)¶ Creates a volume from a snapshot.
-
delete_snapshot
(snapshot)¶ Deletes a snapshot.
-
delete_volume
(volume)¶ Deletes a volume.
-
ensure_export
(context, volume)¶ Synchronously recreates an export for a volume.
-
extend_volume
(volume, new_size)¶ Extend a volume.
-
get_volume_stats
(refresh=False)¶ Get volume stats.
If ‘refresh’ is True, run update the stats first.
-
initialize_connection
(volume, connector)¶ Initializes the connection and returns connection information.
The iscsi driver returns a driver_volume_type of ‘iscsi’. The format of the driver data is defined in _get_iscsi_properties. Example return value:
{ 'driver_volume_type': 'iscsi' 'data': { 'target_discovered': True, 'target_iqn': 'iqn.2010-10.org.openstack:volume-00000001', 'target_portal': '127.0.0.0.1:3260', 'volume_id': 1, } }
-
manage_existing
(volume, existing_ref)¶ Manage an existing lun in the array.
The lun should be in a manageable pool backend, otherwise error would return. Rename the backend storage object so that it matches the, volume[‘name’] which is how drivers traditionally map between a cinder volume and the associated backend storage object.
existing_ref:{ 'id':lun_id }
-
manage_existing_get_size
(volume, existing_ref)¶ Return size of volume to be managed by manage_existing.
When calculating the size, round up to the next GB.
-
migrate_volume
(ctxt, volume, host)¶ Migrate the volume to the specified host.
Returns a boolean indicating whether the migration occurred, as well as model_update.
Parameters: - ctxt – Context
- volume – A dictionary describing the volume to migrate
- host – A dictionary describing the host to migrate to, where host[‘host’] is its name, and host[‘capabilities’] is a dictionary of its reported capabilities.
-
remove_export
(context, volume)¶ Removes an export for a volume.
-
retype
(ctxt, volume, new_type, diff, host)¶ Convert the volume to be of the new type.
Parameters: - ctxt – Context
- volume – A dictionary describing the volume to migrate
- new_type – A dictionary describing the volume type to convert to
- diff – A dictionary with the difference between the two types
- host – A dictionary describing the host to migrate to, where host[‘host’] is its name, and host[‘capabilities’] is a dictionary of its reported capabilities.
-
terminate_connection
(volume, connector, **kwargs)¶ Disallow connection from connector.
-
unmanage
(volume)¶ Removes the specified volume from Cinder management.
Does not delete the underlying backend storage object.
Parameters: volume – Cinder volume to unmanage
-
update_migrated_volume
(ctxt, volume, new_volume, original_volume_status)¶ Return model update for migrated volume.
Parameters: - volume – The original volume that was migrated to this backend
- new_volume – The migration volume object that was created on this backend as part of the migration process
- original_volume_status – The status of the original volume
Returns: model_update to update DB with any needed changes