Remove downgrade from existing migrations

Remove downgrade from all existing migrations.
Create a test that verifies that no migration has a downgrade.

Related cross-project spec: https://review.openstack.org/152337
Closes-Bug: 1434103

Change-Id: I2aad5f40f9aec9aea7ea869c9f30bc5ea586f3fe
This commit is contained in:
Ann Kamyshnikova 2015-03-19 11:52:37 +03:00
parent 132f1be686
commit b2cbb2d4af
100 changed files with 42 additions and 1024 deletions

View File

@ -37,7 +37,3 @@ def upgrade():
sa.Column('description', sa.String(length=255), nullable=True),
sa.Column('configurations', sa.String(length=4095), nullable=False),
sa.PrimaryKeyConstraint('id'))
def downgrade():
op.drop_table('agents')

View File

@ -36,8 +36,3 @@ def upgrade():
sa.Column('tenant_id', sa.String(length=36), nullable=True),
sa.ForeignKeyConstraint(['network_id'], ['brocadenetworks.id'], ),
sa.PrimaryKeyConstraint('port_id'))
def downgrade():
op.drop_table('brocadeports')
op.drop_table('brocadenetworks')

View File

@ -153,23 +153,3 @@ def upgrade():
ondelete='CASCADE'),
sa.ForeignKeyConstraint(['profile_id'], ['cisco_policy_profiles.id']),
sa.PrimaryKeyConstraint('port_id'))
def downgrade():
op.drop_table('cisco_n1kv_port_bindings')
op.drop_table('cisco_n1kv_network_bindings')
op.drop_table('cisco_n1kv_multi_segments')
op.drop_table('cisco_provider_networks')
op.drop_table('cisco_n1kv_trunk_segments')
op.drop_table('cisco_n1kv_vmnetworks')
op.drop_table('cisco_n1kv_profile_bindings')
op.drop_table('cisco_nexusport_bindings')
op.drop_table('cisco_qos_policies')
op.drop_table('cisco_credentials')
op.drop_table('cisco_n1kv_vxlan_allocations')
op.drop_table('cisco_network_profiles')
op.drop_table('cisco_n1kv_vlan_allocations')
op.drop_table('cisco_policy_profiles')
# generate DDL for dropping enumns
segment_type.drop(op.get_bind(), checkfirst=False)
profile_type.drop(op.get_bind(), checkfirst=False)

View File

@ -115,15 +115,3 @@ def upgrade():
sa.ForeignKeyConstraint(['network_id'], ['networks.id'],
ondelete='CASCADE'),
sa.PrimaryKeyConstraint('network_id', 'dhcp_agent_id'))
def downgrade():
op.drop_table('networkdhcpagentbindings')
op.drop_table('ipavailabilityranges')
op.drop_table('ipallocations')
op.drop_table('subnetroutes')
op.drop_table('ipallocationpools')
op.drop_table('dnsnameservers')
op.drop_table('subnets')
op.drop_table('ports')
op.drop_table('networks')

View File

@ -73,10 +73,3 @@ def upgrade():
['firewall_policies.id'],
name='firewall_rules_ibfk_1'),
sa.PrimaryKeyConstraint('id'))
def downgrade():
op.drop_table('firewall_rules')
op.drop_table('firewalls')
op.drop_table('firewall_policies')
action_types.drop(op.get_bind(), checkfirst=False)

View File

@ -78,11 +78,3 @@ def upgrade():
sa.ForeignKeyConstraint(['router_id'], ['routers.id'],
ondelete='CASCADE'),
sa.PrimaryKeyConstraint('id'))
def downgrade():
op.drop_table('routerl3agentbindings')
op.drop_table('routerroutes')
op.drop_table('floatingips')
op.drop_table('routers')
op.drop_table('externalnetworks')

View File

@ -36,8 +36,3 @@ def upgrade():
sa.ForeignKeyConstraint(['network_id'], ['networks.id'],
ondelete='CASCADE'),
sa.PrimaryKeyConstraint('network_id'))
def downgrade():
op.drop_table('network_bindings')
op.drop_table('network_states')

View File

@ -130,18 +130,3 @@ def upgrade():
sa.Column('total_connections', sa.Integer(), nullable=False),
sa.ForeignKeyConstraint(['pool_id'], ['pools.id'], ),
sa.PrimaryKeyConstraint('pool_id'))
def downgrade():
op.drop_table('poolstatisticss')
op.drop_table('poolmonitorassociations')
op.drop_table('members')
op.drop_table('poolloadbalanceragentbindings')
op.drop_table('sessionpersistences')
op.drop_table('pools')
op.drop_table('vips')
op.drop_table('healthmonitors')
protocols.drop(op.get_bind(), checkfirst=False)
session_persistence_type.drop(op.get_bind(), checkfirst=False)
lb_methods.drop(op.get_bind(), checkfirst=False)
health_monitor_type.drop(op.get_bind(), checkfirst=False)

View File

@ -48,9 +48,3 @@ def upgrade():
['meteringlabels.id'],
ondelete='CASCADE'),
sa.PrimaryKeyConstraint('id'))
def downgrade():
op.drop_table('meteringlabelrules')
op.drop_table('meteringlabels')
direction.drop(op.get_bind(), checkfirst=False)

View File

@ -134,19 +134,3 @@ def upgrade():
sa.Column('tenant_id', sa.String(length=255), nullable=True),
sa.Column('id', sa.String(length=36), nullable=False),
sa.PrimaryKeyConstraint('id'))
def downgrade():
op.drop_table('arista_provisioned_tenants')
op.drop_table('arista_provisioned_vms')
op.drop_table('arista_provisioned_nets')
op.drop_table('cisco_ml2_credentials')
op.drop_table('cisco_ml2_nexusport_bindings')
op.drop_table('ml2_port_bindings')
op.drop_table('ml2_network_segments')
op.drop_table('ml2_flat_allocations')
op.drop_table('ml2_gre_allocations')
op.drop_table('ml2_vxlan_allocations')
op.drop_table('ml2_gre_endpoints')
op.drop_table('ml2_vxlan_endpoints')
op.drop_table('ml2_vlan_allocations')

View File

@ -45,9 +45,3 @@ def upgrade():
sa.ForeignKeyConstraint(['port_id'], ['ports.id'],
ondelete='CASCADE'),
sa.PrimaryKeyConstraint('port_id'))
def downgrade():
op.drop_table('port_profile')
op.drop_table('mlnx_network_bindings')
op.drop_table('segmentation_id_allocation')

View File

@ -122,18 +122,3 @@ def upgrade():
sa.Column('mac', sa.String(length=32), nullable=False),
sa.ForeignKeyConstraint(['id'], ['ports.id'], ondelete='CASCADE'),
sa.PrimaryKeyConstraint('id'))
def downgrade():
op.drop_table('portinfos')
op.drop_table('packetfilters')
op.drop_table('ofctenants')
op.drop_table('ofcports')
op.drop_table('ofcfilters')
op.drop_table('ofcnetworkmappings')
op.drop_table('ofcfiltermappings')
op.drop_table('ofctenantmappings')
op.drop_table('ofcnetworks')
op.drop_table('routerproviders')
op.drop_table('ofcroutermappings')
op.drop_table('ofcportmappings')

