The cinder.volume.drivers.qnap Module

The cinder.volume.drivers.qnap Module

Volume driver for QNAP Storage. This driver supports QNAP Storage for iSCSI.

class QnapAPIExecutor(*args, **kwargs)

Bases: object

Makes QNAP API calls for ES NAS.

add_target_init(*args, **kwargs)

Add target acl.

clone_snapshot(*args, **kwargs)

Execute CGI to clone snapshot as unmap lun.

create_lun(*args, **kwargs)

Create lun.

create_snapshot_api(*args, **kwargs)

Execute CGI to create snapshot from source lun.

create_target(*args, **kwargs)

Create target on nas and return target index.

delete_lun(*args, **kwargs)

Execute delete lun API.

delete_snapshot_api(*args, **kwargs)

Execute CGI to delete snapshot by snapshot id.

delete_target(*args, **kwargs)

Delete target on nas.

disable_lun(*args, **kwargs)

Disable lun from sepecific target.

edit_lun(*args, **kwargs)

Extend lun.

es_create_lun_lock = <Semaphore at 0x7f392c55c890 c=1 _w[0]>
es_delete_lun_lock = <Semaphore at 0x7f392c55c8d0 c=1 _w[0]>
es_lun_locks = {}
execute_login()

Login and return sid.

get_all_iscsi_portal_setting(*args, **kwargs)

Execute get_all_iscsi_portal_setting API.

get_basic_info(management_url)

Get the basic information of NAS.

get_ethernet_ip(*args, **kwargs)

Execute get_ethernet_ip API.

get_iscsi_portal_info(*args, **kwargs)

Get iscsi portal info.

get_lun_info(*args, **kwargs)

Execute get_lun_info API.

get_one_lun_info(*args, **kwargs)

Execute get_one_lun_info API.

get_snapshot_info(*args, **kwargs)

Execute get_snapshot_info API.

get_specific_poolinfo(*args, **kwargs)

Execute get specific poolinfo API.

get_target_info(*args, **kwargs)

Get target info.

get_target_info_by_initiator(*args, **kwargs)

Get target info by initiatorIQN.

map_lun(*args, **kwargs)

Map lun to sepecific target.

remove_target_init(target_iqn, init_iqn)

Remote target acl.

unmap_lun(*args, **kwargs)

Unmap lun from sepecific target.

class QnapAPIExecutorTES(*args, **kwargs)

Bases: cinder.volume.drivers.qnap.QnapAPIExecutor

Makes QNAP API calls for TES NAS.

create_lun(*args, **kwargs)

Create lun.

get_ethernet_ip(*args, **kwargs)

Execute get_ethernet_ip API.

tes_create_lun_lock = <Semaphore at 0x7f392c55cf90 c=1 _w[0]>
class QnapAPIExecutorTS(*args, **kwargs)

Bases: cinder.volume.drivers.qnap.QnapAPIExecutor

Makes QNAP API calls for TS NAS.

create_lun(*args, **kwargs)

Create lun.

create_lun_lock = <Semaphore at 0x7f392c55c990 c=1 _w[0]>
create_target(*args, **kwargs)

Create target on nas and return target index.

delete_lun(*args, **kwargs)

Execute delete lun API.

delete_lun_lock = <Semaphore at 0x7f392c55cf10 c=1 _w[0]>
delete_target(*args, **kwargs)

Delete target on nas.

disable_lun(*args, **kwargs)

Disable lun from sepecific target.

get_ethernet_ip(*args, **kwargs)

Execute get_ethernet_ip API.

get_snapshot_info(*args, **kwargs)

Execute get_snapshot_info API.

get_target_info(*args, **kwargs)

Get nas target info.

lun_locks = {}
map_lun(*args, **kwargs)

Map lun to sepecific target.

remove_target_init(*args, **kwargs)

Remove target acl.

unmap_lun(*args, **kwargs)

Unmap lun from sepecific target.

class QnapISCSIDriver(*args, **kwargs)

Bases: cinder.volume.drivers.san.san.SanISCSIDriver

QNAP iSCSI based cinder driver

Version History:
  1.0.0:
        Initial driver (Only iSCSI).
  1.2.001:
        Add supports for Thin Provisioning, SSD Cache, Deduplication
        , Compression and CHAP.
  1.2.002:
        Add support for QES fw 2.0.0.
CI_WIKI_NAME = 'QNAP_CI'
TIME_INTERVAL = 3
VERSION = '1.2.002'
check_for_setup_error()

Check the status of setup.

create_api_executor()

Create api executor by nas model.

create_cloned_volume(volume, src_vref)

Create a clone of the specified volume.

create_export(*args, **kwargs)
create_snapshot(snapshot)

Create a snapshot.

create_volume(volume)

Create a new volume.

create_volume_from_snapshot(volume, snapshot)

Create a volume from a snapshot.

delete_snapshot(snapshot)

Delete a snapshot.

delete_volume(*args, **kwargs)

Delete the specified volume.

do_setup(context)

Setup the QNAP Cinder volume driver.

enum(*sequential, **named)

Enum method.

extend_volume(volume, new_size)

Extend an existing volume.

get_volume_stats(refresh=False)

Get volume stats. This is more of getting group stats.

initialize_connection(volume, connector)
terminate_connection(volume, connector, **kwargs)

Driver entry point to unattach a volume from an instance.

update_migrated_volume(context, volume, new_volume, original_volume_status)

Return model update for migrated volume.

class Util

Bases: object

classmethod retriveFormCache(lockKey, func, keepTime=0)
classmethod retry(func, retry=0, retryTime=30)
Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.