cinder.volume.drivers.ibm.ibm_storage.ds8k_proxy
Module¶This is the driver that allows openstack to talk to DS8K.
All volumes are thin provisioned by default, if the machine is licensed for it. This can be overridden by creating a volume type and specifying a key like so:
#> cinder type-create my_type
#> cinder type-key my_type set drivers:thin_provision=False
#> cinder create --volume-type my_type 123
Sample settings for cinder.conf:
enabled_backends = ibm_ds8k_1, ibm_ds8k_2
[ibm_ds8k_1]
proxy = cinder.volume.drivers.ibm.ibm_storage.ds8k_proxy.DS8KProxy
volume_backend_name = ibm_ds8k_1
san_clustername = P2,P3
san_password = actual_password
san_login = actual_username
san_ip = foo.com
volume_driver =
cinder.volume.drivers.ibm.ibm_storage.ibm_storage.IBMStorageDriver
chap = disabled
connection_type = fibre_channel
replication_device = connection_type: fibre_channel, backend_id: bar,
san_ip: bar.com, san_login: actual_username,
san_password: actual_password, san_clustername: P4,
port_pairs: I0236-I0306; I0237-I0307
[ibm_ds8k_2]
proxy = cinder.volume.drivers.ibm.ibm_storage.ds8k_proxy.DS8KProxy
volume_backend_name = ibm_ds8k_2
san_clustername = P4,P5
san_password = actual_password
san_login = actual_username
san_ip = bar.com
volume_driver =
cinder.volume.drivers.ibm.ibm_storage.ibm_storage.IBMStorageDriver
chap = disabled
connection_type = fibre_channel
DS8KProxy
(storage_info, logger, exception, driver, active_backend_id=None, HTTPConnectorObject=None, host=None)¶Bases: cinder.volume.drivers.ibm.ibm_storage.proxy.IBMStorageProxy
create_cloned_volume
(*args, **kwargs)¶create_group
(*args, **kwargs)¶Create consistency group of FlashCopy or RemoteCopy.
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_volume
(*args, **kwargs)¶create_volume_from_snapshot
(*args, **kwargs)¶delete_group
(*args, **kwargs)¶Delete consistency group and volumes in it.
delete_group_snapshot
(*args, **kwargs)¶Delete volume group snapshot.
delete_snapshot
(*args, **kwargs)¶delete_volume
(*args, **kwargs)¶disable_replication
(context, group, volumes)¶Pause pprc pairs.
if user wants to adjust group, he/she does not need to pause/resume pprc pairs, here just provide a way to pause replicaiton.
enable_replication
(context, group, volumes)¶Resume pprc pairs.
if user wants to adjust group, he/she does not need to pause/resume pprc pairs, here just provide a way to resume replicaiton.
extend_volume
(*args, **kwargs)¶failover_host
(*args, **kwargs)¶Fail over the volume back and forth.
if secondary_id is ‘default’, volumes will be failed back, otherwize failed over.
failover_replication
(context, group, volumes, secondary_backend_id)¶Fail over replication for a group and volumes in the group.
freeze_backend
(ctxt)¶Notify the backend that it’s frozen.
get_replication_error_status
(context, groups)¶Return error info for replicated groups and its volumes.
all pprc copy related APIs wait until copy is finished, so it does not need to check their status afterwards.
initialize_connection
(*args, **kwargs)¶Attach a volume to the host.
migrate_volume
(*args, **kwargs)¶prefix
= '[IBM DS8K STORAGE]:'¶retype
(*args, **kwargs)¶retype the volume.
Parameters: |
|
---|
setup
(*args, **kwargs)¶terminate_connection
(*args, **kwargs)¶Detach a volume from a host.
thaw_backend
(ctxt)¶Notify the backend that it’s unfrozen/thawed.
update_group
(*args, **kwargs)¶Update generic volume group.
volume_exists
(*args, **kwargs)¶Group
(group, is_snapshot=False)¶Bases: object
provide group information for driver from group db object.
Lun
(volume, is_snapshot=False)¶Bases: object
provide volume information for driver from volume db object.
Version history:
1.0.0 - initial revision.
2.1.0 - Added support for specify pool and lss, also improve the code.
2.1.1 - Added support for replication consistency group.
2.1.2 - Added support for cloning volume asynchronously.
VERSION
= '2.1.2'¶get_volume_update
()¶shallow_copy
(**overrides)¶Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.