The cinder.volume.drivers.coprhd.helpers.volume Module¶
-
class
Volume(ipaddr, port)¶ Bases:
cinder.volume.drivers.coprhd.helpers.commoncoprhdapi.CoprHDResource-
BLOCK= ‘block’¶
-
CG= ‘consistency-groups’¶
-
SNAPSHOTS= ‘snapshots’¶
-
URI_BULK_DELETE= ‘/block/volumes/deactivate’¶
-
URI_CG_CLONE= ‘/block/consistency-groups/{0}/protection/full-copies’¶
-
URI_CG_CLONE_DETACH= ‘/block/consistency-groups/{0}/protection/full-copies/{1}/detach’¶
-
URI_DEACTIVATE= ‘/block/volumes/{0}/deactivate’¶
-
URI_EXPAND= ‘/block/volumes/{0}/expand’¶
-
URI_SEARCH_VOLUMES= ‘/block/volumes/search?project={0}’¶
-
URI_SEARCH_VOLUMES_BY_TAG= ‘/block/volumes/search?tag={0}’¶
-
URI_SNAPSHOT_PROTECTION_FULLCOPIES= ‘/block/snapshots/{0}/protection/full-copies’¶
-
URI_TAG_VOLUME= ‘/block/volumes/{0}/tags’¶
-
URI_VOLUME= ‘/block/volumes/{0}’¶
-
URI_VOLUMES= ‘/block/volumes’¶
-
URI_VOLUME_CHANGE_VPOOL= ‘/block/volumes/vpool-change’¶
-
URI_VOLUME_CLONE_DETACH= ‘/block/full-copies/{0}/detach’¶
-
URI_VOLUME_EXPORTS= ‘/block/volumes/{0}/exports’¶
-
URI_VOLUME_PROTECTION_FULLCOPIES= ‘/block/volumes/{0}/protection/full-copies’¶
-
VOLUMES= ‘volumes’¶
-
check_for_sync(result, sync, synctimeout=0)¶
-
clone(new_vol_name, resource_uri, sync, synctimeout=0)¶ Makes REST API call to clone volume.
Parameters: - new_vol_name – name of volume
- resource_uri – uri of source volume
:param sync : synchronous request :param synctimeout : Query for task status for “synctimeout” secs.
If the task doesn’t complete in synctimeout secs, an exception is thrownReturns: Created task details in JSON response payload
-
create(project_name, label, size, varray, vpool, sync, consistencygroup, synctimeout=0)¶ Makes REST API call to create volume under a project.
- :param project_name : name of the project under which the volume
- will be created
:param label : name of volume :param size : size of volume :param varray : name of varray :param vpool : name of vpool :param sync : synchronous request :param consistencygroup : To create volume under a consistencygroup :param synctimeout : Query for task status for “synctimeout” secs.
If the task doesn’t complete in synctimeout secs, an exception is thrownReturns: Created task details in JSON response payload
-
delete(full_project_name, name, sync=False, force_delete=False, coprhdonly=False, synctimeout=0)¶ Deletes a volume based on volume name.
Parameters: full_project_name – project name :param name : name of volume to be deleted :param sync : synchronous request :param force_delete: if true, it will force the delete of internal
volumes that have the SUPPORTS_FORCE flag:param coprhdonly : to delete volumes from coprHD only :param synctimeout: Query for task status for “synctimeout” secs. If
the task doesn’t complete in synctimeout secs, an exception is thrown
-
delete_by_uri(uri, sync=False, force_delete=False, coprhdonly=False, synctimeout=0)¶ Deletes a volume based on volume uri.
-
expand(full_project_name, volume_name, new_size, sync=False, synctimeout=0)¶
-
get_exports_by_uri(uri)¶ Makes REST API call to get exports info of a volume.
Parameters: uri – URI of the volume Returns: Exports details in JSON response payload
-
get_storageAttributes(volume_name, cg_name, snapshot_name=None)¶
-
is_volume_detachable(full_project_name, name)¶
-
list_volumes(project)¶ Makes REST API call to list volumes under a project.
Parameters: project – name of project Returns: List of volumes uuids in JSON response payload
-
search_volumes(project_name)¶
-
show(full_project_name, name)¶ Retrieves volume details based on volume name.
:param full_project_name : project path of the volume :param name: name of the volume. If the volume is under a project,
then full XPath needs to be specified. Example: If VOL1 is a volume under project PROJ1, then the name of volume is PROJ1/VOL1Returns: Volume details in JSON response payload
-
show_by_uri(uri)¶ Makes REST API call and retrieves volume details based on UUID.
Parameters: uri – UUID of volume Returns: Volume details in JSON response payload
-
storage_resource_query(storageres_type, volume_name, cg_name, snapshot_name, project, tenant)¶
-
update(prefix_path, name, vpool)¶ Makes REST API call to update a volume information.
Parameters: - name – name of the volume to be updated
- vpool – name of vpool
Returns: Created task details in JSON response payload
-
volume_clone_detach(resource_uri, full_project_name, name, sync, synctimeout=0)¶
-
volume_query(full_project_name, volume_name)¶ Makes REST API call to query the volume by name.
Parameters: - volume_name – name of volume
- full_project_name – Full project path
Returns: Volume details in JSON response payload
-