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_CHAP_USER_NAME
= 'eserieschapuser'¶
-
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
= {'windows_clustered': 'W2KNETCL', 'linux_pathmanager': 'LnxTPGSALUA_PM', 'windows_atto': 'WinTPGSALUA', 'ontap': 'ONTAP_ALUA', 'linux_mpp_rdac': 'LNX', 'vmware': 'VmwTPGSALUA', 'windows': 'W2KNETNCL', 'linux_atto': 'LnxTPGSALUA', 'linux_sf': 'LnxTPGSALUA_SF', 'linux_dm_mp': 'LnxALUA', 'ontap_rdac': 'ONTAP_RDAC', 'factoryDefault': 'FactoryDefault'}¶
-
MAX_SNAPSHOT_COUNT
= 32¶
-
MAX_SNAPSHOT_GROUP_COUNT
= 4¶
-
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']¶
-
RESERVED_SNAPSHOT_GROUP_COUNT
= 1¶
-
SA_COMM_TIMEOUT
= 30¶
-
SLEEP_SECS
= 5¶
-
SNAPSHOT_PERSISTENT_STORE_KEY
= 'cinder-snapshots'¶
-
SNAPSHOT_PERSISTENT_STORE_LOCK
= '07c1432d-2c97-4625-8b8f-e6f3ebde1fb7'¶
-
SNAPSHOT_VOL_COPY_SUFFIX
= 'SGCV'¶
-
SNAPSHOT_VOL_DEL_SUFFIX
= '_DEL'¶
-
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_cgsnapshot
(*args, **kwargs)¶ Creates a cgsnapshot.
-
create_cloned_volume
(*args, **kwargs)¶ Creates a clone of the specified volume.
-
create_consistencygroup
(*args, **kwargs)¶ Define a consistency group.
-
create_consistencygroup_from_src
(*args, **kwargs)¶ Define a consistency group based on an existing group
Define a new consistency group from a source consistency group. If only a source_cg is provided, then clone each base volume and add it to a new consistency group. If a cgsnapshot is provided, clone each snapshot image to a new volume and add it to the cg.
Parameters: - group – The new consistency group to define
- volumes – The volumes to add to the consistency group
- cgsnapshot – The cgsnapshot to base the group on
- snapshots – The list of snapshots on the source cg
- source_cg – The source consistency group
- source_vols – The volumes added to the source cg
-
create_export
(*args, **kwargs)¶ Exports the volume.
-
create_snapshot
(*args, **kwargs)¶ Creates a snapshot.
Parameters: - snapshot – The Cinder snapshot
- group_name – An optional label for the snapshot group
Returns: An E-Series snapshot image
-
create_volume
(*args, **kwargs)¶ Creates a volume.
-
create_volume_from_snapshot
(*args, **kwargs)¶ Creates a volume from a snapshot.
-
delete_cgsnapshot
(*args, **kwargs)¶ Deletes a cgsnapshot.
-
delete_consistencygroup
(*args, **kwargs)¶ Deletes a consistency group.
-
delete_snapshot
(*args, **kwargs)¶ Delete 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', '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'], '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.
-
update_consistencygroup
(*args, **kwargs)¶ Add or remove volumes from an existing consistency group
-