The cinder.volume.drivers.drbdmanagedrv Module

The cinder.volume.drivers.drbdmanagedrv Module

This driver connects Cinder to an installed DRBDmanage instance, see http://drbd.linbit.com/users-guide-9.0/ch-openstack.html for more details.

class DrbdManageBaseDriver(*args, **kwargs)

Bases: cinder.volume.driver.VolumeDriver

Cinder driver that uses DRBDmanage for storage.

CI_WIKI_NAME = 'Cinder_Jenkins'
VERSION = '1.1.0'
call_or_reconnect(fn, *args)

Call DBUS function; on a disconnect try once to reconnect.

check_for_setup_error()

Verify that requirements are in place to use DRBDmanage driver.

create_cloned_volume(volume, src_vref)

Creates a clone of the specified volume.

If volume_type extra specs includes ‘replication: <is> True’ the driver needs to create a volume replica (secondary) and setup replication between the newly created volume and the secondary volume.

create_snapshot(snapshot)

Creates a snapshot.

create_volume(volume)

Creates a DRBD resource.

We address it later on via the ID that gets stored as a private property.

create_volume_from_snapshot(volume, snapshot)

Creates a volume from a snapshot.

dbus_connect()
delete_snapshot(snapshot)

Deletes a snapshot.

delete_volume(volume)

Deletes a resource.

do_setup(context)

Any initialization the volume driver does while starting.

drbdmanage_dbus_interface = '/interface'
drbdmanage_dbus_name = 'org.drbd.drbdmanaged'
extend_volume(volume, new_size)
is_clean_volume_name(name, prefix)
local_path(volume)
snapshot_name_from_cinder_snapshot(snapshot)
class DrbdManageDrbdDriver(*args, **kwargs)

Bases: cinder.volume.drivers.drbdmanagedrv.DrbdManageBaseDriver

Cinder driver that uses the DRBD protocol.

create_export(context, volume, connector)

Exports the volume.

Can optionally return a Dictionary of changes to the volume object to be persisted.

ensure_export(context, volume)

Synchronously recreates an export for a volume.

get_volume_stats(refresh=False)

Get volume status.

initialize_connection(volume, connector)

Allow connection to connector and return connection info.

Parameters:
  • volume – The volume to be attached
  • connector – Dictionary containing information about what is being connected to.
Returns conn_info:
 

A dictionary of connection information.

remove_export(context, volume)

Removes an export for a volume.

terminate_connection(volume, connector, force=False, **kwargs)

Disallow connection from connector

Parameters:
  • volume – The volume to be disconnected.
  • connector – A dictionary describing the connection with details about the initiator. Can be None.
DrbdManageDriver

alias of cinder.volume.drivers.drbdmanagedrv.DrbdManageIscsiDriver

class DrbdManageIscsiDriver(*args, **kwargs)

Bases: cinder.volume.drivers.drbdmanagedrv.DrbdManageBaseDriver

Cinder driver that uses the iSCSI protocol.

create_export(context, volume, connector)

Exports the volume.

Can optionally return a Dictionary of changes to the volume object to be persisted.

ensure_export(context, volume)

Synchronously recreates an export for a volume.

get_volume_stats(refresh=False)

Get volume status.

initialize_connection(volume, connector)

Allow connection to connector and return connection info.

Parameters:
  • volume – The volume to be attached
  • connector – Dictionary containing information about what is being connected to.
Returns conn_info:
 

A dictionary of connection information.

remove_export(context, volume)

Removes an export for a volume.

terminate_connection(volume, connector, **kwargs)

Disallow connection from connector

Parameters:
  • volume – The volume to be disconnected.
  • connector – A dictionary describing the connection with details about the initiator. Can be None.
validate_connector(connector)

Fail if connector doesn’t contain all the data needed by driver.

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.