cinder/doc
John Griffith fe538dc63d Cinder replication V2
This adds a scaled back replication implementation
that leaves the bulk of the work up to the driver.
We just provide basic admin API methods to do things
like enable/disable and fail-over.  Set up and
specification of replication targets for a specific
back end are now intended to be part of the cinder.conf
in the driver section itself.

Replication targets are configured via the cinder.conf
file in their associated driver section.  See the devref
doc included in this commit for details on the format.

The next step in configuration is to create a volume-type
with replication info in the extra-specs.
    extra-specs = replication=enable, volume_backend_name=foo

This instructs the driver to utilize replication, default is
up to the driver but would suggest single way rep and in the case
of multiple targets, driver could choose or have a default.

If the back end doesn't report replication=enabled in it's stats
updates the scheduler will fail to place the volume due to invalid
host, or no hosts available.

Vendors can easily modify extra-specs or their own config settings
to modify this behavior, any vendor-unique adaptation can be
provided through the use of scoped keys.  Suggested examples
will be published in docs.

See doc/source/devref/replication.rst for more info

Implements BP: replication-v2
DocImpact

Change-Id: I406390e4d5f3c9947df1c4f2de68821e0fd7f75b
2015-08-24 15:37:15 -06:00
..
ext Replace xrange() with six.moves.range() 2015-06-16 10:46:40 +02:00
source Cinder replication V2 2015-08-24 15:37:15 -06:00
.gitignore Initial fork out of Nova. 2012-05-03 10:48:26 -07:00
find_autodoc_modules.sh Fixes a small issue in find_autodoc_modules.sh 2015-01-23 14:38:44 +08:00
generate_autodoc_index.sh Initial fork out of Nova. 2012-05-03 10:48:26 -07:00
Makefile Initial fork out of Nova. 2012-05-03 10:48:26 -07:00
README.rst Complete the doc/README.rst instructions to build docs 2015-04-16 08:13:04 +00:00

Building the docs

Dependencies

Sphinx

You'll need sphinx (the python one) and if you are using the virtualenv you'll need to install it in the virtualenv specifically so that it can load the cinder modules.

pip install Sphinx
Graphviz

Some of the diagrams are generated using the dot language from Graphviz.

sudo apt-get install graphviz

Use make

Just type make:

% make

Look in the Makefile for more targets.

Manually

  1. Generate the code.rst file so that Sphinx will pull in our docstrings:

    % ./generate_autodoc_index.sh > source/code.rst
  2. Run `sphinx_build`:

    % sphinx-build -b html source build/html

Use tox

The easiest way to build the docs and avoid dealing with all dependencies is to let tox prepare a virtualenv and run the build_sphinx target inside the virtualenv:

% cd ..
% tox -e docs

The docs have been built

Check out the build directory to find them. Yay!