View File

@ -82,13 +82,3 @@ def upgrade():
sa.Column('router_id', sa.String(length=36), nullable=False),
sa.ForeignKeyConstraint(['router_id'], ['routers.id'], ),
sa.PrimaryKeyConstraint('resource_id', 'resource_type'))
def downgrade():
op.drop_table('servicerouterbindings')
op.drop_table('routerservicetypebindings')
op.drop_table('extradhcpopts')
op.drop_table('portbindingports')
op.drop_table('allowedaddresspairs')
op.drop_table('quotas')
op.drop_table('providerresourceassociations')

View File

@ -79,12 +79,3 @@ def upgrade():
sa.ForeignKeyConstraint(['rule_id'], ['routerrules.id'],
ondelete='CASCADE'),
sa.PrimaryKeyConstraint('rule_id', 'nexthop'))
def downgrade():
op.drop_table('nexthops')
op.drop_table('routerrules')
op.drop_table('routerflavors')
op.drop_table('networkflavors')
op.drop_table('hyperv_network_bindings')
op.drop_table('hyperv_vlan_allocations')

View File

@ -52,10 +52,3 @@ def upgrade():
sa.ForeignKeyConstraint(['network_id'], ['networks.id'],
ondelete='CASCADE'),
sa.PrimaryKeyConstraint('network_id'))
def downgrade():
op.drop_table('ovs_network_bindings')
op.drop_table('ovs_vlan_allocations')
op.drop_table('ovs_tunnel_allocations')
op.drop_table('ovs_tunnel_endpoints')

View File

@ -36,8 +36,3 @@ def upgrade():
sa.ForeignKeyConstraint(['port_id'], ['ports.id'],
ondelete='CASCADE'),
sa.PrimaryKeyConstraint('port_id'))
def downgrade():
op.drop_table('portsecuritybindings')
op.drop_table('networksecuritybindings')

View File

@ -33,8 +33,3 @@ def upgrade():
nullable=False),
sa.ForeignKeyConstraint(['network_id'], ['networks.id'], ),
sa.PrimaryKeyConstraint('tunnel_key'))
def downgrade():
op.drop_table('tunnelkeys')
op.drop_table('tunnelkeylasts')

View File

@ -56,10 +56,3 @@ def upgrade():
sa.ForeignKeyConstraint(['port_id'], ['ports.id'], ondelete='CASCADE'),
sa.ForeignKeyConstraint(['security_group_id'], ['securitygroups.id']),
sa.PrimaryKeyConstraint('port_id', 'security_group_id'))
def downgrade():
op.drop_table('securitygroupportbindings')
op.drop_table('securitygrouprules')
op.drop_table('securitygroups')
rule_direction_enum.drop(op.get_bind(), checkfirst=False)

View File

@ -51,8 +51,3 @@ def upgrade():
# if another plugin was configured before the nuage one
if not migration.schema_has_table('routerroutes'):
l3_init_ops.create_routerroutes()
def downgrade():
# The routerroutes table should not be dropped
op.drop_table('routerroutes_mapping')

View File

@ -172,7 +172,3 @@ def upgrade():
op.drop_table('ofcnetworks')
op.drop_table('ofcports')
op.drop_table('ofcfilters')
def downgrade():
pass

View File

@ -52,7 +52,3 @@ def upgrade():
sa.ForeignKeyConstraint(['lsn_id'], ['lsn.lsn_id'],
ondelete='CASCADE'),
sa.PrimaryKeyConstraint('lsn_port_id'))
def downgrade():
pass

View File

@ -63,10 +63,6 @@ def upgrade():
op.execute(ins)
def downgrade():
op.drop_table('default_security_group')
def check_sanity(connection):
res = get_duplicate_default_security_groups(connection)
if res:

View File

@ -36,7 +36,3 @@ def upgrade():
op.add_column('ml2_port_bindings',
sa.Column('profile', sa.String(length=4095),
nullable=False, server_default=''))
def downgrade():
pass

View File

@ -26,28 +26,11 @@ revision = '1680e1f0c4dc'
down_revision = '3c346828361e'
from alembic import op
import sqlalchemy as sa
def upgrade(active_plugins=None, options=None):
def upgrade():
op.execute('INSERT INTO cisco_ml2_nexusport_bindings (port_id, '
'vlan_id, switch_ip, instance_id) SELECT '
'port_id, vlan_id, switch_ip, instance_id FROM '
'cisco_nexusport_bindings')
op.drop_table('cisco_nexusport_bindings')
def downgrade(active_plugins=None, options=None):
op.create_table(
'cisco_nexusport_bindings',
sa.Column('id', sa.Integer(), primary_key=True, autoincrement=True),
sa.Column('port_id', sa.String(255)),
sa.Column('vlan_id', sa.Integer(), nullable=False),
sa.Column('switch_ip', sa.String(255), nullable=False),
sa.Column('instance_id', sa.String(255), nullable=False),
sa.PrimaryKeyConstraint('id')
)
op.execute('INSERT INTO cisco_nexusport_bindings (port_id, '
'vlan_id, switch_ip, instance_id) SELECT '
'port_id, vlan_id, switch_ip, instance_id FROM '
'cisco_ml2_nexusport_bindings')

View File

@ -75,12 +75,3 @@ def upgrade(active_plugins=None, options=None):
primary_key=True),
sa.ForeignKeyConstraint(['network_id'], ['networks.id'],
ondelete='CASCADE'))
def downgrade(active_plugins=None, options=None):
op.drop_table('ha_router_vrid_allocations')
op.drop_table('ha_router_networks')
op.drop_table('ha_router_agent_port_bindings')
l3_ha_states.drop(op.get_bind(), checkfirst=False)
op.drop_column('router_extra_attributes', 'ha_vr_id')
op.drop_column('router_extra_attributes', 'ha')

View File

@ -52,19 +52,3 @@ def upgrade():
source='extradhcpopts',
local_cols=['port_id', 'opt_name', 'ip_version']
)
def downgrade():
with migration.remove_fks_from_table(TABLE_NAME):
op.drop_constraint(
name=CONSTRAINT_NAME_NEW,
table_name='extradhcpopts',
type_='unique'
)
op.drop_column('extradhcpopts', 'ip_version')
op.create_unique_constraint(
name=CONSTRAINT_NAME_OLD,
source='extradhcpopts',
local_cols=['port_id', 'opt_name']
)

View File

@ -70,7 +70,3 @@ def upgrade():
"FROM networkgatewaydevicereferences AS gw_dev_ref "
"INNER JOIN networkgateways AS net_gw ON "
"gw_dev_ref.network_gateway_id=net_gw.id")
def downgrade():
pass

View File

@ -33,7 +33,3 @@ def upgrade():
op.add_column('agents',
sa.Column('load', sa.Integer(),
server_default='0', nullable=False))
def downgrade():
op.drop_column('agents', 'load')

