The cinder.volume.drivers.netapp.eseries.library Module

class NetAppESeriesLibrary(*args, **kwargs)

Bases: object

Executes commands relating to Volumes.

AUTOSUPPORT_INTERVAL_SECONDS = 3600
DA_UQ_SPEC = 'netapp_eseries_data_assurance'
DEFAULT_HOST_TYPE = 'linux_dm_mp'
DISK_TYPE_UQ_SPEC = 'netapp_disk_type'
DRIVER_NAME = 'NetApp_iSCSI_ESeries'
ENCRYPTION_UQ_SPEC = 'netapp_disk_encryption'
FLASH_CACHE_UQ_SPEC = 'netapp_eseries_flash_read_cache'
HOST_TYPES = {'macos': 'MacTPGSALUA', 'linux_dm_mp': 'LnxALUA', 'aix': 'AIX MPIO', 'avt': 'AVT_4M', 'windows_clustered': 'Windows 2000/Server 2003/Server 2008 Clustered', 'linux_atto': 'LnxTPGSALUA', 'svc': 'SVC', 'solaris_v11': 'SolTPGSALUA', 'linux_pathmanager': 'LnxTPGSALUA_PM', 'windows': 'Windows 2000/Server 2003/Server 2008 Non-Clustered', 'windows_atto': 'WinTPGSALUA', 'ontap': 'ONTAP', 'hpux': 'HP-UX TPGS', 'solaris_v10': 'Solaris', 'linux_mpp_rdac': 'Linux', 'vmware': 'VmwTPGSALUA', 'factoryDefault': 'FactoryDefault'}
RAID_UQ_SPEC = 'netapp_raid_type'
READ_CACHE_Q_SPEC = 'netapp:read_cache'
REQUIRED_FLAGS = ['netapp_server_hostname', 'netapp_controller_ips', 'netapp_login', 'netapp_password']
SA_COMM_TIMEOUT = 30
SLEEP_SECS = 5
SPINDLE_SPD_UQ_SPEC = 'netapp_eseries_disk_spindle_speed'
SSC_DISK_TYPE_MAPPING = {'sas': 'SAS', 'fibre': 'FCAL', 'scsi': 'SCSI', 'ssd': 'SSD', 'sata': 'SATA'}
SSC_RAID_TYPE_MAPPING = {'raidDiskPool': 'DDP', 'raid5': 'raid5', 'raid6': 'raid6', 'raid1': 'raid1', 'raid0': 'raid0', 'raid3': 'raid5'}
SSC_UPDATE_INTERVAL = 60
THIN_UQ_SPEC = 'netapp_thin_provisioned'
VERSION = '1.0.0'
WORLDWIDENAME = 'worldWideName'
WRITE_CACHE_Q_SPEC = 'netapp:write_cache'
check_for_setup_error(*args, **kwargs)
create_cloned_volume(*args, **kwargs)

Creates a clone of the specified volume.

create_export(*args, **kwargs)

Exports the volume.

create_snapshot(*args, **kwargs)

Creates a snapshot.

create_volume(*args, **kwargs)

Creates a volume.

create_volume_from_snapshot(*args, **kwargs)

Creates a volume from a snapshot.

delete_snapshot(*args, **kwargs)

Deletes a snapshot.

delete_volume(*args, **kwargs)

Deletes a volume.

do_setup(*args, **kwargs)

Any initialization the volume driver does while starting.

ensure_export(*args, **kwargs)

Synchronously recreates an export for a volume.

extend_volume(*args, **kwargs)

Extend an existing volume to the new size.

get_pool(*args, **kwargs)

Return pool name where volume resides.

Parameters:volume – The volume hosted by the driver.
Returns:Name of the pool where given volume is hosted.
get_volume_stats(*args, **kwargs)

Return the current state of the volume service.

initialize_connection_fc(*args, **kwargs)

Initializes the connection and returns connection info.

Assigns the specified volume to a compute node/host so that it can be used from that host.

The driver returns a driver_volume_type of ‘fibre_channel’. The target_wwn can be a single entry or a list of wwns that correspond to the list of remote wwn(s) that will export the volume. Example return values:

{

‘driver_volume_type’: ‘fibre_channel’ ‘data’: {

‘target_discovered’: True, ‘target_lun’: 1, ‘target_wwn’: ‘500a098280feeba5’, ‘access_mode’: ‘rw’, ‘initiator_target_map’: {

‘21000024ff406cc3’: [‘500a098280feeba5’], ‘21000024ff406cc2’: [‘500a098280feeba5’]

}

}

}

or

{

‘driver_volume_type’: ‘fibre_channel’ ‘data’: {

‘target_discovered’: True, ‘target_lun’: 1, ‘target_wwn’: [‘500a098280feeba5’, ‘500a098290feeba5’,

‘500a098190feeba5’, ‘500a098180feeba5’],

‘access_mode’: ‘rw’, ‘initiator_target_map’: {

‘21000024ff406cc3’: [‘500a098280feeba5’,
‘500a098290feeba5’],
‘21000024ff406cc2’: [‘500a098190feeba5’,
‘500a098180feeba5’]

}

}

}

initialize_connection_iscsi(*args, **kwargs)

Allow connection to connector and return connection info.

manage_existing(*args, **kwargs)

Brings an existing storage object under Cinder management.

manage_existing_get_size(*args, **kwargs)

Return size of volume to be managed by manage_existing.

When calculating the size, round up to the next GB.

map_volume_to_host(*args, **kwargs)

Ensures the specified initiator has access to the volume.

remove_export(*args, **kwargs)

Removes an export for a volume.

terminate_connection_fc(*args, **kwargs)

Disallow connection from connector.

Return empty data if other volumes are in the same zone. The FibreChannel ZoneManager doesn’t remove zones if there isn’t an initiator_target_map in the return of terminate_connection.

Returns:data - the target_wwns and initiator_target_map if the zone is to be removed, otherwise the same map with an empty dict for the ‘data’ key
terminate_connection_iscsi(*args, **kwargs)

Disallow connection from connector.

unmanage(*args, **kwargs)

Removes the specified volume from Cinder management.

Does not delete the underlying backend storage object. Logs a message to indicate the volume is no longer under Cinder’s control.

Previous topic

The cinder.volume.drivers.netapp.eseries.iscsi_driver Module

Next topic

The cinder.volume.drivers.netapp.eseries.utils Module

Project Source

This Page