The cinder.volume.drivers.ibm.ibm_storage.xiv_proxy
Module¶
-
class
Rate
(rpo, schedule)¶ Bases:
object
-
class
XIVProxy
(storage_info, logger, exception, driver=None, active_backend_id=None)¶ Bases:
cinder.volume.drivers.ibm.ibm_storage.proxy.IBMStorageProxy
Proxy between the Cinder Volume and Spectrum Accelerate Storage.
Supports IBM XIV, Spectrum Accelerate, A9000, A9000R Version: 2.1.0 Required pyxcli version: 1.1.2
2.0 - First open source driver version 2.1.0 - Support Consistency groups through Generic volume groups
- Support XIVA9000 Volume independent QoS
-
async_rates
= (<cinder.volume.drivers.ibm.ibm_storage.xiv_proxy.Rate object>, <cinder.volume.drivers.ibm.ibm_storage.xiv_proxy.Rate object>, <cinder.volume.drivers.ibm.ibm_storage.xiv_proxy.Rate object>, <cinder.volume.drivers.ibm.ibm_storage.xiv_proxy.Rate object>)¶
-
create_cloned_volume
(*args, **kwargs)¶ Create cloned volume.
-
create_group
(*args, **kwargs)¶ Creates a group.
-
create_group_from_src
(*args, **kwargs)¶ Create volume group from volume group or volume group snapshot.
-
create_group_snapshot
(*args, **kwargs)¶ Create volume group snapshot.
-
create_snapshot
(*args, **kwargs)¶ create snapshot.
-
create_volume
(*args, **kwargs)¶ Creates a volume.
-
create_volume_from_snapshot
(*args, **kwargs)¶ create volume from snapshot.
-
delete_group
(*args, **kwargs)¶ Deletes a group.
-
delete_group_snapshot
(*args, **kwargs)¶ Delete volume group snapshot.
-
delete_snapshot
(*args, **kwargs)¶ delete snapshot.
-
delete_volume
(*args, **kwargs)¶ Deletes a volume on the Storage machine.
-
extend_volume
(*args, **kwargs)¶ Resize volume.
-
failover_host
(*args, **kwargs)¶ Failover a full backend.
Fails over the volume back and forth, if secondary_id is ‘default’, volumes will be failed back, otherwize failed over.
Note that the resulting status depends on the direction: in case of failover it will be ‘failed-over’ and in case of failback it will be ‘available’
-
freeze_backend
(context)¶ Notify the backend that it’s frozen.
-
get_replication_status
(*args, **kwargs)¶ Return replication status.
-
handle_created_vol_properties
(cg, replication_info, volume)¶
-
initialize_connection
(*args, **kwargs)¶ Initialize connection to instance.
Maps the created volume to the nova volume node, and returns the iSCSI target to be used in the instance
-
manage_volume
(*args, **kwargs)¶ Brings an existing backend storage object under Cinder management.
reference value is passed straight from the get_volume_list helper function. it is up to the driver how this should be interpreted. It should be sufficient to identify a storage object that the driver should somehow associate with the newly-created cinder volume structure. There are two ways to do this:
- Rename the backend storage object so that it matches the, volume[‘name’] which is how drivers traditionally map between a cinder volume and the associated backend storage object.
- Place some metadata on the volume, or somewhere in the backend, that allows other driver requests (e.g. delete, clone, attach, detach…) to locate the backend storage object when required.
If the reference doesn’t make sense, or doesn’t refer to an existing backend storage object, raise a ManageExistingInvalidReference exception.
The volume may have a volume_type, and the driver can inspect that and compare against the properties of the referenced backend storage object. If they are incompatible, raise a ManageExistingVolumeTypeMismatch, specifying a reason for the failure.
-
manage_volume_get_size
(*args, **kwargs)¶ Return size of volume to be managed by manage_volume.
When calculating the size, round up to the next GB.
-
migrate_volume
(*args, **kwargs)¶ Migrate volume to another backend.
Optimize the migration if the destination is on the same server.
If the specified host is another back-end on the same server, and the volume is not attached, we can do the migration locally without going through iSCSI.
Storage-assisted migration…
-
retype
(*args, **kwargs)¶ Change volume type.
Returns a boolean indicating whether the retype occurred.
Parameters: - ctxt – Context
- volume – A dictionary describing the volume to migrate
- new_type – A dictionary describing the volume type to convert to
- diff – A dictionary with the difference between the two types
- host – A dictionary describing the host to migrate to, where host[‘host’] is its name, and host[‘capabilities’] is a dictionary of its reported capabilities
-
setup
(*args, **kwargs)¶ Connect ssl client.
-
terminate_connection
(*args, **kwargs)¶ Terminate connection.
Unmaps volume. If this is the last connection from the host, undefines the host from the storage.
-
thaw_backend
(context)¶ Notify the backend that it’s unfrozen/thawed.
-
unmanage_volume
(*args, **kwargs)¶ Removes the specified volume from Cinder management.
Does not delete the underlying backend storage object.
-
update_group
(*args, **kwargs)¶ Updates a group.
-
volume_exists
(*args, **kwargs)¶ Checks if a volume exists on xiv.