The cinder.volume.drivers.zfssa.zfssanfs Module¶
ZFS Storage Appliance NFS Cinder Volume Driver
- 
class ZFSSANFSDriver(*args, **kwargs)¶
- Bases: - cinder.volume.drivers.nfs.NfsDriver- ZFSSA Cinder NFS 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 for properly configured pool, project and share Check that the http and nfs services are enabled 
 - 
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)¶
- Creates a snapshot and then clones the snapshot into a volume. 
 - 
create_snapshot(snapshot)¶
- Creates a snapshot of a volume. 
 - 
create_volume(volume)¶
 - 
create_volume_from_snapshot(volume, snapshot, method='COPY')¶
 - 
delete_snapshot(snapshot)¶
- Deletes a snapshot. 
 - 
delete_volume(volume)¶
 - 
do_setup(context)¶
 - 
driver_prefix= 'nfs'¶
 - 
driver_volume_type= 'nfs'¶
 - 
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= 'nfs'¶
 - 
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 
 - 
volume_backend_name= 'ZFSSA_NFS'¶
 
- 
- 
factory_zfssa()¶