The cinder.volume.drivers.emc.emc_vmax_iscsi Module

ISCSI Drivers for EMC VMAX arrays based on SMI-S.

class EMCVMAXISCSIDriver(*args, **kwargs)

Bases: cinder.volume.driver.ISCSIDriver

EMC ISCSI Drivers for VMAX using SMI-S.

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

VERSION = '2.0.0'
check_for_export(context, volume_id)

Make sure volume is exported.

check_for_setup_error()
create_cloned_volume(volume, src_vref)

Creates a cloned volume.

create_export(context, volume)

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

create_snapshot(snapshot)

Creates a snapshot.

create_volume(volume)

Creates a EMC(VMAX/VNX) volume.

create_volume_from_snapshot(volume, snapshot)

Creates a volume from a snapshot.

delete_snapshot(snapshot)

Deletes a snapshot.

delete_volume(volume)

Deletes an EMC volume.

ensure_export(context, volume)

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

extend_volume(volume, new_size)

Extend an existing 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 info.

The iscsi driver returns a driver_volume_type of ‘iscsi’. the format of the driver data is defined in smis_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': '12345678-1234-4321-1234-123456789012',
    }
}
migrate_volume(ctxt, volume, host)

Migrate a volume from one Volume Backend to another. :param self: reference to class :param ctxt: :param volume: the volume object including the volume_type_id :param host: the host dict holding the relevant target(destination)

information
Returns:moved
Returns:list
remove_export(context, volume)

Driver entry point to remove an export for a volume.

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

Migrate volume to another host using retype.

Parameters:
  • self – reference to class
  • ctxt
  • volume – the volume object including the volume_type_id
  • new_type – the new volume type.
  • host – the host dict holding the relevant target(destination) information
Returns:

moved

{}

smis_do_iscsi_discovery(volume)
smis_get_iscsi_properties(volume, connector)

Gets iscsi configuration.

We ideally get saved information in the volume entity, but fall back to discovery if need be. Discovery may be completely removed in future The properties are: :target_discovered: boolean indicating whether discovery was used :target_iqn: the IQN of the iSCSI target :target_portal: the portal of the iSCSI target :target_lun: the lun of the iSCSI target :volume_id: the UUID of the volume :auth_method:, :auth_username:, :auth_password:

the authentication details. Right now, either auth_method is not present meaning no authentication, or auth_method == CHAP meaning use CHAP with the specified credentials.
terminate_connection(volume, connector, **kwargs)

Disallow connection from connector.

update_volume_stats()

Retrieve stats info from volume group.

Previous topic

The cinder.volume.drivers.emc.emc_vmax_fc Module

Next topic

The cinder.volume.drivers.emc.emc_vmax_masking Module

This Page