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.ISCSIDriver
ZFSSA 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
()¶