cinder.volume.drivers.dell_emc.vmax.rest
Modulecinder.volume.drivers.dell_emc.vmax.rest
Module¶VMAXRest
¶Bases: object
Rest class based on Unisphere for VMAX Rest API.
add_child_sg_to_parent_sg
(array, child_sg, parent_sg, extra_specs)¶Add a storage group to a parent storage group.
This method adds an existing storage group to another storage group, i.e. cascaded storage groups. :param array: the array serial number :param child_sg: the name of the child sg :param parent_sg: the name of the parent sg :param extra_specs: the extra specifications
add_empty_child_sg_to_parent_sg
(array, child_sg, parent_sg, extra_specs)¶Add an empty storage group to a parent storage group.
This method adds an existing storage group to another storage group, i.e. cascaded storage groups. :param array: the array serial number :param child_sg: the name of the child sg :param parent_sg: the name of the parent sg :param extra_specs: the extra specifications
add_vol_to_sg
(array, storagegroup_name, device_id, extra_specs)¶Add a volume to a storage group.
Parameters: |
|
---|
are_vols_rdf_paired
(array, remote_array, device_id, target_device, rdf_group)¶Check if a pair of volumes are RDF paired.
Parameters: |
|
---|---|
Returns: | paired – bool, state – string |
check_status_code_success
(operation, status_code, message)¶Check if a status code indicates success.
Parameters: |
|
---|---|
Raises: | VolumeBackendAPIException |
check_volume_device_id
(array, device_id, element_name)¶Check if the identifiers match for a given volume.
Parameters: |
|
---|---|
Returns: | found_device_id |
create_initiator_group
(array, init_group_name, init_list, extra_specs)¶Create a new initiator group containing the given initiators.
Parameters: |
|
---|
create_masking_view
(array, maskingview_name, storagegroup_name, port_group_name, init_group_name, extra_specs)¶Create a new masking view.
Parameters: |
|
---|
create_rdf_device_pair
(array, device_id, rdf_group_no, target_device, remote_array, target_vol_name, extra_specs)¶Create an RDF pairing.
Create a remote replication relationship between source and target devices. :param array: the array serial number :param device_id: the device id :param rdf_group_no: the rdf group number :param target_device: the target device id :param remote_array: the remote array serial :param target_vol_name: the name of the target volume :param extra_specs: the extra specs :returns: rdf_dict
create_resource
(array, category, resource_type, payload, private=”)¶Create a provisioning resource.
Parameters: |
|
---|---|
Returns: | status_code – int, message – string, server response |
create_storage_group
(array, storagegroup_name, srp, slo, workload, extra_specs, do_disable_compression=False)¶Create the volume in the specified storage group.
Parameters: |
|
---|---|
Returns: | storagegroup_name - string |
create_storagegroup_snap
(array, source_group, snap_name, extra_specs)¶Create a snapVx snapshot of a storage group.
Parameters: |
|
---|
create_volume_from_sg
(array, volume_name, storagegroup_name, volume_size, extra_specs)¶Create a new volume in the given storage group.
Parameters: |
|
---|---|
Returns: | dict – volume_dict - the volume dict |
Raises: | VolumeBackendAPIException |
create_volume_snap
(array, snap_name, device_id, extra_specs)¶Create a snapVx snapshot of a volume.
Parameters: |
|
---|
delete_initiator_group
(array, initiatorgroup_name)¶Delete an initiator group.
Parameters: |
|
---|
delete_masking_view
(array, maskingview_name)¶Delete a masking view.
Parameters: |
|
---|
delete_rdf_pair
(array, device_id, rdf_group)¶Delete an rdf pair.
Parameters: |
|
---|
delete_resource
(array, category, resource_type, resource_name, payload=None, private=”, params=None)¶Delete a provisioning resource.
Parameters: |
|
---|
delete_storage_group
(array, storagegroup_name)¶Delete a storage group.
Parameters: |
|
---|
delete_storagegroup_snap
(array, snap_name, source_sg_id)¶Delete the snapshot of a storagegroup.
Parameters: |
|
---|
delete_volume
(array, device_id)¶Deallocate or delete a volume.
Parameters: |
|
---|
delete_volume_snap
(array, snap_name, source_device_id)¶Delete the snapshot of a volume.
Parameters: |
|
---|
extend_volume
(array, device_id, new_size, extra_specs)¶Extend a VMAX volume.
Parameters: |
|
---|
find_mv_connections_for_vol
(array, maskingview, device_id)¶Find the host_lun_id for a volume in a masking view.
Parameters: |
|
---|---|
Returns: | host_lun_id – int |
find_snap_vx_sessions
(array, device_id, tgt_only=False)¶Find all snapVX sessions for a device (source and target).
Parameters: |
|
---|---|
Returns: | list of snapshot dicts |
find_volume_device_id
(array, volume_name)¶Given a volume identifier, find the corresponding device_id.
Parameters: |
|
---|---|
Returns: | device_id |
find_volume_identifier
(array, device_id)¶Get the volume identifier of a VMAX volume.
Parameters: |
|
---|---|
Returns: | the volume identifier – string |
get_array_serial
(array)¶Get an array from its serial number.
Parameters: | array – the array serial number |
---|---|
Returns: | array_details – dict or None |
get_common_masking_views
(array, portgroup_name, ig_name)¶Get common masking views for a given portgroup and initiator group.
Parameters: |
|
---|---|
Returns: | masking view list |
get_element_from_masking_view
(array, maskingview_name, portgroup=False, host=False, storagegroup=False)¶Return the name of the specified element from a masking view.
Parameters: |
|
---|---|
Returns: | name of the specified element – string |
Raises: | VolumeBackendAPIException |
get_initiator
(array, initiator_id)¶Retrieve initaitor details from the array.
Parameters: |
|
---|---|
Returns: | initiator dict, or None |
get_initiator_group
(array, initiator_group=None, params=None)¶Retrieve initiator group details from the array.
Parameters: |
|
---|---|
Returns: | initiator group dict, or None |
get_initiator_group_from_initiator
(array, initiator)¶Given an initiator, get its corresponding initiator group, if any.
Parameters: |
|
---|---|
Returns: | found_init_group_name – string |
get_initiator_list
(array, params=None)¶Retrieve initaitor list from the array.
Parameters: |
|
---|---|
Returns: | list of initiators |
get_iscsi_ip_address_and_iqn
(array, port_id)¶Get the IPv4Address from the director port.
Parameters: |
|
---|---|
Returns: | (list of ip_addresses, iqn) |
get_masking_view
(array, masking_view_name)¶Get details of a masking view.
Parameters: |
|
---|---|
Returns: | masking view dict |
get_masking_view_list
(array, params)¶Get a list of masking views from the array.
Parameters: |
|
---|---|
Returns: | masking view list |
get_masking_views_by_initiator_group
(array, initiatorgroup_name)¶Given initiator group, retrieve the masking view instance name.
Retrieve the list of masking view instances associated with the given initiator group. :param array: the array serial number :param initiatorgroup_name: the name of the initiator group :returns: list of masking view names
get_masking_views_from_storage_group
(array, storagegroup)¶Return any masking views associated with a storage group.
Parameters: |
|
---|---|
Returns: | masking view list |
get_num_vols_in_sg
(array, storage_group_name)¶Get the number of volumes in a storage group.
Parameters: |
|
---|---|
Returns: | num_vols – int |
get_port
(array, port_id)¶Get director port details.
Parameters: |
|
---|---|
Returns: | port dict, or None |
get_port_ids
(array, portgroup)¶Get a list of port identifiers from a port group.
Parameters: |
|
---|---|
Returns: | list of port ids, e.g. [‘FA-3D:35’, ‘FA-4D:32’] |
get_portgroup
(array, portgroup)¶Get a portgroup from the array.
Parameters: |
|
---|---|
Returns: | portgroup dict or None |
get_rdf_group
(array, rdf_number)¶Get specific rdf group details.
Parameters: |
|
---|
get_rdf_group_list
(array)¶Get rdf group list from array.
Parameters: | array – the array serial number |
---|
get_rdf_group_number
(array, rdf_group_label)¶Given an rdf_group_label, return the associated group number.
Parameters: |
|
---|---|
Returns: | rdf_group_number |
get_rdf_group_volume
(array, rdf_number, device_id)¶Get specific volume details, from an RDF group.
Parameters: |
|
---|
get_replication_capabilities
(array)¶Check what replication features are licensed and enabled.
Example return value for this method:
{"symmetrixId": "000197800128",
"snapVxCapable": true,
"rdfCapable": true}
Param: | array |
---|---|
Returns: | capabilities dict for the given array |
get_resource
(array, category, resource_type, resource_name=None, params=None, private=”)¶Get resource details from array.
Parameters: |
|
---|---|
Returns: | resource object – dict or None |
get_size_of_device_on_array
(array, device_id)¶Get the size of the volume from the array.
Parameters: |
|
---|---|
Returns: | size – or None |
get_slo_list
(array)¶Retrieve the list of slo’s from the array
Parameters: | array – the array serial number |
---|---|
Returns: | slo_list – list of service level names |
get_snap_linked_device_list
(array, source_device_id, snap_name)¶Get the list of linked devices for a particular snapVx snapshot.
Parameters: |
|
---|---|
Returns: | linked_device_list |
get_srp_by_name
(array, srp=None)¶Returns the details of a storage pool.
Parameters: |
|
---|---|
Returns: | SRP_details – dict or None |
get_storage_group
(array, storage_group_name)¶Given a name, return storage group details.
Parameters: |
|
---|---|
Returns: | storage group dict or None |
get_storage_group_list
(array, params=None)¶“Return a list of storage groups.
Parameters: |
|
---|---|
Returns: | storage group list |
get_storage_group_rep
(array, storage_group_name)¶Given a name, return storage group details wrt replication.
Parameters: |
|
---|---|
Returns: | storage group dict or None |
get_storage_groups_from_volume
(array, device_id)¶Returns all the storage groups for a particular volume.
Parameters: |
|
---|---|
Returns: | storagegroup_list |
get_sync_session
(array, source_device_id, snap_name, target_device_id)¶Get a particular sync session.
Parameters: |
|
---|---|
Returns: | sync session – dict, or None |
get_target_wwns
(array, portgroup)¶Get the director ports’ wwns.
Parameters: |
|
---|---|
Returns: | target_wwns – the list of target wwns for the masking view |
get_vmax_default_storage_group
(array, srp, slo, workload, do_disable_compression=False, is_re=False)¶Get the default storage group.
Parameters: |
|
---|---|
Returns: | the storage group dict (or None), the storage group name |
get_volume
(array, device_id)¶Get a VMAX volume from array.
Parameters: |
|
---|---|
Returns: | volume dict |
Raises: | VolumeBackendAPIException |
get_volume_list
(array, params)¶Get a filtered list of VMAX volumes from array.
Filter parameters are required as the unfiltered volume list could be very large and could affect performance if called often. :param array: the array serial number :param params: filter parameters :returns: device_ids – list
get_volume_snap
(array, device_id, snap_name)¶Given a volume snap info, retrieve the snapVx object.
Parameters: |
|
---|---|
Returns: | snapshot dict, or None |
get_volume_snap_info
(array, source_device_id)¶Get snapVx information associated with a volume.
Parameters: |
|
---|---|
Returns: | message – dict, or None |
get_volume_snapshot_list
(array, source_device_id)¶Get a list of snapshot details for a particular volume.
Parameters: |
|
---|---|
Returns: | snapshot list or None |
get_volumes_in_storage_group
(array, storagegroup_name)¶Given a volume identifier, find the corresponding device_id.
Parameters: |
|
---|---|
Returns: | volume_list |
get_workload_settings
(array)¶Get valid workload options from array.
Parameters: | array – the array serial number |
---|---|
Returns: | workload_setting – list of workload names |
is_child_sg_in_parent_sg
(array, child_name, parent_name)¶Check if a child storage group is a member of a parent group.
Parameters: |
|
---|---|
Returns: | bool |
is_compression_capable
(array)¶Check if array is compression capable.
Parameters: | array – array serial number |
---|---|
Returns: | bool |
is_snapvx_licensed
(array)¶Check if the snapVx feature is licensed and enabled.
Parameters: | array – the array serial number |
---|---|
Returns: | True if licensed and enabled; False otherwise. |
is_sync_complete
(array, source_device_id, target_device_id, snap_name, extra_specs)¶Check if a sync session is complete.
Parameters: |
|
---|---|
Returns: | bool |
is_vol_in_rep_session
(array, device_id)¶Check if a volume is in a replication session.
Parameters: |
|
---|---|
Returns: | snapvx_tgt – bool, snapvx_src – bool, rdf_grp – list or None |
is_volume_in_storagegroup
(array, device_id, storagegroup)¶See if a volume is a member of the given storage group.
Parameters: |
|
---|---|
Returns: | bool |
modify_rdf_device_pair
(array, device_id, rdf_group, extra_specs, split=False)¶Modify an rdf device pair.
Parameters: |
|
---|
modify_resource
(array, category, resource_type, payload, version=‘84’, resource_name=None, private=”)¶Modify a resource.
Parameters: |
|
---|---|
Returns: | status_code – int, message – string (server response) |
modify_storage_group
(array, storagegroup, payload, version=‘84’)¶Modify a storage group (PUT operation).
Parameters: |
|
---|---|
Returns: | status_code – int, message – string, server response |
modify_storagegroup_snap
(array, source_sg_id, target_sg_id, snap_name, extra_specs, link=False, unlink=False)¶Link or unlink a snapVx to or from a target storagegroup.
Parameters: |
|
---|
modify_volume_snap
(array, source_id, target_id, snap_name, extra_specs, link=False, unlink=False)¶Link or unlink a snapVx to or from a target volume.
Parameters: |
|
---|
move_volume_between_storage_groups
(array, device_id, source_storagegroup_name, target_storagegroup_name, extra_specs, force=False)¶Move a volume to a different storage group.
Parameters: |
|
---|
remove_child_sg_from_parent_sg
(array, child_sg, parent_sg, extra_specs)¶Remove a storage group from its parent storage group.
This method removes a child storage group from its parent group. :param array: the array serial number :param child_sg: the name of the child sg :param parent_sg: the name of the parent sg :param extra_specs: the extra specifications
remove_vol_from_sg
(*args, **kwargs)¶Remove a volume from a storage group.
Parameters: |
|
---|
rename_volume
(array, device_id, new_name)¶Rename a volume.
Parameters: |
|
---|
request
(target_uri, method, params=None, request_object=None)¶Sends a request (GET, POST, PUT, DELETE) to the target api.
Parameters: |
|
---|---|
Returns: | server response object (dict) |
Raises: | VolumeBackendAPIException |
set_rest_credentials
(array_info)¶Given the array record set the rest server credentials.
Parameters: | array_info – record |
---|
update_storagegroup_qos
(array, storage_group_name, extra_specs)¶Update the storagegroupinstance with qos details.
If maxIOPS or maxMBPS is in extra_specs, then DistributionType can be modified in addition to maxIOPS or/and maxMBPS If maxIOPS or maxMBPS is NOT in extra_specs, we check to see if either is set in StorageGroup. If so, then DistributionType can be modified :param array: the array serial number :param storage_group_name: the storagegroup instance name :param extra_specs: extra specifications :returns: bool, True if updated, else False
validate_qos_distribution_type
(sg_value, qos_extra_spec, property_dict)¶validate_qos_input
(input_key, sg_value, qos_extra_spec, property_dict)¶wait_for_job
(operation, status_code, job, extra_specs)¶Check if call is async, wait for it to complete.
Parameters: |
|
---|---|
Returns: | task – list of dicts detailing tasks in the job |
Raises: | VolumeBackendAPIException |
wait_for_job_complete
(job, extra_specs)¶Given the job wait for it to complete.
Parameters: |
|
---|---|
Returns: | rc – int, result – string, status – string, task – list of dicts detailing tasks in the job |
Raises: | VolumeBackendAPIException |
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.