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, ignore_list=None, revert_rebind=None, revert_requires=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, ignore_list=None, revert_rebind=None, revert_requires=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, ignore_list=None, revert_rebind=None, revert_requires=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, ignore_list=None, revert_rebind=None, revert_requires=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, ignore_list=None, revert_rebind=None, revert_requires=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, ignore_list=None, revert_rebind=None, revert_requires=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. 1.0.2: Volume manage/unmanage support.
-
CI_WIKI_NAME
= 'Oracle_ZFSSA_CI'¶
-
VERSION
= '1.0.2'¶
-
check_for_setup_error
()¶ Check that driver can login.
Check also pool, project, initiators, initiatorgroup, target and targetgroup.
-
clone_image
(*args, **kwargs)¶ 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.
A file lock is placed on this method to prevent:
(a) a race condition when a cache volume has been verified, but then gets deleted before it is cloned.
(b) failure of subsequent clone_image requests if the first request is still pending.
-
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.
-
manage_existing
(volume, existing_ref)¶ Manage an existing volume in the ZFSSA backend.
Parameters: - volume – Reference to the new volume.
- existing_ref – Reference to the existing volume to be managed.
-
manage_existing_get_size
(volume, existing_ref)¶ Return size of the volume to be managed by manage_existing.
-
migrate_volume
(ctxt, volume, host)¶
-
protocol
= 'iSCSI'¶
-
remove_export
(context, volume)¶
-
terminate_connection
(volume, connector, **kwargs)¶ Driver entry point to terminate a connection for a volume.
-
unmanage
(volume)¶ Remove an existing volume from cinder management.
Parameters: volume – Reference to the volume to be unmanaged.
-
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
Returns: model_update to update DB with any needed changes
-
-
factory_zfssa
()¶