Nova DB Cleanup
Catch-all for cleaning up Nova DB. Sub-topics are getting broken out into separate BPs.
* db-api-cleanup
* db-session-cleanup
* db-archiving
* db-unique-keys
This work is preparing the way for the following items:
* db-reconnect
Blueprint information
- Status:
- Complete
- Approver:
- Vish Ishaya
- Priority:
- Medium
- Drafter:
- aeva black
- Direction:
- Approved
- Assignee:
- aeva black
- Definition:
- Approved
- Series goal:
- None
- Implementation:
-
Implemented
- Milestone target:
- None
- Started by
- Thierry Carrez
- Completed by
- John Garbutt
Related branches
Related bugs
Bug #1007027: Unnecessary "SELECT 1" statements spamming MySQL server | Expired |
Bug #1007038: Nova is issuing unnecessary ROLLBACK statements to MySQL | Invalid |
Sprints
Whiteboard
johnthetubaguy: seems to be complete, or at least stuck in the past, so marking as complete.
Gerrit topic: https:/
Addressed by: https:/
remove session parameter from fixed_ip_get
Addressed by: https:/
improve sessions around compute_node_*
Addressed by: https:/
improve sessions around floating_
Addressed by: https:/
add doc to standardize session usage
You know, one thing that bothers me about this one is the fact that we really need to be able to do transactions outside of the dbapi. As an example, consider quota_reserve(); all that work needs to be done in a transaction, so all that code ends up being buried deep in the dbapi, whereas arguably the dbapi should be as simple as possible.
-- Vek, 2012-11-01T21:51Z
I disagree. Besides making it harder to read / debug the code, allowing transactions outside of dbapi also encourages very long running transactions, or XA transactions across databases/projects, both of which are very bad IMO. Taking quota_reserve() as an example, the "rollback" logic that currently exists should allow for another process to clean up after a failed allocation, eg. if the process which started the reservation dies ungracefully mid-way through. (I could be mistaken, but I think quotas already does this?) Holding open a database transaction while waiting for API callbacks from, eg. quantum for floating-ip allocation, would be terrible... and is the opposite of eventual-
-- Devananda, 2012-11-02 11:10-07:00
See wiki page http://
Addressed by: https:/
blueprint db-cleanup add index to fixed_ips(deleted, allocated) columns
Gerrit topic: https:/
Addressed by: https:/
Move db.instance_
Addressed by: https:/
Removed unused methods from db.api
Gerrit topic: https:/
Addressed by: https:/
trivial: Remove dead code
Addressed by: https:/
db: Drop cells v1 tables
Addressed by: https:/
db: Drop snapshots table
Addressed by: https:/
db: Drop tables that were moved to API DB
Addressed by: https:/
db: Remove placement tables
Addressed by: https:/
db: Remove unused ec2 DB APIs
Addressed by: https:/
db: Remove unused models
Work Items
Dependency tree

* Blueprints in grey have been implemented.