summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--nova/db/sqlalchemy/migrate_repo/versions/146_aggregate_zones.py3
-rw-r--r--nova/tests/test_migrations.py7
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'