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.
-