View File

@ -48,7 +48,3 @@ def upgrade():
# each record in securitygroups
op.execute("INSERT INTO neutron_nsx_security_group_mappings SELECT id,id "
"from securitygroups")
def downgrade():
pass

View File

@ -55,9 +55,3 @@ def upgrade():
sa.Column('contract_id', sa.String(length=64), nullable=False),
sa.Column('filter_id', sa.String(length=64), nullable=False),
sa.PrimaryKeyConstraint('tenant_id'))
def downgrade(active_plugins=None, options=None):
op.drop_table('cisco_ml2_apic_contracts')
op.drop_table('cisco_ml2_apic_port_profiles')
op.drop_table('cisco_ml2_apic_epgs')

View File

@ -30,7 +30,3 @@ from neutron.db.migration.alembic_migrations import heal_script
def upgrade():
heal_script.heal()
def downgrade():
pass

View File

@ -48,23 +48,3 @@ def upgrade():
'poolstatisticss', 'total_connections',
nullable=False,
existing_type=sa.BigInteger())
@migration.skip_if_offline
def downgrade():
migration.alter_column_if_exists(
'poolstatisticss', 'bytes_in',
nullable=True,
existing_type=sa.BigInteger())
migration.alter_column_if_exists(
'poolstatisticss', 'bytes_out',
nullable=True,
existing_type=sa.BigInteger())
migration.alter_column_if_exists(
'poolstatisticss', 'active_connections',
nullable=True,
existing_type=sa.BigInteger())
migration.alter_column_if_exists(
'poolstatisticss', 'total_connections',
nullable=True,
existing_type=sa.BigInteger())

View File

@ -34,7 +34,3 @@ def upgrade():
op.add_column('ml2_network_segments',
sa.Column('segment_index', sa.Integer(), nullable=False,
server_default='0'))
def downgrade():
op.drop_column('ml2_network_segments', 'segment_index')

View File

@ -46,7 +46,3 @@ def upgrade():
source=TABLE_NAME,
local_cols=['agent_type', 'host']
)
def downgrade():
pass

View File

@ -60,8 +60,3 @@ def upgrade():
ondelete='SET NULL'),
sa.PrimaryKeyConstraint('port_id', 'host')
)
def downgrade():
op.drop_table('ml2_dvr_port_bindings')
op.drop_table('dvr_host_macs')

View File

@ -34,8 +34,3 @@ def upgrade():
op.add_column('ml2_network_segments',
sa.Column('is_dynamic', sa.Boolean(), nullable=False,
server_default=sa.sql.false()))
def downgrade():
op.drop_column('ml2_network_segments', 'is_dynamic')

View File

@ -53,7 +53,3 @@ def upgrade():
name='ipv6_address_modes'),
nullable=True)
)
def downgrade():
pass

View File

@ -45,7 +45,3 @@ def upgrade():
['ipsec_site_connections.id'],
ondelete='CASCADE')
)
def downgrade():
pass

View File

@ -39,12 +39,3 @@ def upgrade():
op.f('ix_ml2_vlan_allocations_physical_network_allocated'),
'ml2_vlan_allocations', ['physical_network', 'allocated'],
unique=False)
def downgrade():
op.drop_index(op.f('ix_ml2_vxlan_allocations_allocated'),
table_name='ml2_vxlan_allocations')
op.drop_index(op.f('ix_ml2_gre_allocations_allocated'),
table_name='ml2_gre_allocations')
op.drop_index(op.f('ix_ml2_vlan_allocations_physical_network_allocated'),
table_name='ml2_vlan_allocations')

View File

@ -37,7 +37,3 @@ def upgrade():
sa.Column('vnic_type', sa.String(length=64),
nullable=False,
server_default='normal'))
def downgrade():
pass

View File

@ -26,50 +26,9 @@ revision = '28c0ffb8ebbd'
down_revision = '408cfbf6923c'
from alembic import op
import sqlalchemy as sa
def upgrade():
op.drop_table('mlnx_network_bindings')
op.drop_table('segmentation_id_allocation')
op.drop_table('port_profile')
def downgrade():
op.create_table(
'port_profile',
sa.Column(
'port_id', sa.String(length=36), nullable=False),
sa.Column(
'vnic_type', sa.String(length=32), nullable=False),
sa.ForeignKeyConstraint(['port_id'], ['ports.id'],
ondelete='CASCADE'),
sa.PrimaryKeyConstraint('port_id'),
)
op.create_table(
'segmentation_id_allocation',
sa.Column('physical_network',
sa.String(length=64),
nullable=False),
sa.Column('segmentation_id',
sa.Integer(),
autoincrement=False,
nullable=False),
sa.Column('allocated',
sa.Boolean(),
server_default=sa.sql.false(),
nullable=False),
sa.PrimaryKeyConstraint('physical_network', 'segmentation_id')
)
op.create_table(
'mlnx_network_bindings',
sa.Column('network_id', sa.String(length=36), nullable=False),
sa.Column('network_type', sa.String(length=32), nullable=False),
sa.Column('physical_network', sa.String(length=64), nullable=True),
sa.Column('segmentation_id',
sa.Integer(),
autoincrement=False, nullable=False),
sa.ForeignKeyConstraint(['network_id'],
['networks.id']),
sa.PrimaryKeyConstraint('network_id'),
)

View File

@ -27,8 +27,6 @@ down_revision = '41662e32bce2'
from alembic import op
from neutron.db import migration
TABLE_NAME = 'ports'
CONSTRAINT_NAME = 'uniq_ports0network_id0mac_address'
@ -39,12 +37,3 @@ def upgrade():
source=TABLE_NAME,
local_cols=['network_id', 'mac_address']
)
def downgrade():
with migration.remove_fks_from_table(TABLE_NAME):
op.drop_constraint(
CONSTRAINT_NAME,
TABLE_NAME,
type_='unique'
)

View File

@ -32,7 +32,6 @@ revision = '2b801560a332'
down_revision = '2d2a8a565438'
from alembic import op
import sqlalchemy as sa
from sqlalchemy.sql import expression as sa_expr
from neutron.extensions import portbindings
@ -133,23 +132,3 @@ def upgrade():
op.drop_table('hyperv_vlan_allocations')
op.drop_table('hyperv_network_bindings')
def downgrade():
op.create_table(
'hyperv_vlan_allocations',
sa.Column('physical_network', sa.String(length=64), nullable=False),
sa.Column('vlan_id', sa.Integer(), autoincrement=False,
nullable=False),
sa.Column('allocated', sa.Boolean(), nullable=False),
sa.PrimaryKeyConstraint('physical_network', 'vlan_id'))
op.create_table(
'hyperv_network_bindings',
sa.Column('network_id', sa.String(length=36), nullable=False),
sa.Column('network_type', sa.String(length=32), nullable=False),
sa.Column('physical_network', sa.String(length=64), nullable=True),
sa.Column('segmentation_id', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['network_id'], ['networks.id'],
ondelete='CASCADE'),
sa.PrimaryKeyConstraint('network_id'))

