Commit Graph

11 Commits

Author SHA1 Message Date
Gorka Eguileor 2707632147 Doc: Improve name_id documentation
Currently our code and contributor documentation doesn't mention the
difference between the two different UUIDs we can have and how drivers
should use them.

This patch tries to provide a brief description about it in multiple
places to reduce the number of bugs that happen around it.

Change-Id: I946ead7547571ccd1b2df55ac1f3d4689d1f8089
2022-05-12 19:54:03 +02:00
Gorka Eguileor 39e518456c Fix reported storage_protocol
Cinder has multiple drivers reporting the same storage_protocol in their
stats but with different strings:

For example we have the following variants:
- nfs and NFS
- nveof, NVMe-oF, NVMeOF
- iSCSI, iscsi
- FC, fc, fibre_channel

This patch documents the right values (to use existing constants) and
makes the scheduler treat all variants as if they were equal.

This is done by changing the storage_protocol into a list in the
scheduler upon reception of the stats from the volume.  Most of the code
in the scheduler is already able to handle this, the only changes
necessary are on the filter and goodness function code, which will now
run the respective functions for all the different protocol alternatives
and select the right one, but only when the function actually uses the
storage_protocol.

The API will now report the preferred protocol name in operations like
"cinder get-pools --detail".

Closes-Bug: #1966103
Change-Id: I07d74078dbb102490dd722029e32c74cec3aa44c
2022-04-20 18:48:24 +02:00
Andreas Jaeger 99ec31f53f Docs: Make links more robust
Some docs used external links which cannot be verified and thus we
easily might get broken links. Use internal links that Sphinx can verify.

Some additional updates:
* Update tox.ini to not publish the dirtrees.
* Update openstack mailing list to openstack-discuss
* Remove reference to not anymore existing 'OpenStack Configuration
  Reference'

Change-Id: I9a613fa682021fab7bbaba90b219adaa7d9384d3
2019-08-10 10:49:23 +02:00
Gorka Eguileor 2f0bd74604 Fix get_driver_options
Any new Cinder driver we add that doesn't have the "get_driver_options"
method defined will break the driver list generation tools.

The reason why it breaks them is because this method must be static, yet
our base driver class doesn't define it as static.

This patch:

- Sets the base method as static to prevent new drivers from breaking
  the tools.

- Documents the existence of this method for driver developers.

- Adds get_driver_options method for drivers that are missing it.

- Fix macrosan_client help message that breaks the doc building process.

Closes-Bug: #1838225
Change-Id: I4797724d7b55709f0903d522b0233242b867146d
2019-07-31 20:24:52 +02:00
Sean McGinnis 57ea996bb1
Docs: Add new driver review checklist
This is the start of a review checklist for new drivers to help the
driver contributors and the core reviewers to watch for some common
issues we've seen.

Change-Id: Ib676658b00cf43e07daf8f4af9b2ee0c7c17cb17
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
2019-05-31 15:53:14 -05:00
Erlon R. Cruz f33b234aa0 Make scheduler check online_extend_support capability
Since Pike release, Cinder supports volume online extending, and by
default it assumes that every backend supports this feature. This
assumption causes a bug on those backends that don't support it. On
such backends, an online extending attempt leaves the volume in
error_extending state.

This patch allows a backend to report to the scheduler if it does not
support online extending. This way, an online extending attempt will
fail, without leaving the volume in error_extending state.

Closes-bug: #1765182
Change-Id: I2c31b5c171574074a8fc7ba86f94f983fc9658f7
Co-Authored-By: Lucio Seki <luciomitsuru.seki@fit-tecnologia.org.br>
2018-06-26 14:42:34 -03:00
Sean McGinnis 147dac80b9 Add snapshots to minimum driver interface
Snapshot functionality was excluded from the base volume
driver functionality while issues were being worked on
with NFS based drivers. Those have since been resolved
and we should now include the snapshot calls in the base
interface for volume backend drivers.

Change-Id: Ic7d6ca1de84d36f54a00e3afe3647865d6edd211
2018-05-10 13:52:32 +00:00
Eric Harney f032053bfb Doc: Add driver security notes to contributor doc
Document some requirements that driver authors should
consider when creating drivers.

Change-Id: Ieae8863d5e4c140545d89c4cfa4e019dbb301a36
2018-04-10 10:09:40 -04:00
Jeremy Liu e5270cdb9e Correct module path in doc
Change-Id: Ic35521b00bb7153fdf74569d225b643a27bf21c8
2017-08-25 18:02:45 +08:00
Jay S. Bryant 907e49bdf5 [DOC BLD FIX] Fix duplicate content warnings
The contributor/drivers.rst file was using 'automodule' to
pull in docstrings from the code.  This is an efficient
way to get the documentation into the contributor part
of the documentation but it was causing Sphinx to think
that it was building the documentation for those sections
twice.

To resolve this I needed to add :noindex: to the automodule
arguments.  That fixed the WARNINGS that were being produced
and appears to produce properly formatted HTML.

Change-Id: I4107843a7363791b4607fe6d206340035e56e377
2017-08-23 10:24:58 -05:00
Jay S. Bryant 1423480fb6 Make doc/source directory compliant with design in spec
The following spec defines what each project's doc/source
directory is supposed to look like:

https://specs.openstack.org/openstack/docs-specs/specs/pike/os-manuals-migration.html

I had not yet moved existing content to follow this design.
This patch does that, moving the devref to the
'contributor' directory.  It also moves the CLI
related documentation into the 'cli' directory.  I have
updated the autodoc generation to now create the api
documentation in 'doc/source/contributor/api'.

This patch also creates a template for future documentation
contribution.  I have created all of the directories
recommended by the spec and have included documentation
as to what should go in each directory.

The index file is updated to point at the new locations for
existing content.

'doc/.gitignore' is updated so that it won't complain about the
automatically generated 'doc/contributor/api' directory.

Change-Id: I55c50fa0b7c1d06c91e40dbcfd11b1c8e8378aa6
2017-07-19 15:59:02 -05:00