So I went to do the work I said I was going to do at last week's Ceilometer meeting -- translate the 2 Alembic migrations in the Ceilometer source into SA-migrate migrations -- and then rebased my branch only to find 2 more Alembic migrations added in the last few days:

https://review.openstack.org/#/c/42716/
https://review.openstack.org/#/c/42715/

I will note that there is no unit testing of either of these migrations, because neither of them runs on SQLite, which is what the unit tests use (improperly, IMHO). There is a unique constraint name in one of them (only apparently used in the PostgreSQL driver) that is inconsistent with the naming of unique constraints that is used in the other migration. Note that I am not in favor of the unique constraint naming convention of table_columnA0columnB0columnC0, as I've noted in the upstream oslo.db patch that adds a linter-style check for this convention:

https://review.openstack.org/#/c/42307/

I thought we were going to translate the existing 2 Alembic migrations to SA-migrate migrations, and then do a switch to Alembic (removing the old SA-migrate versioning) in Icehouse-1? This was supposed to get us past the current mess of having both SA-migrate and Alembic migrations in the same source code base -- which is confusing a bunch of contributors who have written SA-migrate migrations.

Can we have a decision on this please?

I thought the plan from last week was:

1) Translate the 2 Alembic migrations to SA-Migrate migrations
2) Remove Alembic support from Ceilometer
3) Add unit tests (pretty much as-is from Glance) that would test the SA-migrate migrations in the unit tests as well as the MySQL and PostgreSQL testers in the gate
4) Add SA-migrate migrations for the remainder of Havana
5) Immediately after the cut of Havana final, do a cutover to Alembic from SA-migrate that would: a) Create an initial Alembic migration that would be the schema state of the Ceilometer database at the last cut of Havana b) Write a simple check for the migrate_version table in the database to check if the database was under SA-migrate control. If so, do nothing other than remove the migrate_version table
 c) Remove all the ceilometer/storage/sqlalchemy/migrate_repo/*


Thanks,
-jay

_______________________________________________
OpenStack-dev mailing list
[email protected]
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to