View File

@ -72,52 +72,3 @@ def upgrade():
op.drop_constraint(fk_name[0], 'ml2_port_bindings', 'foreignkey')
op.drop_column('ml2_port_bindings', 'driver')
op.drop_column('ml2_port_bindings', 'segment')
def downgrade():
dialect = op.get_context().bind.dialect.name
op.add_column('ml2_port_bindings',
sa.Column('segment', sa.String(length=36), nullable=True))
op.add_column('ml2_port_bindings',
sa.Column('driver', sa.String(length=64), nullable=True))
op.create_foreign_key(
name=None,
source='ml2_port_bindings', referent='ml2_network_segments',
local_cols=['segment'], remote_cols=['id'], ondelete='SET NULL'
)
op.add_column('ml2_dvr_port_bindings',
sa.Column('driver', sa.String(length=64), nullable=True))
op.add_column('ml2_dvr_port_bindings',
sa.Column('segment', sa.String(length=36), nullable=True))
op.add_column('ml2_dvr_port_bindings',
sa.Column('cap_port_filter', sa.Boolean, nullable=False))
op.create_foreign_key(
name=None,
source='ml2_dvr_port_bindings', referent='ml2_network_segments',
local_cols=['segment'], remote_cols=['id'], ondelete='SET NULL'
)
for table in port_binding_tables:
if dialect == 'postgresql':
op.execute((
"UPDATE %s pb "
"SET driver = pbl.driver, segment = pbl.segment_id "
"FROM ml2_port_binding_levels pbl "
"WHERE pb.port_id = pbl.port_id "
"AND pb.host = pbl.host "
"AND pbl.level = 0;"
) % table)
else:
op.execute((
"UPDATE %s pb "
"INNER JOIN ml2_port_binding_levels pbl "
"ON pb.port_id = pbl.port_id "
"AND pb.host = pbl.host "
"AND pbl.level = 0 "
"SET pb.driver = pbl.driver, pb.segment = pbl.segment_id;"
) % table)
op.drop_table('ml2_port_binding_levels')

View File

@ -78,19 +78,3 @@ def upgrade():
'nuage_port_mapping')
migration.rename_table_if_exists('routerroutes_mapping',
'nuage_routerroutes_mapping')
@migration.skip_if_offline
def downgrade():
migration.drop_table_if_exists('nuage_floatingip_mapping')
migration.drop_table_if_exists('nuage_floatingip_pool_mapping')
migration.rename_table_if_exists('nuage_net_partitions', 'net_partitions')
migration.rename_table_if_exists('nuage_net_partition_router_mapping',
'net_partition_router_mapping')
migration.rename_table_if_exists('nuage_router_zone_mapping',
'router_zone_mapping')
migration.rename_table_if_exists('nuage_subnet_l2dom_mapping',
'subnet_l2dom_mapping')
migration.rename_table_if_exists('nuage_port_mapping', 'port_mapping')
migration.rename_table_if_exists('nuage_routerroutes_mapping',
'routerroutes_mapping')

View File

@ -46,7 +46,3 @@ def upgrade():
sa.Column('status',
sa.String(length=16),
nullable=True))
def downgrade():
pass

View File

@ -26,7 +26,6 @@ revision = '31d7f831a591'
down_revision = '37f322991f59'
from alembic import op
import sqlalchemy as sa
from neutron.db import migration
@ -75,35 +74,3 @@ def upgrade():
table_name=TABLE_NAME,
cols=['router_id', 'l3_agent_id']
)
def downgrade():
context = op.get_context()
dialect = context.bind.dialect.name
op.drop_constraint(
name=PK_NAME,
table_name=TABLE_NAME,
type_='primary'
)
op.add_column(
TABLE_NAME,
sa.Column('id', sa.String(32))
)
if dialect == 'ibm_db_sa':
# DB2 doesn't support nullable column in primary key
op.alter_column(
table_name=TABLE_NAME,
column_name='id',
nullable=False
)
with migration.remove_fks_from_table(TABLE_NAME):
op.create_primary_key(
name=PK_NAME,
table_name=TABLE_NAME,
cols=['id']
)

View File

@ -38,7 +38,3 @@ def upgrade():
if op.get_bind().dialect.name == 'mysql':
for table in TABLES:
op.execute("ALTER TABLE %s ENGINE=InnoDB" % table)
def downgrade():
pass

View File

@ -48,19 +48,3 @@ def upgrade():
sa.Column('neutron_type', sa.String(length=32), nullable=False),
sa.Column('apic_name', sa.String(length=255), nullable=False),
sa.PrimaryKeyConstraint('neutron_id', 'neutron_type'))
def downgrade():
op.drop_table('cisco_ml2_apic_names')
op.drop_table('cisco_ml2_apic_host_links')
op.create_table(
'cisco_ml2_apic_port_profiles',
sa.Column('node_id', sa.String(length=255), nullable=False),
sa.Column('profile_id', sa.String(length=64), nullable=False),
sa.Column('hpselc_id', sa.String(length=64), nullable=False),
sa.Column('module', sa.String(length=10), nullable=False),
sa.Column('from_port', sa.Integer(), nullable=False),
sa.Column('to_port', sa.Integer(), nullable=False),
sa.PrimaryKeyConstraint('node_id'))

View File

@ -38,7 +38,3 @@ def upgrade():
existing_nullable=True)
else:
metering_init_ops.create_meteringlabels()
def downgrade():
pass

View File

@ -44,7 +44,3 @@ def upgrade():
sa.ForeignKeyConstraint(['port_id'], [u'ports.id'],
name=u'embrane_pool_port_ibfk_2'),
sa.PrimaryKeyConstraint(u'pool_id'))
def downgrade():
pass

View File

@ -65,12 +65,3 @@ def upgrade():
op.add_column('cisco_ml2_nexusport_bindings', sa.Column(
'is_provider_vlan', sa.Boolean(), nullable=False,
server_default=sa.sql.false()))
def downgrade():
op.drop_table('ml2_nexus_vxlan_mcast_groups')
op.drop_table('ml2_nexus_vxlan_allocations')
op.drop_table('cisco_ml2_nexus_nve')
op.drop_column('cisco_ml2_nexusport_bindings', 'vni')
op.drop_column('cisco_ml2_nexusport_bindings', 'is_provider_vlan')

View File

@ -38,7 +38,3 @@ def upgrade():
'port_security_enabled) SELECT id, True FROM ports '
'WHERE id NOT IN (SELECT port_id FROM '
'portsecuritybindings);')
def downgrade():
pass

View File

