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()¶