OpenStack Block Storage (Cinder)
Go to file
Ronen Kat 1c8f49bfe9 Add support in Cinder for volume replication - driver approach
This is take #2 for managing replicaiton in Cinder.

This patch provides the foundation in Cinder to make volume
replication available to the cloud admin. It makes Cinder aware
of volume replicas, and allows the cloud admin to define storage
policies (volume types) that will enable replication.

In this version Cinder delegates most the work on replication
to the driver itself.

This includes:
1. Driver exposes replication capabilities via volume type convention.
2. Extend volume table to include columns to support replicaion.
3. Create replicas in the driver, making it transparant to Cinder.
4. Volume manager code to handle API, updates to create_volume to
   support creating test replicas.
5. Driver methods to expose per replication functions

Cinder-specs available at https://review.openstack.org/#/c/98308/

Volume replication use-case: Simplified disaster recovery
The OpenStack cloud is deployed across two metro distance data centers.
Storage backends are available in both data ceneters. The backends
are managed by either a single Cinder host or two, depending on the
storage backend requirements.
Storage admin configures the Cinder volume driver to support
replication.
Cloud admin creates a volume type "replicated" with extra-specs:
   capabilities:replication="<is> True"
Every volume created in type "replicated" has a copy on both
backends.
In case of data center failure in first data center, the cloud admin
promotes the replica, and redeploy the VMs - they will now run on
a host in the secondary data center using the storage on the
secondary data center.

Implements: blueprint volume-replication
DocImpact

Change-Id: I964852f08b500400a27bff99e5200386e00643c9
2014-08-23 15:53:55 +00:00
bin Enable import group hacking rule 2014-08-14 13:10:58 +08:00
cinder Add support in Cinder for volume replication - driver approach 2014-08-23 15:53:55 +00:00
doc Use oslo.i18n 2014-08-08 17:26:41 -05:00
etc/cinder Add support in Cinder for volume replication - driver approach 2014-08-23 15:53:55 +00:00
rally-scenarios Add rally job 2014-04-25 18:31:06 +03:00
tools Ignore No value passed for parameter 'dml' message 2014-08-18 22:37:15 +03:00
.coveragerc Add .coveragerc to show proper coverage statistics. As in other openstack projects. 2013-05-15 03:40:07 -07:00
.gitignore Updates .gitignore 2013-11-28 09:52:23 +00:00
.gitreview Initial fork out of Nova. 2012-05-03 10:48:26 -07:00
.mailmap Add mailmap entry 2014-05-07 12:03:15 -07:00
.testr.conf Fix up the test framework 2013-06-14 14:02:17 +00:00
CONTRIBUTING.md Fix the section name in CONTRIBUTING.rst 2014-07-14 19:53:30 +08:00
HACKING.rst Updated HACKING.rst so that it is accurate 2014-08-09 22:07:11 -05:00
LICENSE Initial fork out of Nova. 2012-05-03 10:48:26 -07:00
MANIFEST.in Use setuptools-git. 2012-08-10 11:56:00 -04:00
README.rst Adding helpful URL links to README.rst and HACKING.rst 2013-12-27 19:29:17 -06:00
babel.cfg Initial fork out of Nova. 2012-05-03 10:48:26 -07:00
openstack-common.conf Switch to use oslo.db 2014-07-21 16:10:41 +03:00
pylintrc Initial fork out of Nova. 2012-05-03 10:48:26 -07:00
requirements.txt Adds barbican keymgr wrapper 2014-08-18 09:38:57 -04:00
run_tests.sh Provide a quick way to run flake8 2014-08-18 16:37:32 -06:00
setup.cfg Merge "Remove cinder-rpc-zmq-receiver" 2014-07-29 19:22:32 +00:00
setup.py Updated from global requirements 2014-05-22 07:04:39 +00:00
test-requirements.txt Bump minimum hacking version to 0.9.2 2014-06-27 10:29:46 +00:00
tox.ini Enable import group hacking rule 2014-08-14 13:10:58 +08:00

README.rst

The Choose Your Own Adventure README for Cinder

You have come across a storage service for an open cloud computing service. It has identified itself as "Cinder." It was abstracted from the Nova project.

To monitor it from a distance: follow @openstack on twitter.

To tame it for use in your own cloud: read http://docs.openstack.org

To study its anatomy: read http://cinder.openstack.org

To dissect it in detail: visit http://github.com/openstack/cinder

To taunt it with its weaknesses: use http://bugs.launchpad.net/cinder

To watch it: http://jenkins.openstack.org

To hack at it: read HACKING.rst