@ -26,7 +26,6 @@ revision = '37f322991f59'
down_revision = '2026156eab2f'
from alembic import op
import sqlalchemy as sa
def upgrade():
@ -35,53 +34,3 @@ def upgrade():
op.drop_table('nuage_routerroutes_mapping')
op.drop_table('nuage_port_mapping')
op.drop_table('nuage_router_zone_mapping')
def downgrade():
op.create_table(
'nuage_router_zone_mapping',
sa.Column('router_id', sa.String(length=36), nullable=False),
sa.Column('nuage_zone_id', sa.String(length=36), nullable=True),
sa.Column('nuage_user_id', sa.String(length=36), nullable=True),
sa.Column('nuage_group_id', sa.String(length=36), nullable=True),
sa.ForeignKeyConstraint(['router_id'], ['routers.id'],
ondelete='CASCADE'),
sa.PrimaryKeyConstraint('router_id'),
)
op.create_table(
'nuage_port_mapping',
sa.Column('port_id', sa.String(length=36), nullable=False),
sa.Column('nuage_vport_id', sa.String(length=36), nullable=True),
sa.Column('nuage_vif_id', sa.String(length=36), nullable=True),
sa.Column('static_ip', sa.Boolean(), nullable=True),
sa.ForeignKeyConstraint(['port_id'], ['ports.id'],
ondelete='CASCADE'),
sa.PrimaryKeyConstraint('port_id'),
)
op.create_table(
'nuage_routerroutes_mapping',
sa.Column('router_id', sa.String(length=36), nullable=False),
sa.Column('nuage_route_id', sa.String(length=36), nullable=True),
sa.ForeignKeyConstraint(['router_id'], ['routers.id'],
ondelete='CASCADE'),
)
op.create_table(
'nuage_floatingip_pool_mapping',
sa.Column('fip_pool_id', sa.String(length=36), nullable=False),
sa.Column('net_id', sa.String(length=36), nullable=True),
sa.Column('router_id', sa.String(length=36), nullable=True),
sa.ForeignKeyConstraint(['net_id'], ['networks.id'],
ondelete='CASCADE'),
sa.ForeignKeyConstraint(['router_id'], ['routers.id'],
ondelete='CASCADE'),
sa.PrimaryKeyConstraint('fip_pool_id'),
)
op.create_table(
'nuage_floatingip_mapping',
sa.Column('fip_id', sa.String(length=36), nullable=False),
sa.Column('router_id', sa.String(length=36), nullable=True),
sa.Column('nuage_fip_id', sa.String(length=36), nullable=True),
sa.ForeignKeyConstraint(['fip_id'], ['floatingips.id'],
ondelete='CASCADE'),
sa.PrimaryKeyConstraint('fip_id'),
)

View File

@ -49,20 +49,3 @@ def upgrade():
source='ml2_vxlan_endpoints',
local_cols=['host']
)
def downgrade():
op.drop_constraint(
name=CONSTRAINT_NAME_VXLAN,
table_name='ml2_vxlan_endpoints',
type_='unique'
)
op.drop_column('ml2_vxlan_endpoints', 'host')
op.drop_constraint(
name=CONSTRAINT_NAME_GRE,
table_name='ml2_gre_endpoints',
type_='unique'
)
op.drop_column('ml2_gre_endpoints', 'host')

View File

@ -48,7 +48,3 @@ def upgrade():
op.execute("INSERT INTO router_extra_attributes "
"SELECT id as router_id, "
"False as distributed from routers")
def downgrade():
op.drop_table('router_extra_attributes')

View File

@ -38,11 +38,3 @@ def upgrade():
for table in ('servicedefinitions', 'servicetypes'):
if migration.schema_has_table(table):
op.drop_table(table)
def downgrade():
"""Don't create the tables
These tables would be created during downgrade at correct place in
migration timeline at revision 557edfc53098.
"""

View File

@ -29,11 +29,7 @@ from alembic import op
import sqlalchemy as sa
def upgrade(active_plugins=None, options=None):
def upgrade():
op.add_column('meteringlabels', sa.Column('shared', sa.Boolean(),
server_default=sa.sql.false(),
nullable=True))
def downgrade(active_plugins=None, options=None):
op.drop_column('meteringlabels', 'shared')

View File

@ -44,7 +44,3 @@ def upgrade():
if engine.name == 'postgresql':
op.execute("ALTER TYPE nvp_network_bindings_binding_type "
"RENAME TO tz_network_bindings_binding_type;")
def downgrade():
pass

View File

@ -38,7 +38,3 @@ def upgrade():
# There might be multiple switches for a neutron network
sa.PrimaryKeyConstraint('neutron_id', 'nsx_id'),
)
def downgrade():
pass

View File

@ -26,23 +26,8 @@ revision = '408cfbf6923c'
down_revision = '1f71e54a85e7'
from alembic import op
import sqlalchemy as sa
def upgrade():
op.drop_table('tunnelkeylasts')
op.drop_table('tunnelkeys')
def downgrade():
op.create_table(
'tunnelkeylasts',
sa.Column('last_key', sa.Integer(), nullable=False),
sa.PrimaryKeyConstraint('last_key'))
op.create_table(
'tunnelkeys',
sa.Column('network_id', sa.String(length=36), nullable=False),
sa.Column('tunnel_key', sa.Integer(), autoincrement=False,
nullable=False),
sa.ForeignKeyConstraint(['network_id'], ['networks.id'], ),
sa.PrimaryKeyConstraint('tunnel_key'))

View File

@ -40,9 +40,3 @@ def upgrade():
for table in TABLES:
op.create_index(op.f('ix_%s_tenant_id' % table),
table, ['tenant_id'], unique=False)
def downgrade():
for table in TABLES:
op.drop_index(op.f('ix_%s_tenant_id' % table),
table_name=table)

View File

@ -47,18 +47,3 @@ def upgrade():
op.create_primary_key(name=None,
table_name=TABLE_NAME,
cols=['router_id', 'l3_agent_id'])
def downgrade():
inspector = reflection.Inspector.from_engine(op.get_bind())
prev_pk_const = inspector.get_pk_constraint(TABLE_NAME)
prev_pk_name = prev_pk_const.get('name')
with migration.remove_fks_from_table(TABLE_NAME):
op.drop_constraint(name=prev_pk_name,
table_name=TABLE_NAME,
type_='primary')
op.create_primary_key(name=None,
table_name=TABLE_NAME,
cols=['router_id'])

View File

@ -32,7 +32,3 @@ import sqlalchemy as sa
def upgrade():
op.add_column('networks', sa.Column('mtu', sa.Integer(),
nullable=True))
def downgrade():
op.drop_column('networks', 'mtu')

View File

@ -45,17 +45,3 @@ def upgrade():
source=TABLE_NAME,
local_cols=['last_ip', 'allocation_pool_id']
)
def downgrade():
op.drop_constraint(
name=UC_1_NAME,
table_name=TABLE_NAME,
type_='unique'
)
op.drop_constraint(
name=UC_2_NAME,
table_name=TABLE_NAME,
type_='unique'
)

View File

@ -49,7 +49,3 @@ def upgrade():
sa.Column('tenant_id', sa.String(length=255), nullable=True),
sa.PrimaryKeyConstraint('id'),
sa.ForeignKeyConstraint(['network_id'], ['ml2_brocadenetworks.id']))
def downgrade():
pass

View File

@ -49,7 +49,3 @@ def upgrade():
# each record in routers
op.execute("INSERT INTO neutron_nsx_router_mappings SELECT id,id "
"from routers")
def downgrade():
pass

