The Module

The Module

IBM Storage driver is a unified Volume driver for IBM XIV, Spectrum Accelerate, FlashSystem A9000, FlashSystem A9000R and DS8000 storage systems.

class IBMStorageDriver(*args, **kwargs)

Bases: cinder.volume.drivers.san.san.SanDriver, cinder.volume.driver.ManageableVD, cinder.volume.driver.MigrateVD, cinder.volume.driver.CloneableImageVD

IBM Storage driver

IBM Storage driver is a unified Volume driver for IBM XIV, Spectrum Accelerate, FlashSystem A9000, FlashSystem A9000R and DS8000 storage systems.

Version history:

2.0 - First open source driver version
2.1.0 - Support Consistency groups through Generic volume groups
      - Support XIV/A9000 Volume independent QoS
      - Support Consistency groups replication
VERSION = '2.1.0'
create_cloned_volume(tgt_volume, src_volume)

Create Cloned Volume.

create_export(context, volume, connector)

Create an export.

create_group(context, group)

Creates a group.

create_group_from_src(context, group, volumes, group_snapshot, snapshots, source_cg=None, source_vols=None)

Creates a group from source.

create_group_snapshot(context, group_snapshot, snapshots)

Creates a group snapshot.


Create a snapshot.


Create a volume on the IBM Storage system.

create_volume_from_snapshot(volume, snapshot)

Create a volume from a snapshot.

delete_group(context, group, volumes)

Deletes a group.

delete_group_snapshot(context, group_snapshot, snapshots)

Deletes a group snapshot.


Delete a snapshot.


Delete a volume on the IBM Storage system.

disable_replication(context, group, volumes)

Disable replication.


Setup and verify connection to IBM Storage.

enable_replication(context, group, volumes)

Enable replication.

ensure_export(context, volume)

Ensure an export.

extend_volume(volume, new_size)

Extend Created Volume.

failover_host(context, volumes, secondary_id=None, groups=None)

Failover a backend to a secondary replication target.

failover_replication(context, group, volumes, secondary_backend_id)

Failover replication.


Notify the backend that it’s frozen.

get_replication_error_status(context, groups)

Returns error info for replicated groups and its volumes.

get_replication_status(context, volume)

Return replication status.


Get volume stats.

initialize_connection(*args, **kwargs)
manage_existing(volume, existing_ref)

Brings an existing backend storage object to Cinder management.

manage_existing_get_size(volume, existing_ref)

Return size of volume to be managed by manage_existing.

migrate_volume(context, volume, host)

Migrate the volume to the specified host.

remove_export(context, volume)

Disconnect a volume from an attached instance.

retype(ctxt, volume, new_type, diff, host)

Convert the volume to be of the new type.

terminate_connection(*args, **kwargs)

Notify the backend that it’s unfrozen/thawed.


Removes the specified volume from Cinder management.

update_group(context, group, add_volumes, remove_volumes)

Adds or removes volume(s) to/from an existing group.

Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.