ZFS Storage Appliance Proxy
- 
class ZFSSAApi
 
Bases: object
ZFSSA API proxy class
- 
add_to_initiatorgroup(initiator, initiatorgroup)
 
Add an iSCSI initiator to initiatorgroup
- 
add_to_targetgroup(iqn, targetgroup)
 
Add an iSCSI target to targetgroup.
- 
clone_snapshot(pool, project, lun, snapshot, clone_proj, clone)
 
clone ‘snapshot’ to a lun named ‘clone’ in project ‘clone_proj’.
- 
create_initiator(initiator, alias, chapuser=None, chapsecret=None)
 
Create an iSCSI initiator.
- 
create_lun(pool, project, lun, volsize, targetgroup, specs)
 
Create a LUN.
specs - contains volume properties (e.g blocksize, compression).
- 
create_project(pool, project, compression=None, logbias=None)
 
Create a project on a pool.
Check first whether the pool exists.
- 
create_replication_action(host_pool, host_project, tgt_name, tgt_pool, volume)
 
Create a replication action.
- 
create_schema(schema)
 
Create a custom ZFSSA schema.
- 
create_schemas(schemas)
 
Create multiple custom ZFSSA schemas.
- 
create_snapshot(pool, project, lun, snapshot)
 
create snapshot.
- 
create_target(alias, interfaces=None, tchapuser=None, tchapsecret=None)
 
Create an iSCSI target.
| Parameters: | 
- interfaces – an array with network interfaces
 
- tchapsecret (tchapuser,) – target’s chapuser and chapsecret
 
 
 | 
| Returns: | target iqn 
 | 
- 
delete_lun(pool, project, lun)
 
delete iscsi lun.
- 
delete_project(pool, project)
 
Delete a project.
- 
delete_replication_action(action_id)
 
Delete a replication action.
- 
delete_snapshot(pool, project, lun, snapshot)
 
delete snapshot.
- 
edit_inherit_replication_flag(pool, project, volume, set=True)
 
Edit the inherit replication flag for volume.
- 
get_asn()
 
Returns appliance asn.
- 
get_initiator_initiatorgroup(initiator)
 
Returns the initiator group of the initiator.
- 
get_lun(pool, project, lun)
 
return iscsi lun properties.
- 
get_lun_snapshot(pool, project, lun, snapshot)
 
Return iscsi lun snapshot properties.
- 
get_pool_details(pool)
 
Get properties of a pool.
- 
get_project_stats(pool, project)
 
Get project stats.
Get available space and total space of a project
returns (avail, total).
- 
get_replication_source(asn)
 
Return the replication source json which has a matching asn.
- 
get_replication_targets()
 
Returns all replication targets configured on the appliance.
- 
get_target(alias)
 
Get an iSCSI target iqn.
- 
login(auth_str)
 
Login to the appliance
- 
logout()
 
- 
move_volume(pool, project, volume, tgt_project)
 
Move a LUN from one project to another within the same pool.
- 
num_clones(pool, project, lun, snapshot)
 
Checks whether snapshot has clones or not.
- 
send_repl_update(action_id)
 
Send replication update
Send replication update to the target appliance and then wait for
it to complete.
- 
set_host(host, timeout=None)
 
- 
set_lun_initiatorgroup(pool, project, lun, initiatorgroup)
 
Set the initiatorgroup property of a LUN.
- 
set_lun_props(pool, project, lun, **kargs)
 
set lun properties.
- 
sever_replication(package, src_name, project=None)
 
Sever Replication at the destination.
This method will sever the package and move the volume to a project,
if project name is not passed in then the package name is selected
as the project name
- 
verify_initiator(iqn)
 
Check whether initiator iqn exists.
- 
verify_pool(pool)
 
Checks whether pool exists.
- 
verify_project(pool, project)
 
Checks whether project exists.
- 
verify_service(service, status='online')
 
Checks whether a service is online or not
- 
verify_target(alias)
 
Check whether target alias exists.
- 
class ZFSSANfsApi(*args, **kwargs)
 
Bases: cinder.volume.drivers.zfssa.zfssarest.ZFSSAApi
ZFSSA API proxy class for NFS driver
- 
create_directory(dirname)
 
- 
create_share(pool, project, share, args)
 
Create a share in the specified pool and project
- 
create_snapshot(pool, project, share, snapshot)
 
create snapshot of a share
- 
create_snapshot_of_volume_file(src_file='', dst_file='')
 
- 
create_volume_from_snapshot_file(src_file='', dst_file='', method='COPY')
 
- 
delete_file(filename)
 
- 
delete_snapshot(pool, project, share, snapshot)
 
delete snapshot of a share
- 
delete_snapshot_of_volume_file(src_file='')
 
- 
disable_service(service)
 
- 
enable_service(service)
 
- 
get_share(pool, project, share)
 
return share properties
- 
get_volume(volume)
 
- 
modify_service(service, edit_args=None)
 
Edit service properties
- 
project_path = '/api/storage/v1/pools/%s/projects/%s'
 
- 
projects_path = '/api/storage/v1/pools/%s/projects'
 
- 
rename_volume(src, dst)
 
- 
services_path = '/api/service/v1/services/'
 
- 
set_file_props(file, specs)
 
Set custom properties to a file.
- 
set_webdav(https_path, auth_str)
 
- 
share_path = '/api/storage/v1/pools/%s/projects/%s/filesystems/%s'
 
- 
share_snapshot_path = '/api/storage/v1/pools/%s/projects/%s/filesystems/%s/snapshots/%s'
 
- 
share_snapshots_path = '/api/storage/v1/pools/%s/projects/%s/filesystems/%s/snapshots'
 
- 
shares_path = '/api/storage/v1/pools/%s/projects/%s/filesystems'
 
- 
verify_share(pool, project, share)
 
Checks whether the share exists
- 
factory_restclient(url, **kwargs)