The cinder.volume.drivers.emc.emc_vnx_cli
Module¶
VNX CLI
-
class
AllowReadWriteOnSnapshotTask
(name=None, provides=None, requires=None, auto_extract=True, rebind=None, inject=None)¶ Bases:
taskflow.task.Task
Task to modify a Snapshot to allow ReadWrite on it.
-
execute
(client, new_snap_name, *args, **kwargs)¶
-
-
class
AttachSnapTask
(name=None, provides=None, requires=None, auto_extract=True, rebind=None, inject=None)¶ Bases:
taskflow.task.Task
Attaches the snapshot to the SMP created before.
Reversion strategy: Detach the SMP.
-
execute
(client, volume, new_snap_name, *args, **kwargs)¶
-
revert
(result, client, volume, *args, **kwargs)¶
-
-
class
CommandLineHelper
(configuration)¶ Bases:
object
-
add_hlu_to_storage_group
(hlu, alu, sg_name)¶ Adds a lun into storage group as specified hlu number.
Return True if the hlu is as specified, otherwise False.
-
add_lun_to_consistency_group
(cg_name, lun_id, poll=False)¶
-
allow_snapshot_readwrite_and_autodelete
(snap_name)¶
-
attach_mount_point
(name, snapshot_name)¶
-
check_lun_has_snap
(lun_id)¶
-
check_snapshot
(snap_name, poll=True)¶ check if a snapshot/cgsnapshot is existed.
-
command_execute
(*args, **kwargs)¶ Executes command against the VNX array.
When there is named parameter poll=False, the command will be sent alone with option -np.
-
connect_host_to_storage_group
(hostname, sg_name)¶
-
copy_snapshot
(src_snap_name, new_name)¶
-
copytype_spec
= 'copytype:snap'¶
-
create_cgsnapshot
(cg_name, snap_name)¶ Create a cgsnapshot (snap group).
-
create_consistencygroup
(cg_name, members=None, poll=False)¶ create the consistency group.
-
create_lun_by_cmd
(cmd, name)¶
-
create_lun_with_advance_feature
(pool, name, size, provisioning, tiering, consistencygroup_id=None, ignore_thresholds=False, poll=True)¶
-
create_mount_point
(primary_lun_name, name)¶
-
create_snapshot
(lun_id, name)¶
-
create_storage_group
(name)¶
-
delete_cgsnapshot
(snap_name)¶ Delete a cgsnapshot (snap group).
-
delete_consistencygroup
(cg_name)¶
-
delete_lun
(name)¶ Deletes a LUN or mount point.
-
delete_snapshot
(name)¶
-
delete_storage_group
(name)¶
-
deregister_initiator
(initiator_uid)¶ This function tries to deregister initiators on VNX.
-
detach_mount_point
(smp_name)¶
-
disconnect_host_from_storage_group
(hostname, sg_name)¶
-
enable_or_disable_compression_on_lun
(volumename, compression)¶ The function will enable or disable the compression on lun.
-
expand_lun
(name, new_size, poll=True)¶
-
expand_lun_and_wait
(name, new_size)¶
-
find_available_iscsi_targets
(hostname, registered_spport_set, all_iscsi_targets)¶ Finds available iscsi targets for a host.
When the iscsi_initiator_map is configured, the driver will find an accessible portal and put it as the first portal in the portal list to ensure the accessible portal will be used when multipath is not used. All the registered portals will be returned for Nova to clean up all the unused devices related to this LUN created by logging into these portals during attaching other LUNs on VNX.
-
get_array_serial
(poll=False)¶ return array Serial No for pool backend.
-
get_connection_getport_output
()¶
-
get_consistency_group_by_name
(cg_name)¶
-
get_enablers_on_array
(poll=False)¶ The function would get all the enablers installed on array.
-
get_fc_targets
()¶
-
get_hlus
(lun_id, poll=True)¶
-
get_iscsi_targets
(poll=False, io_ports=None)¶
-
get_login_ports
(storage_group_name, connector_wwpns, io_ports=None)¶
-
get_lun_by_id
(lunid, properties=[<cinder.volume.drivers.emc.emc_vnx_cli.PropertyDescriptor object at 0x7f4f8dee1150>, <cinder.volume.drivers.emc.emc_vnx_cli.PropertyDescriptor object at 0x7f4f8dee1190>, <cinder.volume.drivers.emc.emc_vnx_cli.PropertyDescriptor object at 0x7f4f8dee11d0>, <cinder.volume.drivers.emc.emc_vnx_cli.PropertyDescriptor object at 0x7f4f8dee1210>, <cinder.volume.drivers.emc.emc_vnx_cli.PropertyDescriptor object at 0x7f4f8dee1250>, <cinder.volume.drivers.emc.emc_vnx_cli.PropertyDescriptor object at 0x7f4f8dee1290>], poll=True)¶
-
get_lun_by_name
(name, properties=[<cinder.volume.drivers.emc.emc_vnx_cli.PropertyDescriptor object at 0x7f4f8dee1150>, <cinder.volume.drivers.emc.emc_vnx_cli.PropertyDescriptor object at 0x7f4f8dee1190>, <cinder.volume.drivers.emc.emc_vnx_cli.PropertyDescriptor object at 0x7f4f8dee11d0>, <cinder.volume.drivers.emc.emc_vnx_cli.PropertyDescriptor object at 0x7f4f8dee1210>, <cinder.volume.drivers.emc.emc_vnx_cli.PropertyDescriptor object at 0x7f4f8dee1250>, <cinder.volume.drivers.emc.emc_vnx_cli.PropertyDescriptor object at 0x7f4f8dee1290>], poll=True)¶
-
get_lun_current_ops_state
(name, poll=False)¶
-
get_lun_properties
(filter_option, properties=[<cinder.volume.drivers.emc.emc_vnx_cli.PropertyDescriptor object at 0x7f4f8dee1150>, <cinder.volume.drivers.emc.emc_vnx_cli.PropertyDescriptor object at 0x7f4f8dee1190>, <cinder.volume.drivers.emc.emc_vnx_cli.PropertyDescriptor object at 0x7f4f8dee11d0>, <cinder.volume.drivers.emc.emc_vnx_cli.PropertyDescriptor object at 0x7f4f8dee1210>, <cinder.volume.drivers.emc.emc_vnx_cli.PropertyDescriptor object at 0x7f4f8dee1250>, <cinder.volume.drivers.emc.emc_vnx_cli.PropertyDescriptor object at 0x7f4f8dee1290>], poll=True)¶
-
get_pool
(name, properties=[<cinder.volume.drivers.emc.emc_vnx_cli.PropertyDescriptor object at 0x7f4f8dee1550>, <cinder.volume.drivers.emc.emc_vnx_cli.PropertyDescriptor object at 0x7f4f8dee1590>, <cinder.volume.drivers.emc.emc_vnx_cli.PropertyDescriptor object at 0x7f4f8dee1510>, <cinder.volume.drivers.emc.emc_vnx_cli.PropertyDescriptor object at 0x7f4f8dee1690>], poll=True)¶
-
get_pool_feature_properties
(properties=[<cinder.volume.drivers.emc.emc_vnx_cli.PropertyDescriptor object at 0x7f4f8dee16d0>, <cinder.volume.drivers.emc.emc_vnx_cli.PropertyDescriptor object at 0x7f4f8dee1710>], poll=True)¶
-
get_pool_list
(properties=[<cinder.volume.drivers.emc.emc_vnx_cli.PropertyDescriptor object at 0x7f4f8dee1550>, <cinder.volume.drivers.emc.emc_vnx_cli.PropertyDescriptor object at 0x7f4f8dee1590>, <cinder.volume.drivers.emc.emc_vnx_cli.PropertyDescriptor object at 0x7f4f8dee1510>, <cinder.volume.drivers.emc.emc_vnx_cli.PropertyDescriptor object at 0x7f4f8dee1690>], poll=True)¶
-
get_pool_properties
(filter_option, properties=[<cinder.volume.drivers.emc.emc_vnx_cli.PropertyDescriptor object at 0x7f4f8dee1550>, <cinder.volume.drivers.emc.emc_vnx_cli.PropertyDescriptor object at 0x7f4f8dee1590>, <cinder.volume.drivers.emc.emc_vnx_cli.PropertyDescriptor object at 0x7f4f8dee1510>, <cinder.volume.drivers.emc.emc_vnx_cli.PropertyDescriptor object at 0x7f4f8dee1690>], poll=True)¶
-
get_port_output
()¶
-
get_port_wwn
(sp, port_id, allports=None)¶ Returns wwn via sp and port_id
Parameters: - sp – should be in this format ‘SP A’
- port_id – ‘0’ or 0
-
get_registered_spport_set
(initiator_iqn, sgname, sg_raw_out)¶
-
get_status_up_ports
(storage_group_name, io_ports=None, poll=True)¶ Function to get ports whose status are up.
-
get_storage_group
(name, poll=True)¶
-
migrate_lun
(src_id, dst_id, rate='high')¶
-
migrate_lun_with_verification
(src_id, dst_id, dst_name=None, rate='high')¶
-
migrate_lun_without_verification
(src_id, dst_id, dst_name=None, rate='high')¶
-
migration_cancel
(src_id)¶
-
modify_lun_tiering_by_id
(lun_id, tiering)¶ Modify the tiering policy of the LUN.
-
modify_lun_tiering_by_name
(name, tiering)¶ This function used to modify a lun’s tiering policy.
-
ping_node
(target_portal, initiator_ip)¶
-
provisioning_specs
= ['provisioning:type', 'storagetype:provisioning']¶
-
remove_hlu_from_storagegroup
(hlu, sg_name, poll=False)¶
-
remove_luns_from_consistencygroup
(cg_name, remove_ids, poll=False)¶ Removes LUN(s) from cg
-
rename_lun
(lun_id, new_name, poll=False)¶
-
replace_luns_in_consistencygroup
(cg_name, new_ids, poll=False)¶ Replaces LUN(s) with new_ids for cg
-
tiering_spec
= 'storagetype:tiering'¶
-
verify_lun_migration
(src_id)¶
-
wait_until_lun_ready_for_ops
(name)¶
-
-
class
CopySnapshotTask
(name=None, provides=None, requires=None, auto_extract=True, rebind=None, inject=None)¶ Bases:
taskflow.task.Task
Task to copy a volume snapshot/consistency group snapshot.
Reversion Strategy: Delete the copied snapshot/cgsnapshot
-
execute
(client, src_snap_name, new_snap_name, *args, **kwargs)¶
-
revert
(result, client, src_snap_name, new_snap_name, *args, **kwargs)¶
-
-
class
CreateConsistencyGroupTask
(lun_id_key_template, num_of_members)¶ Bases:
taskflow.task.Task
Task to create a consistency group.
-
execute
(client, group, *args, **kwargs)¶
-
-
class
CreateDestLunTask
(name=None, provides='lun_data', inject=None)¶ Bases:
taskflow.task.Task
Creates a destination lun for migration.
Reversion strategy: Delete the temp destination lun.
-
execute
(client, pool_name, dest_vol_name, volume_size, provisioning, tiering, ignore_pool_full_threshold, *args, **kwargs)¶
-
revert
(result, client, dest_vol_name, *args, **kwargs)¶
-
-
class
CreateSMPTask
(name=None, inject=None)¶ Bases:
taskflow.task.Task
Creates a snap mount point (SMP) for the source snapshot.
Reversion strategy: Delete the SMP.
-
execute
(client, volume, base_lun_name, *args, **kwargs)¶
-
revert
(result, client, volume, *args, **kwargs)¶
-
-
class
CreateSnapshotTask
(name=None, provides=None, requires=None, auto_extract=True, rebind=None, inject=None)¶ Bases:
taskflow.task.Task
Creates a snapshot/cgsnapshot of a volume.
Reversion Strategy: Delete the created snapshot/cgsnapshot.
-
execute
(client, snapshot, source_lun_id, *args, **kwargs)¶
-
revert
(result, client, snapshot, *args, **kwargs)¶
-
-
class
Dict
¶ Bases:
dict
-
class
EMCVnxCliBase
(prtcl, configuration=None, active_backend_id=None)¶ Bases:
object
This class defines the functions to use the native CLI functionality.
-
REPLICATION_KEYS
= ['san_ip', 'san_login', 'san_password', 'san_secondary_ip', 'storage_vnx_authentication_type', 'storage_vnx_security_file_dir']¶
-
VERSION
= '07.00.00'¶
-
assure_host_access
(volume, connector)¶
-
assure_host_in_storage_group
(hostname, storage_group)¶
-
assure_storage_group
(storage_group)¶
-
auto_register_initiator
(connector, sgdata, io_ports_filter=None)¶ Automatically register available initiators.
Returns: True if has registered initiator otherwise return False
-
auto_register_initiator_to_all
(connector, sgdata)¶ Automatically registers available initiators.
Returns True if has registered initiator otherwise returns False.
-
auto_register_with_io_port_filter
(connector, sgdata, io_port_filter)¶ Automatically register specific IO ports to storage group.
-
cleanup_lun_replication
(volume)¶
-
create_cgsnapshot
(context, cgsnapshot, snapshots)¶ Creates a cgsnapshot (snap group).
-
create_cloned_volume
(volume, src_vref)¶ Creates a clone of the specified volume.
-
create_consistencygroup
(context, group)¶ Creates a consistency group.
-
create_consistencygroup_from_src
(context, group, volumes, cgsnapshot=None, snapshots=None, source_cg=None, source_vols=None)¶ Creates a consistency group from cgsnapshot.
-
create_export_snapshot
(context, snapshot, connector)¶ Creates mount point for a 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.
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 cgsnapshot (snap group).
-
delete_consistencygroup
(context, group, volumes)¶ Deletes a consistency group.
-
delete_snapshot
(snapshot)¶ Deletes a snapshot.
-
delete_volume
(volume, force_delete=False)¶ Deletes an EMC volume.
-
determine_all_enablers_exist
(enablers)¶ Determine all wanted enablers whether exist.
-
determine_changes_when_retype
(volume, new_type, host)¶
-
dumps_provider_location
(pl_dict)¶
-
enablers
= []¶
-
extend_volume
(volume, new_size)¶ Extends an EMC volume.
-
static
extract_provider_location
(provider_location, key='id')¶ Extracts value of the specified field from provider_location string.
Parameters: - provider_location – provider_location string
- key – field name of the value that to be extracted
Returns: value of the specified field if it exists, otherwise, None is returned
-
failover_host
(context, volumes, secondary_backend_id)¶ Fails over the volume back and forth.
Driver needs to update following info for this volume: 2. provider_location: update serial number and lun id
-
filter_available_hlu_set
(used_hlus)¶
-
get_array_serial
()¶
-
get_initiator_target_map
(fc_initiators, fc_targets)¶
-
get_login_ports
(connector, io_ports=None)¶
-
get_lun_id
(volume)¶
-
get_lun_map
(storage_group)¶
-
get_lun_owner
(volume)¶ Returns SP owner of the volume.
-
get_pool
(volume)¶ Returns the pool name of a volume.
-
get_status_up_ports
(connector, io_ports=None)¶
-
get_target_storagepool
(volume, source_volume=None)¶
-
get_volumetype_extraspecs
(volume)¶
-
initialize_connection
(volume, connector)¶ Initializes the connection and returns connection info.
-
initialize_connection_snapshot
(snapshot, connector, **kwargs)¶ Initializes connection for mount point.
-
manage_existing
(volume, manage_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>}
-
manage_existing_get_size
(volume, existing_ref)¶ Returns size of volume to be managed by manage_existing.
-
migrate_volume
(ctxt, volume, host, new_type=None)¶ Leverage the VNX on-array migration functionality.
This method is invoked at the source backend.
-
remove_export_snapshot
(context, snapshot)¶ Removes mount point for a snapshot.
-
retype
(ctxt, volume, new_type, diff, host)¶
-
setup_lun_replication
(volume, primary_lun_id, provisioning, tiering)¶ Setup replication for LUN, this only happens in primary system.
-
snap_as_vol_prefix
= 'snap-as-vol-'¶
-
stats
= {'driver_version': '07.00.00', 'thin_provisioning_support': False, 'deduplication_support': 'False', 'fast_support': 'False', 'thick_provisioning_support': True, 'vendor_name': 'EMC', 'volume_backend_name': None, 'compression_support': 'False', 'storage_protocol': None}¶
-
terminate_connection
(volume, connector)¶ Disallow connection from connector.
-
terminate_connection_snapshot
(snapshot, connector, **kwargs)¶ Disallows connection for mount point.
-
tmp_smp_for_backup_prefix
= 'tmp-smp-'¶
-
tmp_snap_prefix
= 'tmp-snap-'¶
-
unmanage
(volume)¶ Unmanages a volume
-
update_consistencygroup
(context, group, add_volumes, remove_volumes)¶ Adds or removes LUN(s) to/from an existing consistency group
-
update_enabler_in_volume_stats
()¶ Updates the enabler information in stats.
-
update_migrated_volume
(context, volume, new_volume, original_volume_status)¶ Updates metadata after host-assisted migration.
-
update_volume_stats
()¶ Retrieves stats info.
-
vnx_get_fc_properties
(connector, device_number)¶
-
vnx_get_iscsi_properties
(volume, connector, hlu, sg_raw_output)¶
-
-
class
MigrateLunTask
(name=None, provides='new_lun_id', inject=None, rebind=None, wait_for_completion=True)¶ Bases:
taskflow.task.Task
Starts a migration between the SMP and the temp lun.
Reversion strategy: None
-
execute
(client, new_smp_id, lun_data, rate='high', *args, **kwargs)¶
-
revert
(*args, **kwargs)¶
-
-
class
MirrorAddImageTask
(mirror_name)¶ Bases:
taskflow.task.Task
Add the secondary image to MirrorView.
Reversion strategy: Remove the secondary image.
-
execute
(mirror, sec_lun_id, *args, **kwargs)¶
-
revert
(result, mirror, *args, **kwargs)¶
-
-
class
MirrorCreateTask
(mirror_name, primary_lun_id, **kwargs)¶ Bases:
taskflow.task.Task
Creates a MirrorView with primary lun for replication.
Reversion strategy: Destroy the created MirrorView.
-
execute
(mirror, *args, **kwargs)¶
-
revert
(result, mirror, *args, **kwargs)¶
-
-
class
MirrorSecLunCreateTask
(pool_name, lun_name, lun_size, provisioning, tiering)¶ Bases:
taskflow.task.Task
Creates a secondary LUN on secondary system.
Reversion strategy: Delete secondary LUN.
-
execute
(mirror, *args, **kwargs)¶
-
revert
(result, mirror, *args, **kwargs)¶
-
-
class
MirrorView
(client, secondary_client, mode='sync')¶ Bases:
object
MirrorView synchronous/asynchronous operations.
This class is to support operations for volume replication. Each operation should ensure commands are sent to correct targeting device.
NOTE: currently, only synchronous is supported.
-
CONSISTENT_STATE
= 'Consistent'¶
-
SYNCHRONIZED_STATE
= 'Synchronized'¶
-
SYNCHRONIZE_MODE
= ['sync']¶
-
add_image
(name, secondary_lun_id, poll=False)¶ Adds secondary image to mirror.
-
create_mirror
(name, primary_lun_id, poll=False)¶
-
create_mirror_workflow
(mirror_name, lun_id, pool_name, lun_name, lun_size, provisioning, tiering)¶ Creates mirror view for LUN.
-
create_secondary_lun
(pool_name, lun_name, lun_size, provisioning, tiering, poll=False)¶ Creates secondary LUN in remote device.
-
delete_secondary_lun
(lun_name)¶ Deletes secondary LUN in remote device.
-
destroy_mirror
(name, poll=False)¶
-
destroy_mirror_view
(mirror_name, lun_name, mv=None)¶
-
fracture_image
(name, mirror_view=None, poll=False)¶ Stops the synchronization between LUNs.
-
get_image
(name, use_secondary=False, poll=False)¶ Returns mirror view properties.
Parameters: - name – mirror view name
- use_secondary – get image info from secodnary or not
Returns: dict of mirror view properties as below: {
‘MirrorView Name’: ‘mirror name’, ‘MirrorView Description’: ‘some desciption here’, ..., ‘images’: [
- {
‘Image UID’: ‘50:06:01:60:88:60:08:0F’, ‘Is Image Primary’: ‘YES’, ... ‘Preferred SP’: ‘A’
}, {
‘Image UID’: ‘50:06:01:60:88:60:03:BA’, ‘Is Image Primary’: ‘NO’, ..., ‘Synchronizing Progress(%)’: 100
}
]
}
-
promote_image
(name, mirror_view=None, poll=False)¶ Promotes the secondary image on secondary system.
- NOTE: Only when “Image State” in ‘Consistent’ or ‘Synchnonized’
- can be promoted.
-
remove_image
(name, mirror_view=None, poll=False)¶ Removes secondary image(s) from mirror.
-
sync_image
(name, mirror_view=None, poll=False)¶ Synchronizes the secondary image and wait for completion.
-
-
class
VNXCliParser
¶ Bases:
cinder.volume.drivers.emc.emc_vnx_cli._Enum
-
classmethod
get_all_property_descriptor
()¶
-
classmethod
get_property_options
()¶
-
classmethod
parse
(output, properties=None)¶
-
classmethod
-
class
VNXError
¶ Bases:
cinder.volume.drivers.emc.emc_vnx_cli._Enum
-
CG_EXISTED
= 1903001633¶
-
CG_IS_DELETING
= 1898809345¶
-
CG_SNAP_NAME_EXISTED
= 1903001605¶
-
GENERAL_NOT_FOUND
= 'cannot find|may not exist|does not exist'¶
-
LUN_ALREADY_EXPANDED
= 1898810884¶
-
LUN_EXISTED
= 1898810628¶
-
LUN_IN_SG
= 'contained in a Storage Group|LUN mapping still exists'¶
-
LUN_IS_NOT_SMP
= 'it is not a snapshot mount point'¶
-
LUN_IS_PREPARING
= 1898810894¶
-
LUN_NOT_MIGRATING
= 'The specified source LUN is not currently migrating'¶
-
MIRROR_IN_USE
= 'Mirror name already in use'¶
-
MIRROR_NOT_FOUND
= 'Mirror not found'¶
-
SG_NAME_IN_USE
= 'Storage Group name already in use'¶
-
SNAP_ALREADY_MOUNTED
= 1903001685¶
-
SNAP_NAME_EXISTED
= 1903001605¶
-
SNAP_NAME_IN_USE
= 1903001603¶
-
SNAP_NOT_ATTACHED
= 'The specified Snapshot mount point is not currently attached.'¶
-
classmethod
has_error
(output, *error_codes)¶
-
-
class
VNXLun
¶ Bases:
object
-
DEFAULT_PROVISION
= 'thick'¶
-
DEFAULT_TIER
= 'starthighthenauto'¶
-
capacity
¶
-
static
get_lun_by_id
(client, lun_id)¶
-
lun_id
¶
-
pool_name
¶
-
provision
¶
-
tier
¶
-
update
(data)¶
-
-
class
VNXLunProperties
¶ Bases:
cinder.volume.drivers.emc.emc_vnx_cli.VNXCliParser
-
LUN_ATTACHEDSNAP
= <cinder.volume.drivers.emc.emc_vnx_cli.PropertyDescriptor object>¶
-
LUN_CAPACITY
= <cinder.volume.drivers.emc.emc_vnx_cli.PropertyDescriptor object>¶
-
LUN_DEDUP_STATE
= <cinder.volume.drivers.emc.emc_vnx_cli.PropertyDescriptor object>¶
-
LUN_ID
= <cinder.volume.drivers.emc.emc_vnx_cli.PropertyDescriptor object>¶
-
LUN_INITIAL_TIER
= <cinder.volume.drivers.emc.emc_vnx_cli.PropertyDescriptor object>¶
-
LUN_IS_COMPRESSED
= <cinder.volume.drivers.emc.emc_vnx_cli.PropertyDescriptor object>¶
-
LUN_IS_THIN_LUN
= <cinder.volume.drivers.emc.emc_vnx_cli.PropertyDescriptor object>¶
-
LUN_NAME
= <cinder.volume.drivers.emc.emc_vnx_cli.PropertyDescriptor object>¶
-
LUN_OPERATION
= <cinder.volume.drivers.emc.emc_vnx_cli.PropertyDescriptor object>¶
-
LUN_OWNER
= <cinder.volume.drivers.emc.emc_vnx_cli.PropertyDescriptor object>¶
-
LUN_POOL
= <cinder.volume.drivers.emc.emc_vnx_cli.PropertyDescriptor object>¶
-
LUN_STATE
= <cinder.volume.drivers.emc.emc_vnx_cli.PropertyDescriptor object>¶
-
LUN_STATUS
= <cinder.volume.drivers.emc.emc_vnx_cli.PropertyDescriptor object>¶
-
LUN_TIERING_POLICY
= <cinder.volume.drivers.emc.emc_vnx_cli.PropertyDescriptor object>¶
-
lun_all
= [<cinder.volume.drivers.emc.emc_vnx_cli.PropertyDescriptor object at 0x7f4f8dee1150>, <cinder.volume.drivers.emc.emc_vnx_cli.PropertyDescriptor object at 0x7f4f8dee1190>, <cinder.volume.drivers.emc.emc_vnx_cli.PropertyDescriptor object at 0x7f4f8dee11d0>, <cinder.volume.drivers.emc.emc_vnx_cli.PropertyDescriptor object at 0x7f4f8dee1210>, <cinder.volume.drivers.emc.emc_vnx_cli.PropertyDescriptor object at 0x7f4f8dee1250>, <cinder.volume.drivers.emc.emc_vnx_cli.PropertyDescriptor object at 0x7f4f8dee1290>]¶
-
lun_with_pool
= [<cinder.volume.drivers.emc.emc_vnx_cli.PropertyDescriptor object at 0x7f4f8dee1150>, <cinder.volume.drivers.emc.emc_vnx_cli.PropertyDescriptor object at 0x7f4f8dee1210>, <cinder.volume.drivers.emc.emc_vnx_cli.PropertyDescriptor object at 0x7f4f8dee1250>, <cinder.volume.drivers.emc.emc_vnx_cli.PropertyDescriptor object at 0x7f4f8dee1290>, <cinder.volume.drivers.emc.emc_vnx_cli.PropertyDescriptor object at 0x7f4f8dee1350>]¶
-
-
class
VNXMigrationRate
¶ Bases:
cinder.volume.drivers.emc.emc_vnx_cli._Enum
-
ASAP
= 'asap'¶
-
HIGH
= 'high'¶
-
LOW
= 'low'¶
-
MEDIUM
= 'medium'¶
-
-
class
VNXPoolFeatureProperties
¶ Bases:
cinder.volume.drivers.emc.emc_vnx_cli.VNXCliParser
-
MAX_POOL_LUNS
= <cinder.volume.drivers.emc.emc_vnx_cli.PropertyDescriptor object>¶
-
TOTAL_POOL_LUNS
= <cinder.volume.drivers.emc.emc_vnx_cli.PropertyDescriptor object>¶
-
default
= [<cinder.volume.drivers.emc.emc_vnx_cli.PropertyDescriptor object at 0x7f4f8dee16d0>, <cinder.volume.drivers.emc.emc_vnx_cli.PropertyDescriptor object at 0x7f4f8dee1710>]¶
-
-
class
VNXPoolProperties
¶ Bases:
cinder.volume.drivers.emc.emc_vnx_cli.VNXCliParser
-
POOL_FAST_CACHE
= <cinder.volume.drivers.emc.emc_vnx_cli.PropertyDescriptor object>¶
-
POOL_FREE_CAPACITY
= <cinder.volume.drivers.emc.emc_vnx_cli.PropertyDescriptor object>¶
-
POOL_FULL_THRESHOLD
= <cinder.volume.drivers.emc.emc_vnx_cli.PropertyDescriptor object>¶
-
POOL_ID
= <cinder.volume.drivers.emc.emc_vnx_cli.PropertyDescriptor object>¶
-
POOL_NAME
= <cinder.volume.drivers.emc.emc_vnx_cli.PropertyDescriptor object>¶
-
POOL_STATE
= <cinder.volume.drivers.emc.emc_vnx_cli.PropertyDescriptor object>¶
-
POOL_SUBSCRIBED_CAPACITY
= <cinder.volume.drivers.emc.emc_vnx_cli.PropertyDescriptor object>¶
-
POOL_TOTAL_CAPACITY
= <cinder.volume.drivers.emc.emc_vnx_cli.PropertyDescriptor object>¶
-
pool_all
= [<cinder.volume.drivers.emc.emc_vnx_cli.PropertyDescriptor object at 0x7f4f8dee1550>, <cinder.volume.drivers.emc.emc_vnx_cli.PropertyDescriptor object at 0x7f4f8dee1590>, <cinder.volume.drivers.emc.emc_vnx_cli.PropertyDescriptor object at 0x7f4f8dee1510>, <cinder.volume.drivers.emc.emc_vnx_cli.PropertyDescriptor object at 0x7f4f8dee1690>]¶
-
-
class
VNXProvisionEnum
¶ Bases:
cinder.volume.drivers.emc.emc_vnx_cli._Enum
-
COMPRESSED
= 'compressed'¶
-
DEDUPED
= 'deduplicated'¶
-
THICK
= 'thick'¶
-
THIN
= 'thin'¶
-
-
class
VNXTieringEnum
¶ Bases:
cinder.volume.drivers.emc.emc_vnx_cli._Enum
-
AUTO
= 'auto'¶
-
HIGH
= 'highestavailable'¶
-
HIGH_AUTO
= 'starthighthenauto'¶
-
LOW
= 'lowestavailable'¶
-
NONE
= 'none'¶
-
NO_MOVE
= 'nomovement'¶
-
classmethod
get_tier
(initial, policy)¶
-
static
match_option
(output, option)¶
-
-
class
WaitMigrationsCompleteTask
(lun_id_key_template, num_of_members)¶ Bases:
taskflow.task.Task
Task to wait migrations to be completed.
-
execute
(client, *args, **kwargs)¶
-
-
decorate_all_methods
(method_decorator)¶ Applies decorator on the methods of a class.
This is a class decorator, which will apply method decorator referred by method_decorator to all the public methods (without underscore as the prefix) in a class.
-
getEMCVnxCli
(prtcl, configuration=None, active_backend_id=None)¶
-
log_enter_exit
(func)¶