cinder.volume.drivers.ibm.ibm_storage.xiv_proxy
Module¶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.4
2.0 - First open source driver version
2.1.0 - Support Consistency groups through Generic volume groups
- Support XIV/A9000 Volume independent QoS
- Support groups replication
check_for_splitbrain
(volumes, pool_master, pool_slave)¶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.
disable_replication
(*args, **kwargs)¶disables CG replication
enable_replication
(*args, **kwargs)¶Enable cg replication
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’
failover_replication
(context, group, volumes, secondary_backend_id)¶Failover a cg with all it’s volumes.
if secondery_id is default, cg needs to be failed back.
freeze_backend
(context)¶Notify the backend that it’s frozen.
get_replication_status
(*args, **kwargs)¶Return replication status.
get_secondary_backend_id
(secondary_backend_id)¶handle_created_vol_properties
(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:
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: |
|
---|
setup
(*args, **kwargs)¶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.
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.