cinder/cinder/api/views
Xing Yang cf961f83ac Consistency Groups
This patch enables Consistency Groups support in Cinder.
It will be implemented for snapshots for CGs in phase 1.

Design
------------------------------------------------
The workflow is as follows:

1) Create a CG, specifying all volume types that can be supported by this
CG. The scheduler chooses a backend that supports all specified volume types.
The CG will be empty when it is first created.   Backend needs to report
consistencygroup_support = True.  Volume type can have the following in
extra specs: {'capabilities:consistencygroup_support': '<is> True'}.
If consistencygroup_support is not in volume type extra specs, it will be
added to filter_properties by the scheduler to make sure that the scheduler
will select the backend which reports consistency group support capability.

Create CG CLI:
cinder consisgroup-create --volume-type type1,type2 mycg1

This will add a CG entry in the new consistencygroups table.

2) After the CG is created, create a new volume and add to the CG.
Repeat until all volumes are created for the CG.

Create volume CLI (with CG):
cinder create --volume-type type1 --consisgroup-id <CG uuid> 10

This will add a consistencygroup_id foreign key in the new volume
entry in the db.

3) Create a snapshot of the CG (cgsnapshot).

Create cgsnapshot CLI:
cinder cgsnapshot-create <CG uuid>

This will add a cgsnapshot entry in the new cgsnapshots table, create
snapshot for each volume in the CG, and add a cgsnapshot_id foreign key
in each newly created snapshot entry in the db.

DocImpact
Implements: blueprint consistency-groups

Change-Id: Ic105698aaad86ee30ef57ecf5107c224fdadf724
2014-08-27 01:47:31 -04:00
..
__init__.py Empty files shouldn't contain copyright nor license 2013-12-26 22:45:17 -06:00
availability_zones.py Fix and enable gating on H402 2013-12-14 12:34:24 +01:00
backups.py Export and import backup service metadata 2014-02-27 12:38:10 +02:00
cgsnapshots.py Consistency Groups 2014-08-27 01:47:31 -04:00
consistencygroups.py Consistency Groups 2014-08-27 01:47:31 -04:00
limits.py Add snapshot related data to limits api 2014-02-24 16:07:19 +08:00
qos_specs.py Add view builder to QoS specs API extension 2013-09-04 10:47:12 +08:00
transfers.py Fix volume transfer href issue 2013-10-22 18:57:10 +08:00
types.py Remove vim header 2013-12-30 18:53:02 -06:00
versions.py Updates for version list to show correct references 2014-01-16 13:34:34 +05:30