OpenStack Block Storage (Cinder)
Go to file
xing-yang 18744ba199 Tiramisu: replication group support
This patch adds support for replication group.
It is built upon the generic volume groups.
It supports enable replication, disable replication,
failover replication, and list replication targets.

Client side patch is here:
    https://review.openstack.org/#/c/352229/

To test this server side patch using the client side patch:
export OS_VOLUME_API_VERSION=3.38

Make sure the group type has group_replication_enabled or
consistent_group_replication_enabled set in group specs,
and the volume types have replication_enabled set in extra specs
(to be compatible with Cheesecake).

cinder group-type-show my_group_type
+-------------+---------------------------------------+
| Property    | Value                                 |
+-------------+---------------------------------------+
| description | None                                  |
| group_specs | group_replication_enabled : <is> True |
| id          | 66462b5c-38e5-4a1a-88d6-7a7889ffec55  |
| is_public   | True                                  |
| name        | my_group_type                         |
+-------------+---------------------------------------+

cinder type-show my_volume_type
+---------------------------------+--------------------------------------+
| Property                        | Value                                |
+---------------------------------+--------------------------------------+
| description                     | None                                 |
| extra_specs                     | replication_enabled : <is> True      |
| id                              | 09c1ce01-87d5-489e-82c6-9f084107dc5c |
| is_public                       | True                                 |
| name                            | my_volume_type                       |
| os-volume-type-access:is_public | True                                 |
| qos_specs_id                    | None                                 |
+---------------------------------+--------------------------------------+

Create a group:
cinder group-create --name my_group my_group_type my_volume_type
cinder group-show my_group

Enable replication group on the primary storage:
    cinder group-enable-replication my_group
Expected results: replication_status becomes “enabled”.

Failover replication group to the secondary storage.
If secondary-backend-id is not specified, it will go to the
secondary-backend-id configured in cinder.conf:
    cinder group-failover-replication my_group
If secondary-backend-id is specified (not “default”), it will go to
the specified backend id:
    cinder group-failover-replication my_group
--secondary-backend-id <backend_id>
Expected results: replication_status becomes “failed-over”.

Run failover replication group again to fail the group back to
the primary storage:
    cinder group-failover-replication my_group
--secondary-backend-id default
Expected results: replication_status becomes “enabled”.

Disable replication group:
    cinder group-disable-replication my_group
Expected results: replication_status becomes “disabled”.

APIImpact
DocImpact
Implements: blueprint replication-cg

Change-Id: I4d488252bd670b3ebabbcc9f5e29e0e4e913765a
2017-04-30 22:49:13 -04:00
api-ref/source Merge "Api-ref: Add doc for update backup" 2017-06-14 23:51:08 +00:00
cinder Tiramisu: replication group support 2017-04-30 22:49:13 -04:00
contrib/block-box Clarify some details related blockbox deployment 2017-06-11 13:42:59 +00:00
doc Merge "Correct cinder dev doc typo" 2017-06-06 11:46:56 +00:00
etc/cinder Tiramisu: replication group support 2017-04-30 22:49:13 -04:00
rally-jobs Fix rally job gate-rally-dsvm-cinder-ubuntu-xenial-nv 2017-04-11 16:11:50 +08:00
releasenotes Tiramisu: replication group support 2017-04-30 22:49:13 -04:00
tools Merge "Add driver supported status to dict output format" 2017-03-27 20:58:49 +00:00
.coveragerc Update .coveragerc after the removal of openstack directory 2016-10-17 19:09:37 +05:30
.gitignore Add driver list to doc build 2016-07-26 11:09:05 -05:00
.gitreview Initial fork out of Nova. 2012-05-03 10:48:26 -07:00
.testr.conf Move integrated tests to 'functional' directory 2016-02-09 23:28:27 +02:00
babel.cfg Initial fork out of Nova. 2012-05-03 10:48:26 -07:00
bindep.txt Add libssl to bindep 2017-06-06 17:37:11 -05:00
CONTRIBUTING.rst Optimize the link address 2017-04-08 15:03:44 +08:00
driver-requirements.txt INFINIDAT: add support for iSCSI 2017-05-25 17:47:27 +03:00
HACKING.rst Revert "Using assertFalse(A) instead of assertEqual(False, A)" 2017-06-06 19:43:10 +00:00
LICENSE Initial fork out of Nova. 2012-05-03 10:48:26 -07:00
pylintrc Use six to fix imports on Python 3 2015-06-11 17:19:19 +02:00
README.rst Optimize the link address 2017-04-08 15:03:44 +08:00
requirements.txt Send global_request_id to nova/glance when calls are made 2017-06-08 07:48:30 -04:00
setup.cfg Merge "Remove deprecated cinder.middleware.sizelimit" 2017-04-18 16:19:11 +00:00
setup.py Updated from global requirements 2017-03-02 23:53:29 +00:00
test-requirements.txt Updated from global requirements 2017-06-02 21:54:07 +00:00
tox.ini Add a local bindep.txt override 2017-05-25 23:27:10 +02:00

Team and repository tags

image

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.

Getting Started

If you'd like to run from the master branch, you can clone the git repo:

git clone https://git.openstack.org/openstack/cinder.git

For developer information please see HACKING.rst

You can raise bugs here http://bugs.launchpad.net/cinder

Python client

https://git.openstack.org/cgit/openstack/python-cinderclient