cinder.volume.drivers.dothill.dothill_fc
Module¶DotHillFCDriver
(*args, **kwargs)¶Bases: cinder.volume.driver.FibreChannelDriver
OpenStack Fibre Channel cinder drivers for DotHill Arrays.
Version history:
0.1 - Base version developed for HPMSA FC drivers:
"https://github.com/openstack/cinder/tree/stable/juno/
cinder/volume/drivers/san/hp"
1.0 - Version developed for DotHill arrays with the following
modifications:
- added support for v3 API(virtual pool feature)
- added support for retype volume
- added support for manage/unmanage volume
- added initiator target mapping in FC zoning
- added https support
1.6 - Add management path redundancy and reduce load placed
on management controller.
1.7 - Modified so it can't be invoked except as a superclass
check_for_setup_error
()¶create_cloned_volume
(volume, src_vref)¶Creates a clone of the specified volume.
If volume_type extra specs includes ‘replication: <is> True’ the driver needs to create a volume replica (secondary) and setup replication between the newly created volume and the secondary volume.
create_export
(context, volume, connector=None)¶Exports the volume.
Can optionally return a Dictionary of changes to the volume object to be persisted.
create_snapshot
(snapshot)¶Creates a snapshot.
create_volume
(volume)¶Creates a volume.
Can optionally return a Dictionary of changes to the volume object to be persisted.
If volume_type extra specs includes ‘capabilities:replication <is> True’ the driver needs to create a volume replica (secondary), and setup replication between the newly created volume and the secondary volume. Returned dictionary should include:
volume['replication_status'] = 'copying'
volume['replication_extended_status'] = <driver specific value>
volume['driver_data'] = <driver specific value>
create_volume_from_snapshot
(volume, src_vref)¶Creates a volume from a snapshot.
If volume_type extra specs includes ‘replication: <is> True’ the driver needs to create a volume replica (secondary), and setup replication between the newly created volume and the secondary volume.
delete_snapshot
(snapshot)¶Deletes a snapshot.
delete_volume
(volume)¶Deletes a volume.
If volume_type extra specs includes ‘replication: <is> True’ then the driver needs to delete the volume replica too.
do_setup
(context)¶Any initialization the volume driver does while starting.
ensure_export
(context, volume)¶Synchronously recreates an export for a volume.
extend_volume
(volume, new_size)¶get_init_targ_map
(connector)¶get_volume_stats
(refresh=False)¶Get volume stats.
If ‘refresh’ is True, run update the stats first.
initialize_connection
(*args, **kwargs)¶manage_existing
(volume, existing_ref)¶Brings an existing backend storage object under Cinder management.
existing_ref is passed straight through from the API request’s manage_existing_ref value, and it is up to the driver how this should be interpreted. It should be sufficient to identify a storage object that the driver should somehow associate with the newly-created cinder volume structure.
There are two ways to do this:
If the existing_ref doesn’t make sense, or doesn’t refer to an existing backend storage object, raise a ManageExistingInvalidReference exception.
The volume may have a volume_type, and the driver can inspect that and compare against the properties of the referenced backend storage object. If they are incompatible, raise a ManageExistingVolumeTypeMismatch, specifying a reason for the failure.
Parameters: |
|
---|
manage_existing_get_size
(volume, existing_ref)¶Return size of volume to be managed by manage_existing.
When calculating the size, round up to the next GB.
Parameters: |
|
---|---|
Returns size: | Volume size in GiB (integer) |
remove_export
(context, volume)¶Removes an export for a volume.
retype
(context, volume, new_type, diff, host)¶terminate_connection
(*args, **kwargs)¶unmanage
(volume)¶Removes the specified volume from Cinder management.
Does not delete the underlying backend storage object.
For most drivers, this will not need to do anything. However, some drivers might use this call as an opportunity to clean up any Cinder-specific configuration that they have associated with the backend storage object.
Parameters: | volume – Cinder volume to unmanage |
---|
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.