View File

@ -146,25 +146,3 @@ def upgrade():
sa.ForeignKeyConstraint(['router_id'], ['routers.id'],
ondelete='CASCADE'),
sa.PrimaryKeyConstraint('router_id'))
def downgrade():
op.drop_table('nsxv_router_ext_attributes')
op.drop_table('nsxv_rule_mappings')
op.drop_table('nsxv_port_index_mappings')
op.drop_table('nsxv_port_vnic_mappings')
op.drop_table('nsxv_tz_network_bindings')
op.drop_table('nsxv_security_group_section_mappings')
op.drop_table('nsxv_spoofguard_policy_network_mappings')
op.drop_table('nsxv_edge_vnic_bindings')
op.drop_table('nsxv_edge_dhcp_static_bindings')
op.drop_table('nsxv_firewall_rule_bindings')
op.drop_table('nsxv_internal_edges')
op.drop_table('nsxv_internal_networks')
op.drop_table('nsxv_router_bindings')
appliance_sizes_enum.drop(op.get_bind(), checkfirst=False)
edge_types_enum.drop(op.get_bind(), checkfirst=False)
internal_network_purpose_enum.drop(op.get_bind(), checkfirst=False)
internal_edge_purpose_enum.drop(op.get_bind(), checkfirst=False)
tz_binding_type_enum.drop(op.get_bind(), checkfirst=False)
router_types_enum.drop(op.get_bind(), checkfirst=False)

View File

@ -36,8 +36,3 @@ PK_NAME = 'ml2_vxlan_endpoints_pkey'
def upgrade():
op.drop_constraint(PK_NAME, TABLE_NAME, type_='primary')
op.create_primary_key(PK_NAME, TABLE_NAME, cols=['ip_address'])
def downgrade():
op.drop_constraint(PK_NAME, TABLE_NAME, type_='primary')
op.create_primary_key(PK_NAME, TABLE_NAME, cols=['ip_address', 'udp_port'])

View File

@ -29,8 +29,6 @@ down_revision = '33c3db036fe4'
from alembic import op
from neutron.db import migration
from neutron.db.migration.alembic_migrations import ml2_init_ops
TABLE = 'cisco_ml2_credentials'
@ -38,8 +36,3 @@ TABLE = 'cisco_ml2_credentials'
def upgrade():
if migration.schema_has_table(TABLE):
op.drop_table(TABLE)
def downgrade():
if not migration.schema_has_table(TABLE):
ml2_init_ops.create_cisco_ml2_credentials()

View File

@ -62,7 +62,3 @@ def upgrade():
op.drop_column('ml2_port_bindings', 'cap_port_filter')
if op.get_bind().engine.name == 'ibm_db_sa':
op.execute("CALL SYSPROC.ADMIN_CMD('REORG TABLE ml2_port_bindings')")
def downgrade():
pass

View File

@ -49,7 +49,3 @@ def upgrade():
"neutron_id, nvp_id as nsx_port_id, null as nsx_switch_id from"
" quantum_nvp_port_mapping")
op.drop_table('quantum_nvp_port_mapping')
def downgrade():
pass

View File

@ -55,8 +55,3 @@ def upgrade():
['subnetpools.id'],
ondelete='CASCADE'),
sa.PrimaryKeyConstraint('cidr', 'subnetpool_id'))
def downgrade():
op.drop_table('subnetpoolprefixes')
op.drop_table('subnetpools')

View File

@ -46,7 +46,3 @@ def upgrade():
new_column_name='neutron_id',
existing_type=sa.String(length=36),
existing_nullable=False)
def downgrade():
pass

View File

@ -59,7 +59,3 @@ def upgrade():
)
op.execute(SQL_STATEMENT)
def downgrade():
op.drop_table('routerports')

View File

@ -48,37 +48,32 @@ from neutron.plugins.cisco.common import cisco_constants
# ml2_vxlan_allocations.allocated
# This migration will be skipped when executed offline mode.
default = sqlalchemy.sql.false()
def upgrade():
run(True)
def downgrade():
run()
@migration.skip_if_offline
def run(default=None):
set_default_ml2(default)
set_default_mlnx(default)
set_default_brocade(default)
set_default_cisco(default)
set_default_vmware(default)
set_default_agents(default)
def run():
set_default_ml2()
set_default_mlnx()
set_default_brocade()
set_default_cisco()
set_default_vmware()
set_default_agents()
def set_default_brocade(default):
if default:
default = ''
def set_default_brocade():
default = ''
migration.alter_column_if_exists(
'brocadeports', 'port_id',
server_default=default,
existing_type=sa.String(36))
def set_default_mlnx(default):
if default:
default = sqlalchemy.sql.false()
def set_default_mlnx():
migration.alter_column_if_exists(
'segmentation_id_allocation', 'allocated',
server_default=default,
@ -86,12 +81,9 @@ def set_default_mlnx(default):
existing_type=sa.Boolean)
def set_default_cisco(default):
profile_binding_default = (cisco_constants.TENANT_ID_NOT_SET
if default else None)
profile_default = '0' if default else None
if default:
default = sqlalchemy.sql.false()
def set_default_cisco():
profile_binding_default = cisco_constants.TENANT_ID_NOT_SET
profile_default = '0'
migration.alter_column_if_exists(
'cisco_n1kv_profile_bindings', 'tenant_id',
existing_type=sa.String(length=36),
@ -108,9 +100,7 @@ def set_default_cisco(default):
existing_nullable=False)
def set_default_vmware(default=None):
if default:
default = sqlalchemy.sql.false()
def set_default_vmware():
migration.alter_column_if_exists(
'nsxrouterextattributess', 'service_router',
server_default=default,
@ -127,9 +117,8 @@ def set_default_vmware(default=None):
existing_type=sa.Boolean)
def set_default_agents(default=None):
if default:
default = sqlalchemy.sql.true()
def set_default_agents():
default = sqlalchemy.sql.true()
migration.alter_column_if_exists(
'agents', 'admin_state_up',
server_default=default,
@ -137,9 +126,7 @@ def set_default_agents(default=None):
existing_type=sa.Boolean)
def set_default_ml2(default=None):
if default:
default = sqlalchemy.sql.false()
def set_default_ml2():
migration.alter_column_if_exists(
'ml2_gre_allocations', 'allocated',
server_default=default,

View File

@ -41,11 +41,3 @@ def upgrade():
'ipsec_site_connections', 'peer_address',
existing_type=sa.String(255),
nullable=False)
@migration.skip_if_offline
def downgrade():
migration.alter_column_if_exists(
'ipsec_site_connections', 'peer_address',
nullable=True,
existing_type=sa.String(255))

View File

@ -44,7 +44,3 @@ def upgrade():
ondelete='CASCADE'),
sa.PrimaryKeyConstraint('router_id')
)
def downgrade():
op.drop_table('csnat_l3_agent_bindings')

View File

