From 9859a572dbfefc93de69a6fddb990060e08b24e1 Mon Sep 17 00:00:00 2001 From: Rick Harris Date: Thu, 21 Feb 2013 23:30:39 +0000 Subject: Migration 146: Execute delete call. The original code constructed but did not execute the call to delete the availability zone metadata records. The fix is to call `execute`. Change-Id: I3a5e2e7fd6e96b66b2073a35b55eec2002c6ae58 --- nova/db/sqlalchemy/migrate_repo/versions/146_aggregate_zones.py | 3 ++- nova/tests/test_migrations.py | 7 +++++++ 2 files changed, 9 insertions(+), 1 deletion(-) 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' -- cgit