The cinder.volume.drivers.dell_emc.vnx.adapter Module¶
-
class
CommonAdapter(configuration, active_backend_id)¶ Bases:
object-
VERSION= None¶
-
append_replication_stats(stats)¶
-
assure_host_access(storage_group, host, volume, is_new_sg)¶ Assures that host is connected to the Array.
It first registers initiators to storage_group then add volume to storage_group.
Parameters: - storage_group – object of storops storage group to which the host access is registered.
- host – common.Host object with initiator information.
- volume – common.Volume object with volume information.
- is_new_sg – flag indicating whether the storage_group is newly created or not.
-
assure_storage_group(host)¶ Assures that the storage group with name of host exists.
If the storage group doesn’t exist, create a one.
-
auto_register_initiator(storage_group, host)¶ Registers the initiators to storage group.
Parameters: - storage_group – storage group object to which the initiator is registered.
- host – information of initiator, etc.
The behavior depends on the combination of the registered initiators of SG and the configured white list of the ports (that is self.config.io_port_list).
- Register all non-registered initiators to self.allowed_ports.
2. For registered initiators, if the white list is configured, register them to self.allowed_ports except the ones which are already registered. Note that self.allowed_ports comprises of all iSCSI/FC ports on array or the valid ports of the white list if self.config.io_port_list is configured.
-
build_host(connector)¶
-
build_mirror_view(configuration, failover=True)¶ Builds a mirror view operation class.
Parameters: - configuration – driver configuration
- failover – True if from primary to configured array,
False if from configured array to primary.
-
build_terminate_connection_return_data(host, sg)¶
-
cleanup_lun_replication(volume)¶
-
create_cg_from_cgsnapshot(context, group, volumes, cgsnapshot, snapshots)¶
-
create_cgsnapshot(context, cgsnapshot, snapshots)¶ Creates a CG snapshot(snap group).
-
create_cloned_cg(context, group, volumes, source_cg, source_vols)¶
-
create_cloned_group(context, group, volumes, source_group, source_vols)¶ Clones a group
-
create_cloned_volume(volume, src_vref)¶ Creates a clone of the specified volume.
-
create_consistencygroup(context, group)¶
-
create_export_snapshot(context, snapshot, connector)¶
-
create_group(context, group)¶
-
create_group_from_group_snapshot(context, group, volumes, group_snapshot, snapshots)¶ Creates a group from a group snapshot.
-
create_group_snapshot(context, group_snapshot, snapshots)¶ Creates a group_snapshot.
-
create_snapshot(snapshot)¶ Creates a snapshot.
-
create_volume(volume)¶ Creates a EMC volume.
-
create_volume_from_snapshot(volume, snapshot)¶ Constructs a work flow to create a volume from snapshot.
Parameters: - volume – new volume
- snapshot – base snapshot
This flow will do the following:
- Create a snap mount point (SMP) for the snapshot.
- Attach the snapshot to the SMP created in the first step.
- Create a temporary lun prepare for migration. (Skipped if snapcopy=’true’)
- Start a migration between the SMP and the temp lun. (Skipped if snapcopy=’true’)
-
delete_cgsnapshot(context, cgsnapshot, snapshots)¶ Deletes a CG snapshot(snap group).
-
delete_consistencygroup(context, group, volumes)¶ Deletes a consistency group.
-
delete_group(context, group, volumes)¶
-
delete_group_snapshot(context, group_snapshot, snapshots)¶ Deletes a group snapshot.
-
delete_snapshot(snapshot)¶ Deletes a snapshot.
-
delete_volume(volume)¶ Deletes an EMC volume.
-
do_clone_cg(cg_id, cg_host, volumes, source_cg_id, source_vols)¶
-
do_create_cg_from_cgsnap(cg_id, cg_host, volumes, cgsnap_id, snapshots)¶
-
do_create_cgsnap(group_name, snap_name, snapshots)¶
-
do_delete_cgsnap(group_name, snap_name, snap_status, snapshots)¶
-
do_setup()¶
-
do_update_cg(cg_name, add_volumes, remove_volumes)¶
-
extend_volume(volume, new_size)¶ Extends an EMC volume.
-
failover_host(context, volumes, secondary_backend_id)¶ Fails over the volume back and forth.
Driver needs to update following info for failed-over volume: 1. provider_location: update serial number and lun id 2. replication_status: new status for replication-enabled volume
-
get_enabler_stats()¶
-
get_pool_name(volume)¶
-
get_pool_stats(enabler_stats=None)¶
-
initialize_connection(cinder_volume, connector)¶ Initializes the connection to cinder_volume.
-
initialize_connection_snapshot(snapshot, connector, **kwargs)¶ Initializes connection for snapshot mount point.
-
manage_existing(volume, existing_ref)¶ Imports the existing backend storage object as a volume.
- manage_existing_ref:{
- ‘source-id’:<lun id in VNX>
} or manage_existing_ref:{
‘source-name’:<lun name in VNX>}
When the volume has a volume_type, the driver inspects that and compare against the properties of the referenced backend storage object. If they are incompatible, raise a ManageExistingVolumeTypeMismatch exception.
-
manage_existing_get_size(volume, existing_ref)¶ Returns size of volume to be managed by manage_existing.
-
migrate_volume(context, volume, host)¶ Leverage the VNX on-array migration functionality.
This method is invoked at the source backend.
-
parse_pools()¶
-
prepare_target_data(storage_group, host, volume, hlu)¶
-
remove_export_snapshot(context, snapshot)¶
-
remove_host_access(volume, host, sg)¶ Removes the host access from volume.
Parameters: - volume – common.Volume object with volume information.
- host – common.Host object with host information.
- sg – object of storops storage group.
-
retype(ctxt, volume, new_type, diff, host)¶ Changes volume from one type to another.
-
set_extra_spec_defaults()¶
-
setup_lun_replication(volume, primary_lun_id)¶ Setup replication for LUN, this only happens in primary system.
-
terminate_connection(cinder_volume, connector)¶ Terminates the connection to cinder_volume.
-
terminate_connection_cleanup(host, sg)¶
-
terminate_connection_snapshot(snapshot, connector, **kwargs)¶ Terminates connection for snapshot mount point.
-
unmanage(volume)¶ Unmanages a volume.
-
update_consistencygroup(context, group, add_volumes, remove_volumes)¶
-
update_group(context, group, add_volumes=None, remove_volumes=None)¶ Updates a group.
-
update_migrated_volume(context, volume, new_volume, original_volume_status=None)¶ Updates metadata after host-assisted migration.
-
update_storage_group_if_required(sg)¶
-
update_volume_stats()¶
-
validate_backend_id(backend_id)¶
-
validate_ports(all_ports, ports_whitelist)¶
-
-
class
FCAdapter(configuration, active_backend_id)¶ Bases:
cinder.volume.drivers.dell_emc.vnx.adapter.CommonAdapter-
build_host(connector)¶
-
build_terminate_connection_return_data(host, sg)¶
-
do_setup()¶
-
prepare_target_data(storage_group, host, volume, hlu)¶ Prepares the target data for Nova.
Parameters: - storage_group – object of storops storage group.
- host – common.Host object with initiator information.
- volume – common.Volume object with volume information.
- hlu – the HLU number assigned to volume.
-
update_storage_group_if_required(sg)¶
-
update_volume_stats()¶ Retrieves stats info.
-
-
class
ISCSIAdapter(configuration, active_backend_id)¶ Bases:
cinder.volume.drivers.dell_emc.vnx.adapter.CommonAdapter-
arrange_io_ports(reg_port_white_list, iscsi_initiator_ips)¶ Arranges IO ports.
Arranges the registered IO ports and puts a pingable port in the first place as the main portal.
-
build_host(connector)¶
-
build_terminate_connection_return_data(host, sg)¶
-
do_setup()¶
-
prepare_target_data(storage_group, host, volume, hlu)¶ Prepares the target data for Nova.
Parameters: - storage_group – object of storops storage group.
- host – common.Host object with initiator information.
- volume – common.Volume object with volume information.
- hlu – the HLU number assigned to volume.
-
update_volume_stats()¶ Retrieves stats info.
-