@ -26,7 +26,6 @@ revision = '57086602ca0a'
down_revision = '28c0ffb8ebbd'
from alembic import op
import sqlalchemy as sa
def upgrade():
@ -36,54 +35,3 @@ def upgrade():
op.drop_table('vcns_edge_vip_bindings')
op.drop_table(u'routerservicetypebindings')
op.drop_table(u'servicerouterbindings')
def downgrade():
op.create_table(
'servicerouterbindings',
sa.Column('resource_id', sa.String(length=36), nullable=False),
sa.Column('resource_type', sa.String(length=36), nullable=False),
sa.Column('router_id', sa.String(length=36), nullable=False),
sa.ForeignKeyConstraint(['router_id'], [u'routers.id'],
name='servicerouterbindings_ibfk_1'),
sa.PrimaryKeyConstraint('resource_id', 'resource_type'))
op.create_table(
'routerservicetypebindings',
sa.Column('router_id', sa.String(length=36), nullable=False),
sa.Column('service_type_id', sa.String(length=36), nullable=False),
sa.ForeignKeyConstraint(['router_id'], ['routers.id'],
name='routerservicetypebindings_ibfk_1'),
sa.PrimaryKeyConstraint(u'router_id'))
op.create_table(
'vcns_edge_vip_bindings',
sa.Column('vip_id', sa.String(length=36), nullable=False),
sa.Column('edge_id', sa.String(length=36), nullable=True),
sa.Column('vip_vseid', sa.String(length=36), nullable=True),
sa.Column('app_profileid', sa.String(length=36), nullable=True),
sa.ForeignKeyConstraint(['vip_id'], ['vips.id'],
name='vcns_edge_vip_bindings_ibfk_1'),
sa.PrimaryKeyConstraint('vip_id'))
op.create_table(
'vcns_edge_monitor_bindings',
sa.Column('monitor_id', sa.String(length=36), nullable=False),
sa.Column('edge_id', sa.String(length=36), nullable=False),
sa.Column('monitor_vseid', sa.String(length=36), nullable=True),
sa.ForeignKeyConstraint(['monitor_id'], ['healthmonitors.id'],
name='vcns_edge_monitor_bindings_ibfk_1'),
sa.PrimaryKeyConstraint('monitor_id', 'edge_id'))
op.create_table(
'vcns_firewall_rule_bindings',
sa.Column('rule_id', sa.String(length=36), nullable=False),
sa.Column('edge_id', sa.String(length=36), nullable=False),
sa.Column('rule_vseid', sa.String(length=36), nullable=True),
sa.ForeignKeyConstraint(['rule_id'], ['firewall_rules.id'],
name='vcns_firewall_rule_bindings_ibfk_1'),
sa.PrimaryKeyConstraint('rule_id', u'edge_id'))
op.create_table(
'vcns_edge_pool_bindings',
sa.Column('pool_id', sa.String(length=36), nullable=False),
sa.Column('edge_id', sa.String(length=36), nullable=False),
sa.Column('pool_vseid', sa.String(length=36), nullable=True),
sa.ForeignKeyConstraint(['pool_id'], ['pools.id'],
name='vcns_edge_pool_bindings_ibfk_1'),
sa.PrimaryKeyConstraint('pool_id', 'edge_id'))

View File

@ -51,17 +51,3 @@ def upgrade():
name=CONSTRAINT_NAME_NS,
source='nuage_subnet_l2dom_mapping',
local_cols=['nuage_subnet_id'])
def downgrade():
op.drop_column('nuage_net_partition_router_mapping', 'nuage_rtr_rt')
op.drop_column('nuage_net_partition_router_mapping', 'nuage_rtr_rd')
op.drop_column('nuage_net_partitions', 'isolated_zone')
op.drop_column('nuage_net_partitions', 'shared_zone')
op.drop_column('nuage_subnet_l2dom_mapping', 'nuage_managed_subnet')
op.drop_constraint(CONSTRAINT_NAME_NS,
'nuage_subnet_l2dom_mapping',
type_='unique')
op.drop_constraint(CONSTRAINT_NAME_NR,
'nuage_net_partition_router_mapping',
type_='unique')

View File

@ -71,9 +71,3 @@ def upgrade():
ondelete='CASCADE'),
sa.PrimaryKeyConstraint('router_id')
)
def downgrade():
op.drop_table('cisco_router_mappings')
op.drop_table('cisco_port_mappings')
op.drop_table('cisco_hosting_devices')

View File

@ -64,7 +64,3 @@ def upgrade():
local_cols=['network_profile_id'], remote_cols=['id'],
ondelete='CASCADE'
)
def downgrade():
pass

View File

@ -40,11 +40,3 @@ def upgrade():
'cisco_nexusport_bindings', 'vlan_id',
nullable=False,
existing_type=sa.Integer)
@migration.skip_if_offline
def downgrade():
migration.alter_column_if_exists(
'cisco_nexusport_bindings', 'vlan_id',
nullable=True,
existing_type=sa.Integer)

View File

@ -35,7 +35,3 @@ def upgrade():
sa.Column('hash_id', sa.String(255), primary_key=True),
sa.Column('hash', sa.String(255), nullable=False)
)
def downgrade():
pass

View File

@ -41,24 +41,3 @@ def upgrade():
sa.Column('router_id', sa.String(length=64), nullable=False),
sa.ForeignKeyConstraint(['router_id'], ['routers.id']),
sa.PrimaryKeyConstraint('router_id'))
def downgrade():
op.drop_table('cisco_ml2_apic_contracts')
op.create_table(
'cisco_ml2_apic_epgs',
sa.Column('network_id', sa.String(length=255), nullable=False),
sa.Column('epg_id', sa.String(length=64), nullable=False),
sa.Column('segmentation_id', sa.String(length=64), nullable=False),
sa.Column('provider', sa.Boolean(), server_default=sa.sql.false(),
nullable=False),
sa.PrimaryKeyConstraint('network_id'))
op.create_table(
'cisco_ml2_apic_contracts',
sa.Column('tenant_id', sa.String(length=255)),
sa.Column('contract_id', sa.String(length=64), nullable=False),
sa.Column('filter_id', sa.String(length=64), nullable=False),
sa.PrimaryKeyConstraint('tenant_id'))

View File

@ -61,20 +61,3 @@ def upgrade():
server_default=sa.sql.false()))
_migrate_data('router_extra_attributes', 'nsxrouterextattributess')
op.drop_table('nsxrouterextattributess')
def downgrade():
op.create_table(
'nsxrouterextattributess',
sa.Column('router_id', sa.String(length=36), nullable=False),
sa.Column('distributed', sa.Boolean(), nullable=False,
server_default=sa.sql.false()),
sa.Column('service_router', sa.Boolean(), nullable=False,
server_default=sa.sql.false()),
sa.ForeignKeyConstraint(
['router_id'], ['routers.id'], ondelete='CASCADE'),
sa.PrimaryKeyConstraint('router_id')
)
op.execute(("INSERT INTO nsxrouterextattributess "
"SELECT * from router_extra_attributes"))
op.drop_column('router_extra_attributes', 'service_router')

View File

