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)¶
 
-