The cinder.volume.drivers.san.hp.hp_lefthand_rest_proxy Module

HP LeftHand SAN ISCSI REST Proxy.

class HPLeftHandRESTProxy(*args, **kwargs)

Bases: cinder.volume.driver.ISCSIDriver

Executes REST commands relating to HP/LeftHand SAN ISCSI volumes.

Version history:

1.0.0 - Initial REST iSCSI proxy 1.0.1 - Added support for retype 1.0.2 - Added support for volume migrate 1.0.3 - Fixed bug #1285829, HP LeftHand backend assisted migration

should check for snapshots
1.0.4 - Fixed bug #1285925, LeftHand AO volume create performance
improvement
1.0.5 - Fixed bug #1311350, Live-migration of an instance when
attached to a volume was causing an error.

1.0.6 - Removing locks bug #1395953 1.0.7 - Fixed bug #1353137, Server was not removed from the HP

Lefthand backend after the last volume was detached.

1.0.8 - Fixed bug #1418201, A cloned volume fails to attach. 1.0.9 - Adding support for manage/unmanage. 1.0.10 - Add stats for goodness_function and filter_function

VERSION = '1.0.10'
check_for_setup_error()

Checks for incorrect LeftHand API being used on backend.

create_cloned_volume(volume, src_vref)
create_export(context, volume)
create_snapshot(snapshot)

Creates a snapshot.

create_volume(volume)

Creates a volume.

create_volume_from_snapshot(volume, snapshot)

Creates a volume from a snapshot.

delete_snapshot(snapshot)

Deletes a snapshot.

delete_volume(volume)

Deletes a volume.

device_stats = {}
do_setup(context)

Set up LeftHand client.

ensure_export(context, volume)
extend_volume(volume, new_size)

Extend the size of an existing volume.

get_version_string()
get_volume_stats(refresh=False)

Gets volume stats.

initialize_connection(volume, connector)

Assigns the volume to a server.

Assign any created volume to a compute node/host so that it can be used from that host. HP VSA requires a volume to be assigned to a server.

manage_existing(volume, existing_ref)

Manage an existing LeftHand volume.

existing_ref is a dictionary of the form: {‘source-name’: <name of the virtual volume>}

manage_existing_get_size(volume, existing_ref)

Return size of volume to be managed by manage_existing.

existing_ref is a dictionary of the form: {‘source-name’: <name of the virtual volume>}

migrate_volume(ctxt, volume, host)

Migrate the volume to the specified host.

Backend assisted volume migration will occur if and only if;

  1. Same LeftHand backend
  2. Volume cannot be attached
  3. Volumes with snapshots cannot be migrated
  4. Source and Destination clusters must be in the same management group

Volume re-type is not supported.

Returns a boolean indicating whether the migration occurred, as well as model_update.

Parameters:
  • ctxt – Context
  • volume – A dictionary describing the volume to migrate
  • 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.
remove_export(context, volume)
retype(ctxt, volume, new_type, diff, host)

Convert the volume to be of the new type.

Returns a boolean indicating whether the retype occurred.

Parameters:
  • ctxt – Context
  • volume – A dictionary describing the volume to retype
  • 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, where host[‘host’] is its name, and host[‘capabilities’] is a dictionary of its reported capabilities.
terminate_connection(volume, connector, **kwargs)

Unassign the volume from the host.

unmanage(volume)

Removes the specified volume from Cinder management.

Previous topic

The cinder.volume.drivers.san.hp.hp_lefthand_iscsi Module

Next topic

The cinder.volume.drivers.san.san Module

This Page