diff options
-rw-r--r-- | nova/db/sqlalchemy/migrate_repo/versions/146_aggregate_zones.py | 3 | ||||
-rw-r--r-- | nova/tests/test_migrations.py | 7 |
2 files changed, 9 insertions, 1 deletions
diff --git a/nova/db/sqlalchemy/migrate_repo/versions/146_aggregate_zones.py b/nova/db/sqlalchemy/migrate_repo/versions/146_aggregate_zones.py index 04f31ce5f..f1cfaf5c6 100644 --- a/nova/db/sqlalchemy/migrate_repo/versions/146_aggregate_zones.py +++ b/nova/db/sqlalchemy/migrate_repo/versions/146_aggregate_zones.py @@ -53,5 +53,6 @@ def downgrade(migrate_engine): [aggregate_metadata.c.value]).where(aggregates.c.id == aggregate_metadata.c.aggregate_id).where(aggregate_metadata.c.key == 'availability_zone')).execute() - delete(aggregate_metadata, aggregate_metadata.c.key == 'availability_zone') + delete(aggregate_metadata, + aggregate_metadata.c.key == 'availability_zone').execute() aggregates.c.availability_zone.alter(nullable=False) diff --git a/nova/tests/test_migrations.py b/nova/tests/test_migrations.py index 2a963290a..7c75a64ea 100644 --- a/nova/tests/test_migrations.py +++ b/nova/tests/test_migrations.py @@ -561,6 +561,13 @@ class TestNovaMigrations(BaseMigrationTestCase, CommonTestsMixIn): aggregate_md.c.aggregate_id == data['id']).execute().first() self.assertEqual(data['availability_zone'], md['value']) + def _post_downgrade_146(self, engine): + # Downgrade should delete availability_zone aggregate_metadata entries + aggregate_md = get_table(engine, 'aggregate_metadata') + num_azs = aggregate_md.count().where( + aggregate_md.c.key == 'availability_zone').execute().scalar() + self.assertEqual(0, num_azs) + # migration 147, availability zone transition for services def _pre_upgrade_147(self, engine): az = 'test_zone' |