The cinder.volume.drivers.emc.emc_cli_iscsi Module

iSCSI Drivers for EMC VNX array based on CLI.

class EMCCLIISCSIDriver(*args, **kwargs)

Bases: cinder.volume.driver.ISCSIDriver

EMC ISCSI Drivers for VNX using CLI.

Version history:

1.0.0 - Initial driver 2.0.0 - Thick/thin provisioning, robust enhancement 3.0.0 - Array-based Backend Support, FC Basic Support,

Target Port Selection for MPIO, Initiator Auto Registration, Storage Group Auto Deletion, Multiple Authentication Type Support, Storage-Assisted Volume Migration, SP Toggle for HA

3.0.1 - Security File Support 4.0.0 - Advance LUN Features (Compression Support,

Deduplication Support, FAST VP Support, FAST Cache Support), Storage-assisted Retype, External Volume Management, Read-only Volume, FC Auto Zoning

4.1.0 - Consistency group support 5.0.0 - Performance enhancement, LUN Number Threshold Support,

Initiator Auto Deregistration, Force Deleting LUN in Storage Groups, robust enhancement

5.1.0 - iSCSI multipath enhancement 5.2.0 - Pool-aware scheduler support 5.3.0 - Consistency group modification support 6.0.0 - Over subscription support

Create consistency group from cgsnapshot support Multiple pools support enhancement Manage/unmanage volume revise White list target ports support Snap copy support Support efficient non-disruptive backup
7.0.0 - Clone consistency group support
Replication v2 support(managed) Configurable migration rate support
backup_use_temp_snapshot()
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 cloned volume.

create_consistencygroup(context, group)

Creates a consistencygroup.

create_consistencygroup_from_src(context, group, volumes, cgsnapshot=None, snapshots=None, source_cg=None, source_vols=None)

Creates a consistency group from source.

create_export(context, volume, connector)

Driver entry point to get the export info for a new volume.

create_export_snapshot(context, snapshot, connector)

Creates a snapshot mount point for snapshot.

create_snapshot(snapshot)

Creates a snapshot.

create_volume(volume)

Creates a VNX 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_snapshot(snapshot)

Deletes a snapshot.

delete_volume(volume)

Deletes a VNX volume.

ensure_export(context, volume)

Driver entry point to get the export info for an existing volume.

extend_volume(volume, new_size)

Extend a volume.

failover_host(context, volumes, secondary_backend_id)

Failovers volume from primary device to secondary.

get_pool(volume)

Returns the pool name of a volume.

get_volume_stats(refresh=False)

Get volume status.

If ‘refresh’ is True, run update the stats first.

initialize_connection(volume, connector)

Initializes the connection and returns connection info.

The iscsi driver returns a driver_volume_type of ‘iscsi’. the format of the driver data is defined in vnx_get_iscsi_properties. Example return value (multipath is not enabled):

{
    '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',
        'target_lun': 1,
    }
}

Example return value (multipath is enabled):

{
    'driver_volume_type': 'iscsi'
    'data': {
        'target_discovered': True,
        'target_iqns': ['iqn.2010-10.org.openstack:volume-00001',
                        'iqn.2010-10.org.openstack:volume-00002'],
        'target_portals': ['127.0.0.1:3260', '127.0.1.1:3260'],
        'target_luns': [1, 1],
    }
}
initialize_connection_snapshot(snapshot, connector, **kwargs)

Allows connection to snapshot.

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.

manage_existing_ref:{
‘source-id’:<lun id in VNX>

} or manage_existing_ref:{

‘source-name’:<lun name in VNX>

}

manage_existing_get_size(volume, existing_ref)

Return size of volume to be managed by manage_existing.

migrate_volume(ctxt, volume, host)
remove_export(context, volume)

Driver entry point to remove an export for a volume.

remove_export_snapshot(context, snapshot)

Removes snapshot mount point for snapshot.

retype(ctxt, volume, new_type, diff, host)

Convert the volume to be of the new type.

terminate_connection(volume, connector, **kwargs)

Disallow connection from connector.

terminate_connection_snapshot(snapshot, connector, **kwargs)

Disallows connection to snapshot.

unmanage(volume)

Unmanages a volume.

update_consistencygroup(context, group, add_volumes, remove_volumes)

Updates LUNs in consistency group.

update_migrated_volume(context, volume, new_volume, original_volume_status=None)

Returns model update for migrated volume.

update_volume_stats()

Retrieve status info from volume group.

Previous topic

The cinder.volume.drivers.emc.emc_cli_fc Module

Next topic

The cinder.volume.drivers.emc.emc_vmax_common Module

Project Source

This Page