@ -39,7 +39,3 @@ def upgrade():
['network_id'], ['networks.id'], ondelete='CASCADE'),
sa.PrimaryKeyConstraint('network_id')
)
def downgrade():
op.drop_table('nuage_provider_net_bindings')

View File

@ -42,7 +42,3 @@ def upgrade():
type_=sa.BigInteger(), existing_type=sa.Integer())
op.alter_column('poolstatisticss', 'total_connections',
type_=sa.BigInteger(), existing_type=sa.Integer())
def downgrade():
pass

View File

@ -40,7 +40,3 @@ def upgrade():
'firewall_rules', 'protocol',
type_=sa.String(40),
existing_nullable=True)
def downgrade():
pass

View File

@ -32,7 +32,3 @@ import sqlalchemy as sa
def upgrade():
op.add_column('networks', sa.Column('vlan_transparent', sa.Boolean(),
nullable=True))
def downgrade():
op.drop_column('networks', 'vlan_transparent')

View File

@ -41,11 +41,3 @@ def upgrade():
'ml2_brocadeports', 'admin_state_up',
nullable=False,
existing_type=sa.Boolean)
@migration.skip_if_offline
def downgrade():
migration.alter_column_if_exists(
'ml2_brocadeports', 'admin_state_up',
nullable=True,
existing_type=sa.Boolean)

View File

@ -41,7 +41,3 @@ def upgrade():
source=TABLE_NAME,
local_cols=['pool_id', 'address', 'protocol_port']
)
def downgrade():
pass

View File

@ -92,7 +92,3 @@ def upgrade():
ondelete='CASCADE'),
sa.PrimaryKeyConstraint('router_id'),
)
def downgrade():
pass

View File

@ -44,12 +44,3 @@ def upgrade():
source='floatingips', referent='ports',
local_cols=['floating_port_id'], remote_cols=['id'], ondelete='CASCADE'
)
def downgrade():
_drop_constraint()
op.create_foreign_key(
name=None,
source='floatingips', referent='ports',
local_cols=['floating_port_id'], remote_cols=['id']
)

View File

@ -68,26 +68,3 @@ def upgrade():
other_plugins_init_ops.upgrade()
ryu_init_ops.upgrade()
vmware_init_ops.upgrade()
def downgrade():
vmware_init_ops.downgrade()
ryu_init_ops.downgrade()
other_plugins_init_ops.downgrade()
nec_init_ops.downgrade()
mlnx_init_ops.downgrade()
cisco_init_ops.downgrade()
brocade_init_ops.downgrade()
metering_init_ops.downgrade()
vpn_init_ops.downgrade()
loadbalancer_init_ops.downgrade()
firewall_init_ops.downgrade()
ovs_init_ops.downgrade()
ml2_init_ops.downgrade()
lb_init_ops.downgrade()
other_extensions_init_ops.downgrade()
portsec_init_ops.downgrade()
secgroup_init_ops.downgrade()
l3_init_ops.downgrade()
core_init_ops.downgrade()
agent_init_ops.downgrade()

View File

@ -29,15 +29,3 @@ down_revision = '5ac1c354a051'
def upgrade():
"""A no-op migration for marking the Icehouse release."""
pass
def downgrade():
# We are purging all downgrade methods from icehouse to havana because:
# 1) havana is going to become unsupported during Kilo cycle.
# 2) most people will upgrade from icehouse, while a minor percentage
# from havana
# 3) downgrade use cases are mostly to revert after failed upgrades
# See discussion in https://review.openstack.org/109952 for details
raise NotImplementedError("Downgrade from icehouse to havana not "
"supported")

View File

@ -29,8 +29,3 @@ down_revision = '544673ac99ab'
def upgrade():
"""A no-op migration for marking the Juno release."""
pass
def downgrade():
"""A no-op migration for marking the Juno release."""
pass

View File

@ -181,25 +181,3 @@ def upgrade():
sa.ForeignKeyConstraint(['port_id'], ['ports.id'],
ondelete='CASCADE'),
sa.PrimaryKeyConstraint('port_id'))
def downgrade():
op.drop_table('maclearningstates')
op.drop_table('portqueuemappings')
op.drop_table('networkqueuemappings')
op.drop_table('qosqueues')
op.drop_table('networkconnections')
op.drop_table('networkgatewaydevices')
op.drop_table('networkgateways')
op.drop_table('vcns_edge_vip_bindings')
op.drop_table('vcns_firewall_rule_bindings')
op.drop_table('vcns_edge_monitor_bindings')
op.drop_table('vcns_edge_pool_bindings')
op.drop_table('vcns_router_bindings')
op.drop_table('nsxrouterextattributess')
op.drop_table('nvp_multi_provider_networks')
op.drop_table('nvp_network_bindings')
op.drop_table('quantum_nvp_port_mapping')
l2gw_segmentation_type.drop(op.get_bind(), checkfirst=False)
qos_marking.drop(op.get_bind(), checkfirst=False)
net_binding_type.drop(op.get_bind(), checkfirst=False)

View File

@ -122,21 +122,3 @@ def upgrade():
['ipsec_site_connections.id'],
ondelete='CASCADE'),
sa.PrimaryKeyConstraint('cidr', 'ipsec_site_connection_id'))
def downgrade():
op.drop_table('ipsecpeercidrs')
op.drop_table('ipsec_site_connections')
op.drop_table('vpnservices')
op.drop_table('ikepolicies')
op.drop_table('ipsecpolicies')
auth_algorithms.drop(op.get_bind(), checkfirst=False)
encryption_algorithms.drop(op.get_bind(), checkfirst=False)
encapsulation_modes.drop(op.get_bind(), checkfirst=False)
lifetime_unit_types.drop(op.get_bind(), checkfirst=False)
transform_protocols.drop(op.get_bind(), checkfirst=False)
pfs_types.drop(op.get_bind(), checkfirst=False)
phase1_negotiation_modes.drop(op.get_bind(), checkfirst=False)
ike_versions.drop(op.get_bind(), checkfirst=False)
initiator_types.drop(op.get_bind(), checkfirst=False)
dpd_actions.drop(op.get_bind(), checkfirst=False)

View File

@ -261,3 +261,24 @@ class TestSanityCheck(test_base.DbTestCase):
script = script_dir.get_revision("14be42f3d0a5").module
self.assertRaises(script.DuplicateSecurityGroupsNamedDefault,
script.check_sanity, conn)
class TestWalkMigrations(test_base.DbTestCase):
def setUp(self):
super(TestWalkMigrations, self).setUp()
self.alembic_config = migration.get_alembic_config()
self.alembic_config.neutron_config = cfg.CONF
def test_no_downgrade(self):
script_dir = alembic_script.ScriptDirectory.from_config(
self.alembic_config)
versions = [v for v in script_dir.walk_revisions(base='base',
head='heads')]
failed_revisions = []
for version in versions:
if hasattr(version.module, 'downgrade'):
failed_revisions.append(version.revision)
if failed_revisions:
self.fail('Migrations %s have downgrade' % failed_revisions)