3.1 KiB
Remove DB downgrade
https://blueprints.launchpad.net/glance/+spec/remove-db-downgrade
SQL Migrations are the accepted method for OpenStack projects to ensure that a given schema is consistent across deployments. Often these migrations include updating of the underlying data as well as modifications to the schema. It is inadvisable to perform a downwards migration in any environment. As the bp[1] has been approved through openstack-specs after Kilo, and many projects, such as Nova, have implemented it, Glance should do it as well.
This spec proposed the work and Glance team would like to give users a cycle to deprecate downgrade in their environments. So we will remove them during Newton. In Mitaka, we'll add a deprecation warning to the DB downgrade.
Problem description
Many migrations in OpenStack include data-manipulation to ensure the data conforms to the new schema; often these data-migrations are difficult or impossible to reverse without significant overhead. Performing a downgrade of the schema with such data manipulation can lead to inconsistent or broken state. The possibility of bad-states, relatively minimal testing, and no demand for support renders a downgrade of the schema an unsafe action.
Proposed change
1.Add a deprecation warning in Mitaka[3]. 2.Remove the downgrade script in Newton.
Alternatives
Downgrade paths can continue to be supported.
Data model impact
None
REST API impact
None
Security impact
None
Notifications impact
None
Other end user impact
Users should make a full database backup of their production data before attempting any upgrade[2].
Performance Impact
None
Other deployer impact
Glance could not be downgrade any more after Newton and it's still work before it.
Developer impact
As the downgrade will be remove in the future.There is no need to write new downgrade script any more.
Implementation
Assignee(s)
wangxiyuan(wxy)
Reviewers
Flavio Percoco(flaper87) Nikhil Komawar(nikhil)
Work Items
- Add a deprecation warning for users.
- Remove CLI script for downgrade.
- Remove downgrade migration.
- Document change.
- Add tests code to check there's no downgrade any more and avoid deployer to add new downgrade script.
Dependencies
None
Testing
Write a test to confirm there is no downgrade in Glance any more.
Documentation Impact
To show that downgrade is deprecated now and will not be supported after Newton. And to indicate how to roll back the DB after that.
References
[1]:http://specs.openstack.org/openstack/openstack-specs/specs/no-downward-sql-migration.html [2]:http://docs.openstack.org/openstack-ops/content/ops_upgrades-roll-back.html [3]:https://bugs.launchpad.net/glance/+bug/1501233