Volume driver for Nimble Storage.
This driver supports Nimble Storage controller CS-Series and Nimble AF Arrays.
-
exception NimbleAPIException(message=None, **kwargs)
Bases: cinder.exception.VolumeBackendAPIException
-
message = u'Unexpected response from Nimble API'
-
class 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
-
unmanage(volume)
Removes the specified volume from Cinder management.
-
exception NimbleDriverException(message=None, **kwargs)
Bases: cinder.exception.VolumeDriverException
-
message = u'Nimble Cinder Driver exception'
-
class 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)
-
class 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.
-
class 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(*args, **kwargs)
-
delete_snap(volume_name, snap_name)
-
delete_vol(volume_name)
-
edit_vol(volume_name, data)
-
enable_group_scoped_target()
-
get(*args, **kwargs)
-
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(*args, **kwargs)
-
get_snap_info(snap_name, vol_name)
-
get_snap_info_by_id(snap_id, vol_id)
-
get_snap_info_detail(snap_id)
-
get_vol_info(*args, **kwargs)
-
get_volume_id_by_name(name)
-
get_volume_name(volume_id)
-
login()
-
online_snap(volume_name, online_flag, snap_name)
-
online_vol(*args, **kwargs)
-
post(*args, **kwargs)
-
put(*args, **kwargs)
-
remove_acl(volume, initiator_group_name)
-
snap_vol(snapshot)