The cinder.volume.drivers.lvm Module

Driver for Linux servers running LVM.

class LVMISCSIDriver(*args, **kwargs)

Bases: cinder.volume.drivers.lvm.LVMVolumeDriver

Empty class designation for LVMISCSI.

Since we’ve decoupled the inheritance of iSCSI and LVM we don’t really need this class any longer. We do however want to keep it (at least for now) for back compat in driver naming.

class LVMISERDriver(*args, **kwargs)

Bases: cinder.volume.drivers.lvm.LVMVolumeDriver

Empty class designation for LVMISER.

Since we’ve decoupled the inheritance of data path in LVM we don’t really need this class any longer. We do however want to keep it (at least for now) for back compat in driver naming.

class LVMVolumeDriver(vg_obj=None, *args, **kwargs)

Bases: cinder.volume.driver.VolumeDriver

Executes commands relating to Volumes.

VERSION = '3.0.0'
backup_volume(context, backup, backup_service)

Create a new backup from an existing volume.

check_for_setup_error()

Verify that requirements are in place to use LVM driver.

clone_image(context, volume, image_location, image_meta, image_service)
copy_image_to_volume(context, volume, image_service, image_id)

Fetch the image from image_service and write it to the volume.

copy_volume_to_image(context, volume, image_service, image_meta)

Copy the volume to the specified image.

create_cloned_volume(volume, src_vref)

Creates a clone of the specified volume.

create_export(context, volume, connector, vg=None)
create_snapshot(snapshot)

Creates a snapshot.

create_volume(volume)

Creates a logical volume.

create_volume_from_snapshot(volume, snapshot)

Creates a volume from a snapshot.

delete_snapshot(snapshot)

Deletes a snapshot.

delete_volume(volume)

Deletes a logical volume.

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

Extend an existing volume’s size.

get_pool(volume)
get_volume_stats(refresh=False)

Get volume status.

If ‘refresh’ is True, run update the stats first.

initialize_connection(volume, connector)
local_path(volume, vg=None)
manage_existing(volume, existing_ref)

Manages an existing LV.

Renames the LV to match the expected name for the volume. Error checking done by manage_existing_get_size is not repeated.

manage_existing_get_size(volume, existing_ref)
manage_existing_object_get_size(existing_object, existing_ref, object_type)

Return size of an existing LV for manage existing volume/snapshot.

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

manage_existing_snapshot(snapshot, existing_ref)
manage_existing_snapshot_get_size(snapshot, existing_ref)
migrate_volume(ctxt, volume, host, thin=False, mirror_count=0)

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.

remove_export(context, volume)
restore_backup(context, backup, volume, backup_service)

Restore an existing backup to a new or existing volume.

terminate_connection(volume, connector, **kwargs)
update_migrated_volume(ctxt, volume, new_volume, original_volume_status)

Return model update from LVM for migrated volume.

This method should rename the back-end volume name(id) on the destination host back to its original name(id) on the source host.

Parameters:
  • ctxt – The context used to run the method update_migrated_volume
  • volume – The original volume that was migrated to this backend
  • new_volume – The migration volume object that was created on this backend as part of the migration process
  • original_volume_status – The status of the original volume

:return model_update to update DB with any needed changes

validate_connector(connector)

Previous topic

The cinder.volume.drivers.lenovo.lenovo_iscsi Module

Next topic

The cinder.volume.drivers.netapp.common Module

Project Source

This Page