Rolling upgrades: online schema migration
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Heat |
Fix Released
|
Medium
|
Grzegorz Grasza |
Bug Description
Future incompatible changes in sqlalchemy models, like removing, renaming columns and tables can break rolling upgrades (upgrades when Heat services are run at different versions simultaneously).
Because Heat plans to use Alembic for SQL database migrations, "online schema migrations" could be implemented as in Neutron: http://
The spec is long, but the zest of it is to organize schema migrations scripts into "expand" and "contract" phases that are also linked to major release versions in a backwards compatible way. The "expand" phase is run before the upgrade, and the "contract" phase
can be executed after all the services are running with the new version.
In the meantime, to address this, we can also ban schema changes which cause incompatibilities specifically drops and alters, like in Nova:
Changed in heat: | |
milestone: | none → mitaka-1 |
importance: | Undecided → Medium |
Changed in heat: | |
status: | Fix Committed → Fix Released |
Fix proposed to branch: master /review. openstack. org/234686
Review: https:/