Merge "DB Hygiene user story"

This commit is contained in:
Jenkins
2015-12-10 23:38:02 +00:00
committed by Gerrit Code Review

View File

@@ -0,0 +1,81 @@
Database cleanup of deleted object
============================================
*Problem description*
---------------------
Each operator of an OpenStack cloud needs the ability to clean up the OpenStack
database of objects which have been deleted. Currently a new record is created in
the OpenStack database when an object (project, user, VM, network, volume, swift
object, etc.) is created. When an object is deleted its record in the database
remains but is marked as deleted. As an OpenStack cloud stays in operation over
time, the number of records in the database fills with deleted object records and
soon the database becomes too large. This can result in the database consuming
significant resources on the controller node(s) and impacting responsiveness of
the database, even bringing down controller(s).
While a record for deletion of an object is needed for cloud governance it is
not a requirement for the database to retain this record. Thus, some tool is
needed for OpenStack operators to cleanup the database of records from deleted
objects.
* As part of a PoC of an OpenStack cloud, an operator needs a tool to purge the
database of deleted records. This is needed in order to be able to rerun the same
test tool that would create objects every run as well as testing actual growth of
the database for operational conditions not OpenStack implementation artifacts.
* As an operator of an OpenStack cloud I need an ability to remove records of
deleted objects from the database after storing those records for audit purposes.
* As a cloud deployment engineer, I need to be able to re-run the same tests
(with same objects) in a repeatable manner so that I can have a high certainty
in the outcome of my proof of concept and cloud functionality.
* As a cloud deployment engineer, I need only the appropriate records in my
database so that I can complete my upgrade in the allocated down time.
Usage Scenarios Examples
------------------------
TBD
Opportunity/Justification
-------------------------
DB hygiene is required for handling OpenStack performance, operational and
upgrade issues. This ensures that historical records of deleted items are not
impacting operational performance and such deleted items are not polluted by
upgrades.
Related User Stories
--------------------
Nova specs:
* https://review.openstack.org/#/c/184645/
* https://review.openstack.org/#/c/184637/
* https://review.openstack.org/#/c/137669/
Cinder blueprint:
* https://blueprints.launchpad.net/cinder/+spec/db-cleanup
*Requirements*
--------------
* Operator should be able to specify which policy to apply for deleted objects
* Operator should be able to specify which policy to apply for different tenants
and sub-tenants.
* At least two policies must be supported: Policy 1 - Archive the records in
other persistent storage for a specific interval duration; Policy 2 - Remove
the records from database permanently.
*Gaps*
------
None currently known.
*Affected By*
-------------
None.
*External References*
---------------------
None.
Glossary
--------
None.