cinder.volume.drivers.nimble
Module¶Volume driver for Nimble Storage.
This driver supports Nimble Storage controller CS-Series and Nimble AF Arrays.
NimbleAPIException
(message=None, **kwargs)¶Bases: cinder.exception.VolumeBackendAPIException
message
= 'Unexpected response from Nimble API'¶NimbleBaseVolumeDriver
(*args, **kwargs)¶Bases: cinder.volume.drivers.san.san.SanDriver
OpenStack driver to enable Nimble Controller.
Version history:
1.0 - Initial driver
1.1.1 - Updated VERSION to Nimble driver version
1.1.2 - Update snap-quota to unlimited
2.0.0 - Added Extra Spec Capability
Correct capacity reporting
Added Manage/Unmanage volume support
2.0.1 - Added multi-initiator support through extra-specs
2.0.2 - Fixed supporting extra specs while cloning vols
3.0.0 - Newton Support for Force Backup
3.1.0 - Fibre Channel Support
4.0.0 - Migrate from SOAP to REST API
Add support for Group Scoped Target
4.0.1 - Add QoS and dedupe support
CI_WIKI_NAME
= 'Nimble_Storage_CI'¶VERSION
= '4.0.1'¶create_cloned_volume
(volume, src_vref)¶Create a clone of the specified volume.
create_export
(context, volume, connector)¶Driver entry point to get the export info for a new volume.
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
(volume)¶Delete the specified volume.
do_setup
(context)¶Setup the Nimble Cinder volume driver.
ensure_export
(context, volume)¶Driver entry point to get the export info for an existing volume.
extend_volume
(volume, new_size)¶Extend an existing volume.
get_lun_number
(volume, initiator_group_name)¶get_volume_stats
(refresh=False)¶Get volume stats. This is more of getting group stats.
is_volume_backup_clone
(volume)¶check if the volume is created through cinder-backup workflow.
:param volume
manage_existing
(volume, external_ref)¶Manage an existing nimble volume (import to cinder)
manage_existing_get_size
(volume, external_ref)¶Return size of an existing volume
retype
(context, volume, new_type, diff, host)¶Retype from one volume type to another.
At this point HPE Nimble Storage does not differentiate between volume types on the same array. This is a no-op for us if there are no extra specs else honor the extra-specs.
unmanage
(volume)¶Removes the specified volume from Cinder management.
NimbleDriverException
(message=None, **kwargs)¶Bases: cinder.exception.VolumeDriverException
message
= 'Nimble Cinder Driver exception'¶NimbleFCDriver
(*args, **kwargs)¶Bases: cinder.volume.drivers.nimble.NimbleBaseVolumeDriver
, cinder.volume.driver.FibreChannelDriver
OpenStack driver to enable Nimble FC Driver Controller.
get_wwpns_from_array
(array_name)¶Retrieve the wwpns from the array
initialize_connection
(*args, **kwargs)¶terminate_connection
(*args, **kwargs)¶NimbleISCSIDriver
(*args, **kwargs)¶Bases: cinder.volume.drivers.nimble.NimbleBaseVolumeDriver
, cinder.volume.drivers.san.san.SanISCSIDriver
OpenStack driver to enable Nimble ISCSI Controller.
initialize_connection
(volume, connector)¶Driver entry point to attach a volume to an instance.
terminate_connection
(volume, connector, **kwargs)¶Driver entry point to unattach a volume from an instance.
NimbleRestAPIExecutor
(api_version=1, *args, **kwargs)¶Bases: object
Makes Nimble REST API calls.
add_acl
(volume, initiator_group_name)¶add_initiator_to_igroup
(initiator_grp_name, initiator_name)¶add_initiator_to_igroup_fc
(initiator_grp_name, wwpn)¶clone_vol
(volume, snapshot, reserve, is_gst_enabled, protocol, pool_name)¶create_initiator_group
(initiator_grp_name)¶create_initiator_group_fc
(initiator_grp_name)¶create_vol
(volume, pool_name, reserve, protocol, is_gst_enabled)¶delete
(api)¶delete_snap
(volume_name, snap_name)¶delete_vol
(volume_name)¶edit_vol
(volume_name, data)¶enable_group_scoped_target
()¶get
(api)¶get_acl_record
(volume_id, initiator_group_id)¶get_fc_interface_list
(array_name)¶getFibreChannelInterfaceList API to get FC interfaces on array.
get_folder_id
(folder_name)¶get_folder_info
(folder_name)¶get_group_id
()¶get_group_info
()¶get_initiator_grp_id
(initiator_grp_name)¶get_initiator_grp_id_by_name
(initiator_group_name)¶get_initiator_grp_list
()¶get_netconfig
(role)¶get_performance_policy_id
(perf_policy_name)¶get_pool_id
(pool_name)¶get_pool_info
(pool_id)¶get_query
(api, query)¶get_snap_info
(snap_name, vol_name)¶get_snap_info_by_id
(snap_id, vol_id)¶get_snap_info_detail
(snap_id)¶get_valid_nimble_extraspecs
(extra_specs_map, vol_info)¶get_vol_info
(volume_name)¶get_volume_acl_records
(volume_id)¶get_volume_id_by_name
(name)¶get_volume_name
(volume_id)¶login
()¶online_snap
(volume_name, online_flag, snap_name)¶online_vol
(volume_name, online_flag)¶post
(api, payload)¶put
(api, payload)¶remove_acl
(volume, initiator_group_name)¶remove_all_acls
(volume)¶snap_vol
(snapshot)¶NimbleVolumeBusyException
(message=None, **kwargs)¶Bases: cinder.exception.VolumeIsBusy
message
= 'Nimble Cinder Driver: Volume Busy'¶Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.