Merge "Add interface documentation to driver devref"

This commit is contained in:
Jenkins 2016-07-26 02:55:00 +00:00 committed by Gerrit Code Review
commit 53ac615273
2 changed files with 62 additions and 1 deletions

View File

@ -82,3 +82,63 @@ tests.
The details for the required volume driver interfaces can be found in the The details for the required volume driver interfaces can be found in the
``cinder/interface/volume_*_driver.py`` source. ``cinder/interface/volume_*_driver.py`` source.
Driver Development Documentations
---------------------------------
The LVM driver is our reference for all new driver implementations. The
information below can provide additional documentation for the methods that
volume drivers need to implement.
Base Driver Interface
`````````````````````
The methods documented below are the minimum required interface for a volume
driver to support. All methods from this interface must be implemented
in order to be an official Cinder volume driver.
.. automodule:: cinder.interface.volume_driver
:members:
Snapshot Interface
``````````````````
Another required interface for a volume driver to be fully compatible is the
ability to create and manage snapshots. Due to legacy constraints, this
interface is not included in the base driver interface above.
Work is being done to address those legacy issues. Once that is complete, this
interface will be merged with the base driver interface.
.. automodule:: cinder.interface.volume_snapshot_driver
:members:
Manage/Unmanage Support
```````````````````````
An optional feature a volume backend can support is the ability to manage
existing volumes or unmanage volumes - keep the volume on the storage backend
but no longer manage it through Cinder.
To support this functionality, volume drivers must implement these methods:
.. automodule:: cinder.interface.volume_management_driver
:members:
Manage/Unmanage Snapshot Support
````````````````````````````````
In addition to the ability to manage and unmanage volumes, Cinder backend
drivers may also support managing and unmanaging volume snapshots. These
additional methods must be implemented to support these operations.
.. automodule:: cinder.interface.volume_snapshotmanagement_driver
:members:
Volume Consistency Groups
`````````````````````````
Some storage backends support the ability to group volumes and create write
consistent snapshots across the group. In order to support these operations,
the following interface must be implemented by the driver.
.. automodule:: cinder.interface.volume_consistencygroup_driver
:members:

View File

@ -34,7 +34,8 @@ def print_drivers(drivers, config_name):
if driver.version: if driver.version:
print('* Version: %s' % driver.version) print('* Version: %s' % driver.version)
print('* %s=%s' % (config_name, driver.class_fqn)) print('* %s=%s' % (config_name, driver.class_fqn))
print('* Description:') print('* Description::')
print('')
format_description(driver.desc) format_description(driver.desc)
print('') print('')
print('') print('')