Online DB schema upgrade
This blueprint aims in adopting concepts adopted previously by Nova [1].
To achieve zero downtime upgrades we need to support running two versions of Cinder simultaneously. This isn't possible if a DB migration removed a column or table between versions - older version will fail DB calls for such resource. To achieve this we should ban contracting schema migrations and eventually make it possible to do them using separate cinder-manage command to be executed by deployer once upgrade is completed.
Also data movements (for example to another column) affect downtime, as we cannot do operations while transfering the data. The idea here is to make sure all services are backwards compatible with data from the DB and we can run such data movements in a partial way.
[1] http://
Blueprint information
- Status:
- Complete
- Approver:
- Sean McGinnis
- Priority:
- High
- Drafter:
- Michal Dulko
- Direction:
- Approved
- Assignee:
- Michal Dulko
- Definition:
- Approved
- Series goal:
- Accepted for mitaka
- Implementation:
- Implemented
- Milestone target:
- mitaka-rc1
- Started by
- Michal Dulko
- Completed by
- Michal Dulko
Related branches
Related bugs
Sprints
Whiteboard
Gerrit topic: https:/
Addressed by: https:/
Add spec for online-
Addressed by: https:/
Block subtractive operations in DB migrations
Addressed by: https:/
Add ConsistencyGrou
Addressed by: https:/
Update online-
Addressed by: https:/
Add generic code for online data migrations
Gerrit topic: https:/
This spec is marked as implemented but it appears the actual implementation is in https:/
<dulek> Yes and no. ;) We have the DB schema migrations guidelines merged into devref and are reviewing the code accordingly, so basic intent of this blueprint is achieved. However if we wanted to do the contracting DB schema migrations, we'll need the patch in question.
Gerrit topic: https:/
Addressed by: https:/
WIP: Migrate consistency groups to groups