Package: python3-cinder
Version: 2:13.0.3-1

Openstack components regularly prune their SQL upgrade scripts.

Here's an example of why this can be a problem (this isn't an actual real case, 
just for illustration purposes):
Say release no. 14 of openstack only contains SQL upgrade scripts that work 
from release 12 onwards. Trying to upgrade a release 11 database immediately to 
release 14 will not work and requires two separate steps, first installing 
release 12, then running update, then installing release 14, and running the 
SQL update again.

When trying to update an openstack running on debian 9 to one running on debian 
10, you can see why this is an issue:

For example, the 'cinder' package is updated from 'Newton' (DB version 79) 
immediately to 'Rocky'. "Rocky" database updates start at version 86 (the 'full 
database' script creates version 86).

That means the 79-80, 80-81, 81-82, ..., 84-85 scripts are missing from the 
/usr/lib/python3/dist-packages/cinder/db/sqlalchemy/migrate_repo/versions/ 
directory.

To solve this, you would probably have to copy over 073_cinder_init.py until 
085_modify_workers_updated_at.py from 
https://github.com/openstack/cinder/tree/stable/pike/cinder/db/sqlalchemy/migrate_repo/versions
 into the package, and remove the existing 085_cinder_init.py. ("Pike" is an 
openstack release in -between Newton (debian 9) and Rocky (debian 10)). Then, 
you have an unbroken chain of SQL update scripts that will update the database 
from version 79 all the way to version 123.

This problem is likely to also occur with various other openstack components.







Reply via email to