The cinder.volume.drivers.dell_emc.xtremio
Module¶
Driver for Dell EMC XtremIO Storage. supported XtremIO version 2.4 and up
1.0.0 - initial release
1.0.1 - enable volume extend
1.0.2 - added FC support, improved error handling
1.0.3 - update logging level, add translation
1.0.4 - support for FC zones
1.0.5 - add support for XtremIO 4.0
1.0.6 - add support for iSCSI multipath, CA validation, consistency groups,
R/O snapshots, CHAP discovery authentication
1.0.7 - cache glance images on the array
1.0.8 - support for volume retype, CG fixes
-
class
XtremIOClient
(configuration, cluster_id)¶ Bases:
object
-
add_vol_to_cg
(vol_id, cg_id)¶
-
create_snapshot
(src, dest, ro=False)¶ Create a snapshot of a volume on the array.
XtreamIO array snapshots are also volumes.
Src: name of the source volume to be cloned Dest: name for the new snapshot Ro: new snapshot type ro/regular. only applicable to Client4
-
get_base_url
(ver)¶
-
get_cluster
()¶
-
get_extra_capabilities
()¶
-
get_initiator
(port_address)¶
-
handle_errors
(response, key, object_type)¶
-
req
(*args, **kwargs)¶
-
update_data
(data, cluster_id)¶
-
update_url
(data, cluster_id)¶
-
-
class
XtremIOClient3
(configuration, cluster_id)¶ Bases:
cinder.volume.drivers.dell_emc.xtremio.XtremIOClient
-
create_snapshot
(src, dest, ro=False)¶
-
find_lunmap
(ig_name, vol_name)¶
-
get_initiator
(port_address)¶
-
get_iscsi_portals
()¶
-
num_of_mapped_volumes
(initiator)¶
-
-
class
XtremIOClient4
(configuration, cluster_id)¶ Bases:
cinder.volume.drivers.dell_emc.xtremio.XtremIOClient
-
add_vol_to_cg
(vol_id, cg_id)¶
-
create_snapshot
(src, dest, ro=False)¶
-
find_lunmap
(ig_name, vol_name)¶
-
get_cluster
()¶
-
get_extra_capabilities
()¶
-
get_initiator
(port_address)¶
-
get_iscsi_portals
()¶
-
num_of_mapped_volumes
(initiator)¶
-
req
(object_type='volumes', method='GET', data=None, name=None, idx=None, ver='v2')¶
-
update_data
(data, cluster_id)¶
-
update_url
(data, cluster_id)¶
-
-
class
XtremIOFCDriver
(*args, **kwargs)¶ Bases:
cinder.volume.drivers.dell_emc.xtremio.XtremIOVolumeDriver
,cinder.volume.driver.FibreChannelDriver
-
get_targets
()¶
-
initialize_connection
(*args, **kwargs)¶
-
terminate_connection
(*args, **kwargs)¶
-
-
class
XtremIOISCSIDriver
(*args, **kwargs)¶ Bases:
cinder.volume.drivers.dell_emc.xtremio.XtremIOVolumeDriver
,cinder.volume.driver.ISCSIDriver
Executes commands relating to ISCSI volumes.
We make use of model provider properties as follows:
provider_location
- if present, contains the iSCSI target information in the same format as an ietadm discovery i.e. ‘<ip>:<port>,<portal> <target IQN>’
provider_auth
- if present, contains a space-separated triple: ‘<auth method> <auth username> <auth password>’. CHAP is the only auth_method in use at the moment.
-
driver_name
= 'XtremIO_ISCSI'¶
-
initialize_connection
(volume, connector)¶
-
class
XtremIOVolumeDriver
(*args, **kwargs)¶ Bases:
cinder.volume.drivers.san.san.SanDriver
Executes commands relating to Volumes.
-
CI_WIKI_NAME
= 'EMC_XIO_CI'¶
-
MIN_XMS_VERSION
= [3, 0, 0]¶
-
VERSION
= '1.0.8'¶
-
check_for_export
(context, volume_id)¶ Make sure volume is exported.
-
check_for_setup_error
()¶
-
create_cgsnapshot
(context, cgsnapshot, snapshots)¶ Creates a cgsnapshot.
-
create_cloned_volume
(volume, src_vref)¶ Creates a clone of the specified volume.
-
create_consistencygroup
(context, group)¶ Creates a consistency group.
Parameters: - context – the context
- group – the group object to be created
Returns: dict – modelUpdate = {‘status’: ‘available’}
Raises: VolumeBackendAPIException
-
create_consistencygroup_from_src
(context, group, volumes, cgsnapshot=None, snapshots=None, source_cg=None, source_vols=None)¶ Creates a consistencygroup from source.
Parameters: - context – the context of the caller.
- group – the dictionary of the consistency group to be created.
- volumes – a list of volume dictionaries in the group.
- cgsnapshot – the dictionary of the cgsnapshot as source.
- snapshots – a list of snapshot dictionaries in the cgsnapshot.
- source_cg – the dictionary of a consistency group as source.
- source_vols – a list of volume dictionaries in the source_cg.
Returns: model_update, volumes_model_update
-
create_group
(context, group)¶ Creates a group.
Parameters: - context – the context of the caller.
- group – the group object.
Returns: model_update
-
create_group_from_src
(context, group, volumes, group_snapshot=None, snapshots=None, source_group=None, source_vols=None)¶ Creates a group from source.
Parameters: - context – the context of the caller.
- group – the Group object to be created.
- volumes – a list of Volume objects in the group.
- group_snapshot – the GroupSnapshot object as source.
- snapshots – a list of snapshot objects in group_snapshot.
- source_group – the Group object as source.
- source_vols – a list of volume objects in the source_group.
Returns: model_update, volumes_model_update
-
create_group_snapshot
(context, group_snapshot, snapshots)¶ Creates a group_snapshot.
Parameters: - context – the context of the caller.
- group_snapshot – the GroupSnapshot object to be created.
- snapshots – a list of Snapshot objects in the group_snapshot.
Returns: model_update, snapshots_model_update
-
create_lun_map
(volume, ig, lun_num=None)¶
-
create_snapshot
(snapshot)¶ Creates a snapshot.
-
create_volume
(volume)¶ Creates a volume.
-
create_volume_from_snapshot
(volume, snapshot)¶ Creates a volume from a snapshot.
-
delete_cgsnapshot
(context, cgsnapshot, snapshots)¶ Deletes a cgsnapshot.
-
delete_consistencygroup
(context, group, volumes)¶ Deletes a consistency group.
-
delete_group
(context, group, volumes)¶ Deletes a group.
Parameters: - context – the context of the caller.
- group – the group object.
- volumes – a list of volume objects in the group.
Returns: model_update, volumes_model_update
-
delete_group_snapshot
(context, group_snapshot, snapshots)¶ Deletes a group_snapshot.
Parameters: - context – the context of the caller.
- group_snapshot – the GroupSnapshot object to be deleted.
- snapshots – a list of snapshot objects in the group_snapshot.
Returns: model_update, snapshots_model_update
-
delete_snapshot
(snapshot)¶ Deletes a snapshot.
-
delete_volume
(volume)¶ Deletes a volume.
-
driver_name
= 'XtremIO'¶
-
extend_volume
(volume, new_size)¶ Extend an existing volume’s size.
-
get_volume_stats
(refresh=False)¶ Get volume stats.
If ‘refresh’ is True, run update the stats first.
-
manage_existing
(volume, existing_ref, is_snapshot=False)¶ Manages an existing LV.
-
manage_existing_get_size
(volume, existing_ref, is_snapshot=False)¶ Return size of an existing LV for manage_existing.
-
manage_existing_snapshot
(snapshot, existing_ref)¶
-
manage_existing_snapshot_get_size
(snapshot, existing_ref)¶
-
terminate_connection
(volume, connector, **kwargs)¶ Disallow connection from connector
-
unmanage
(volume, is_snapshot=False)¶ Removes the specified volume from Cinder management.
-
unmanage_snapshot
(snapshot)¶
-
update_consistencygroup
(context, group, add_volumes=None, remove_volumes=None)¶ Updates a consistency group.
Parameters: - context – the context of the caller.
- group – the dictionary of the consistency group to be updated.
- add_volumes – a list of volume dictionaries to be added.
- remove_volumes – a list of volume dictionaries to be removed.
Returns: model_update, add_volumes_update, remove_volumes_update
-
update_group
(context, group, add_volumes=None, remove_volumes=None)¶ Updates a group.
Parameters: - context – the context of the caller.
- group – the group object.
- add_volumes – a list of volume objects to be added.
- remove_volumes – a list of volume objects to be removed.
Returns: model_update, add_volumes_update, remove_volumes_update
-
update_migrated_volume
(ctxt, volume, new_volume, original_volume_status)¶
-