cinder-specs/specs/liberty/incremental-backup-improvements-for-l.rst
Christian Berendt f9b85391ce Update the URLs to the Cloud Admin Guide
The Cloud Admin Guide was converted to RST and the
URLs changed.

Change-Id: Iafd7f7b95d5a17fca243319f1cfae81012b29ed0
2016-05-13 10:26:22 -06:00

158 lines
3.6 KiB
ReStructuredText

..
This work is licensed under a Creative Commons Attribution 3.0 Unported
License.
http://creativecommons.org/licenses/by/3.0/legalcode
=====================================
Incremental backup improvements for L
=====================================
https://blueprints.launchpad.net/cinder/+spec/cinder-incremental-backup-improvements-for-l
This specification proposes to improve the current incremental backup by adding
is_incremental and has_dependent_backups flags to indicate the type of backup
and enriching the notification system via adding parent_id to report.
Problem description
===================
In Kilo release we supported incremental backup, but there are still some
points that need to be improved.
1. From the API perspective, there is no place to show the backup is
incremental or not.
2. User also doesn't know if the incremental backup can be deleted or not,
It's important that Cinder doesn't allow this backup to be deleted since
'Incremental backups exist for this backup'. Currently, they must have a try to
know it. So if there is a flag to indicate the backup can't be deleted or not,
it will bring more convenience to user and reduce API call.
3. Enriching the notification system via reporting to Ceilometer,
add parent_id to report
Use Cases
=========
It's useful for 3rd party billing system to distinguish the full backup and
incremental backup, as using different size of storage space, they could have
different fee for full and incremental backups.
Proposed change
===============
1. When show single backup detail, cinder-api needs to judge if this backup is
a full backup or not checking backup['parent_id'].
2. If it's an incremental backup, judge if this backup has dependent backups
like we do in process of delete backup.
3. Then add 'is_incremental=True' and 'has_dependent_backups=True/False' to
response body.
4. Add parent_id to notification system.
Alternatives
------------
None.
Data model impact
-----------------
None.
REST API impact
---------------
The response body of show incremental backup detail is changed like this:
::
{
"backup": {
......,
"is_incremental": True/False,
"has_dependent_backups": True/False
}
}
If there is full backup, the is_incremental flag will be False.
And has_dependent_backups will be True if the full backup has dependent
backups.
Security impact
---------------
None
Notifications impact
--------------------
Add parent_id to backup notification.
Other end user impact
---------------------
End user can get more info about incremental backup. Enhance user experience.
Performance Impact
------------------
Because we add an additional judgment for dependent backups. We can eliminate
performance impact by adding index to backup table and counting the number of
dependent backups to make judgment in SQL.
IPv6 Impact
-----------
None.
Other deployer impact
---------------------
None.
Developer impact
----------------
None.
Community Impact
----------------
None.
Implementation
==============
Assignee(s)
-----------
wanghao
Work Items
----------
* Add querying and judging code in cinder-api.
* Add parent_id to notification system.
* Add unit tests.
Dependencies
============
None
Testing
=======
Unit tests are needed to ensure response is working correctly.
Documentation Impact
====================
1. Cloud admin documentations will be updated to introduce the changes:
http://docs.openstack.org/admin-guide/blockstorage_volume_backups.html
2. API ref will be also updated for backups:
http://developer.openstack.org/api-ref-blockstorage-v2.html
References
==========
None