cf961f83ac
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 |
||
---|---|---|
.. | ||
views | ||
__init__.py | ||
limits.py | ||
router.py | ||
snapshot_metadata.py | ||
snapshots.py | ||
types.py | ||
volume_metadata.py | ||
volumes.py |