The cinder.volume.drivers.zfssa.zfssaiscsi Module¶
ZFS Storage Appliance Cinder Volume Driver
-
class
MigrateVolumeCleanUp(name=None, provides=None, requires=None, auto_extract=True, rebind=None, inject=None)¶ Bases:
taskflow.task.Task-
execute(driver, volume, tgt_zfssa)¶
-
-
class
MigrateVolumeCreateAction(name=None, provides=None, requires=None, auto_extract=True, rebind=None, inject=None)¶ Bases:
taskflow.task.Task-
execute(src_zfssa, volume, src_pool, src_project, target, tgt_pool)¶
-
revert(src_zfssa, **kwargs)¶
-
-
class
MigrateVolumeInit(name=None, provides=None, requires=None, auto_extract=True, rebind=None, inject=None)¶ Bases:
taskflow.task.Task-
execute(src_zfssa, volume, src_pool, src_project)¶
-
revert(src_zfssa, volume, src_pool, src_project, **kwargs)¶
-
-
class
MigrateVolumeMoveVol(name=None, provides=None, requires=None, auto_extract=True, rebind=None, inject=None)¶ Bases:
taskflow.task.Task-
execute(tgt_zfssa, tgt_pool, tgt_project, action_id, volume)¶
-
revert(tgt_zfssa, tgt_pool, tgt_project, action_id, volume, **kwargs)¶
-
-
class
MigrateVolumeSendReplUpdate(name=None, provides=None, requires=None, auto_extract=True, rebind=None, inject=None)¶ Bases:
taskflow.task.Task-
execute(src_zfssa, action_id)¶
-
-
class
MigrateVolumeSeverRepl(name=None, provides=None, requires=None, auto_extract=True, rebind=None, inject=None)¶ Bases:
taskflow.task.Task-
execute(tgt_zfssa, src_asn, action_id, driver)¶
-
-
class
ZFSSAISCSIDriver(*args, **kwargs)¶ Bases:
cinder.volume.driver.ISCSIDriverZFSSA Cinder iSCSI volume driver.
Version history: 1.0.1:
Backend enabled volume migration. Local cache feature.-
VERSION= '1.0.1'¶
-
backup_volume(context, backup, backup_service)¶ Not implemented.
-
check_for_setup_error()¶ Check that driver can login.
Check also pool, project, initiators, initiatorgroup, target and targetgroup.
-
clone_image(context, volume, image_location, image_meta, image_service)¶ Create a volume efficiently from an existing image.
Verify the image ID being used:
(1) If there is no existing cache volume, create one and transfer image data to it. Take a snapshot.
(2) If a cache volume already exists, verify if it is either alternated or updated. If so try to remove it, raise exception if removal fails. Create a new cache volume as in (1).
Clone a volume from the cache volume and returns it to Cinder.
-
create_cloned_volume(volume, src_vref)¶ Create a clone of the specified volume.
-
create_export(context, volume, connector)¶
-
create_snapshot(snapshot)¶ Creates a snapshot of a volume.
Snapshot name: snapshot[‘name’] Volume name: snapshot[‘volume_name’]
-
create_volume(volume)¶ Create a volume on ZFSSA.
-
create_volume_from_snapshot(volume, snapshot)¶ Creates a volume from a snapshot - clone a snapshot.
-
delete_snapshot(snapshot)¶ Deletes a snapshot.
-
delete_volume(volume)¶ Deletes a volume with the given volume[‘name’].
-
do_setup(context)¶ Setup - create multiple elements.
Project, initiators, initiatorgroup, target and targetgroup.
-
ensure_export(context, volume)¶
-
extend_volume(volume, new_size)¶ Driver entry point to extent volume size.
-
get_volume_stats(refresh=False)¶ Get volume status.
If ‘refresh’ is True, run update the stats first.
-
initialize_connection(volume, connector)¶
-
local_path(volume)¶ Not implemented.
-
migrate_volume(ctxt, volume, host)¶
-
protocol= 'iSCSI'¶
-
remove_export(context, volume)¶
-
restore_backup(context, backup, volume, backup_service)¶ Not implemented.
-
terminate_connection(volume, connector, **kwargs)¶ Driver entry point to terminate a connection for a volume.
-
update_migrated_volume(ctxt, volume, new_volume, original_volume_status)¶ Return model update for migrated volume.
Parameters: - 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
-
-
factory_zfssa()¶