106c14a84b
This focuses the replication work on a specific use case, and eliminates some of the ambiguity in earlier versions. Additionally this implementation addresses needs for devices that do replication based on the whole backend-device or on Pools. Use case: DR scenario, where a storage device is rendered inoperable. This implementation allows the preservation of user data for those volumes that are of type replication-enabled. The goal is NOT to make failures completely transparent but instead to preserve data access while an Admin tries to rebuild/recover his/her cloud. It's very important to note that we're no longer interested in dealing with replication in Cinder at a Volume level. The concept of have "some" volumes failover, and "others" left behind, proved to not only be overly complex and difficult to implement, but we never identified a concrete use-case where one would use failover in a scenario where some volumes would stay and be accessible on a primary but other may be moved and accessed via a secondary. In this model, it's host/backend based. So when you failover, you're failing over an entire backend. We heavily leverage existing resources, specifically services, and capabilities. Implements: blueprint replication-update Change-Id: If862bcd18515098639f94a8294a8e44e1358c52a |
||
---|---|---|
.. | ||
ext | ||
source | ||
.gitignore | ||
find_autodoc_modules.sh | ||
generate_autodoc_index.sh | ||
Makefile | ||
README.rst |
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
Generate the code.rst file so that Sphinx will pull in our docstrings:
% ./generate_autodoc_index.sh > source/code.rst
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!