diff --git a/neutron_vpnaas/db/migration/alembic_migrations/versions/liberty/contract/2c82e782d734_drop_tenant_id_in_cisco_csr_identifier_.py b/neutron_vpnaas/db/migration/alembic_migrations/versions/liberty/contract/2c82e782d734_drop_tenant_id_in_cisco_csr_identifier_.py index 757f4a7b3..0cd3b733b 100644 --- a/neutron_vpnaas/db/migration/alembic_migrations/versions/liberty/contract/2c82e782d734_drop_tenant_id_in_cisco_csr_identifier_.py +++ b/neutron_vpnaas/db/migration/alembic_migrations/versions/liberty/contract/2c82e782d734_drop_tenant_id_in_cisco_csr_identifier_.py @@ -22,6 +22,7 @@ Create Date: 2015-08-20 15:17:09.897944 """ from alembic import op +import sqlalchemy as sa from neutron.db import migration @@ -35,4 +36,7 @@ neutron_milestone = [migration.LIBERTY] def upgrade(): + insp = sa.inspect(op.get_bind()) + if 'cisco_csr_identifier_map' not in insp.get_table_names(): + return op.drop_column('cisco_csr_identifier_map', 'tenant_id') diff --git a/neutron_vpnaas/db/migration/alembic_migrations/versions/liberty/contract/333dfd6afaa2_populate_vpn_service_table_fields.py b/neutron_vpnaas/db/migration/alembic_migrations/versions/liberty/contract/333dfd6afaa2_populate_vpn_service_table_fields.py index 412e449f8..d8cf05051 100644 --- a/neutron_vpnaas/db/migration/alembic_migrations/versions/liberty/contract/333dfd6afaa2_populate_vpn_service_table_fields.py +++ b/neutron_vpnaas/db/migration/alembic_migrations/versions/liberty/contract/333dfd6afaa2_populate_vpn_service_table_fields.py @@ -58,6 +58,9 @@ def _migrate_external_ips(engine): addresses for an IP version, then only the first one will be stored (the same as the reference driver does). """ + insp = sa.inspect(engine) + if 'cisco_csr_identifier_map' not in insp.get_table_names(): + return session = sa.orm.Session(bind=engine.connect()) services = session.query(VPNService).all() for service in services: diff --git a/neutron_vpnaas/db/migration/alembic_migrations/versions/liberty/contract/56893333aa52_fix_identifier_map_fk.py b/neutron_vpnaas/db/migration/alembic_migrations/versions/liberty/contract/56893333aa52_fix_identifier_map_fk.py index 0e8a534c1..a31d8b1fe 100644 --- a/neutron_vpnaas/db/migration/alembic_migrations/versions/liberty/contract/56893333aa52_fix_identifier_map_fk.py +++ b/neutron_vpnaas/db/migration/alembic_migrations/versions/liberty/contract/56893333aa52_fix_identifier_map_fk.py @@ -38,6 +38,9 @@ branch_labels = (cli.CONTRACT_BRANCH,) def upgrade(): + insp = sa.inspect(op.get_bind()) + if 'cisco_csr_identifier_map' not in insp.get_table_names(): + return # re-size existing data if necessary identifier_map = table('cisco_csr_identifier_map', column('ipsec_site_conn_id', sa.String(36))) diff --git a/neutron_vpnaas/db/migration/alembic_migrations/versions/rocky/contract/e50641731f1a_drop_cisco_csr_identifier_map_table.py b/neutron_vpnaas/db/migration/alembic_migrations/versions/rocky/contract/e50641731f1a_drop_cisco_csr_identifier_map_table.py index 025026c48..902e61165 100644 --- a/neutron_vpnaas/db/migration/alembic_migrations/versions/rocky/contract/e50641731f1a_drop_cisco_csr_identifier_map_table.py +++ b/neutron_vpnaas/db/migration/alembic_migrations/versions/rocky/contract/e50641731f1a_drop_cisco_csr_identifier_map_table.py @@ -22,6 +22,8 @@ Create Date: 2018-02-28 10:28:59.846652 """ from alembic import op +import sqlalchemy as sa + from neutron.db import migration # revision identifiers, used by Alembic. @@ -34,4 +36,7 @@ neutron_milestone = [migration.ROCKY, migration.STEIN, def upgrade(): + insp = sa.inspect(op.get_bind()) + if 'cisco_csr_identifier_map' not in insp.get_table_names(): + return op.drop_table('cisco_csr_identifier_map')