Driver for Linux servers running LVM.
-
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.
-
retype(context, volume, new_type, diff, host)
Retypes a volume, allow QoS and extra_specs change.
-
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
|
Returns: | model_update to update DB with any needed changes
|
-
validate_connector(connector)