Skip to content

Commit

Permalink
Merge "Add support for service plugins to the migration framework"
Browse files Browse the repository at this point in the history
  • Loading branch information
Jenkins authored and openstack-gerrit committed Aug 9, 2013
2 parents 0052f7c + 47c0d2e commit e2acdd6
Show file tree
Hide file tree
Showing 46 changed files with 220 additions and 196 deletions.
4 changes: 2 additions & 2 deletions neutron/db/migration/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@
# @author: Mark McClain, DreamHost


def should_run(active_plugin, migrate_plugins):
def should_run(active_plugins, migrate_plugins):
if '*' in migrate_plugins:
return True
else:
return active_plugin in migrate_plugins
return set(active_plugins) & set(migrate_plugins)
6 changes: 4 additions & 2 deletions neutron/db/migration/alembic_migrations/env.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,8 @@
fileConfig(config.config_file_name)

plugin_class_path = neutron_config.core_plugin
active_plugins = [plugin_class_path]
active_plugins += neutron_config.service_plugins

plugin_klass = importutils.import_class(plugin_class_path)

Expand All @@ -59,7 +61,7 @@ def run_migrations_offline():
context.configure(url=neutron_config.database.connection)

with context.begin_transaction():
context.run_migrations(active_plugin=plugin_class_path,
context.run_migrations(active_plugins=active_plugins,
options=build_options())


Expand All @@ -82,7 +84,7 @@ def run_migrations_online():

try:
with context.begin_transaction():
context.run_migrations(active_plugin=plugin_class_path,
context.run_migrations(active_plugins=active_plugins,
options=build_options())
finally:
connection.close()
Expand Down
8 changes: 4 additions & 4 deletions neutron/db/migration/alembic_migrations/script.py.mako
Original file line number Diff line number Diff line change
Expand Up @@ -40,15 +40,15 @@ ${imports if imports else ""}
from neutron.db import migration


def upgrade(active_plugin=None, options=None):
if not migration.should_run(active_plugin, migration_for_plugins):
def upgrade(active_plugins=None, options=None):
if not migration.should_run(active_plugins, migration_for_plugins):
return

${upgrades if upgrades else "pass"}


def downgrade(active_plugin=None, options=None):
if not migration.should_run(active_plugin, migration_for_plugins):
def downgrade(active_plugins=None, options=None):
if not migration.should_run(active_plugins, migration_for_plugins):
return

${downgrades if downgrades else "pass"}
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,8 @@
from neutron.db import migration


def upgrade(active_plugin=None, options=None):
if not migration.should_run(active_plugin, migration_for_plugins):
def upgrade(active_plugins=None, options=None):
if not migration.should_run(active_plugins, migration_for_plugins):
return

### commands auto generated by Alembic - please adjust! ###
Expand Down Expand Up @@ -71,8 +71,8 @@ def upgrade(active_plugin=None, options=None):
"False as port_security_enabled from ports")


def downgrade(active_plugin=None, options=None):
if not migration.should_run(active_plugin, migration_for_plugins):
def downgrade(active_plugins=None, options=None):
if not migration.should_run(active_plugins, migration_for_plugins):
return

### commands auto generated by Alembic - please adjust! ###
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,20 +29,18 @@

# Change to ['*'] if this migration applies to all plugins

migration_for_plugins = ['*']
migration_for_plugins = [
'neutron.services.loadbalancer.plugin.LoadBalancerPlugin',
]

from alembic import op
import sqlalchemy as sa

from neutron.db import migration


# Change to ['*'] if this migration applies to all plugins
migration_for_plugins = ['*']


def upgrade(active_plugin=None, options=None):
if not migration.should_run(active_plugin, migration_for_plugins):
def upgrade(active_plugins=None, options=None):
if not migration.should_run(active_plugins, migration_for_plugins):
return

op.add_column('poolmonitorassociations', sa.Column('status',
Expand All @@ -55,8 +53,8 @@ def upgrade(active_plugin=None, options=None):
op.execute("UPDATE poolmonitorassociations SET status='ACTIVE'")


def downgrade(active_plugin=None, options=None):
if not migration.should_run(active_plugin, migration_for_plugins):
def downgrade(active_plugins=None, options=None):
if not migration.should_run(active_plugins, migration_for_plugins):
return

op.drop_column('poolmonitorassociations', 'status')
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,8 @@
from neutron.db import migration


def upgrade(active_plugin=None, options=None):
if not migration.should_run(active_plugin, migration_for_plugins):
def upgrade(active_plugins=None, options=None):
if not migration.should_run(active_plugins, migration_for_plugins):
return

op.add_column('routers', sa.Column('enable_snat', sa.Boolean(),
Expand All @@ -56,8 +56,8 @@ def upgrade(active_plugin=None, options=None):
op.execute("UPDATE routers SET enable_snat=True")


def downgrade(active_plugin=None, options=None):
if not migration.should_run(active_plugin, migration_for_plugins):
def downgrade(active_plugins=None, options=None):
if not migration.should_run(active_plugins, migration_for_plugins):
return

op.drop_column('routers', 'enable_snat')
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,8 @@
from neutron.db import migration


def upgrade(active_plugin=None, options=None):
if not migration.should_run(active_plugin, migration_for_plugins):
def upgrade(active_plugins=None, options=None):
if not migration.should_run(active_plugins, migration_for_plugins):
return
op.alter_column('nvp_network_bindings', 'tz_uuid',
name='phy_uuid',
Expand All @@ -53,8 +53,8 @@ def upgrade(active_plugin=None, options=None):
existing_nullable=True)


def downgrade(active_plugin=None, options=None):
if not migration.should_run(active_plugin, migration_for_plugins):
def downgrade(active_plugins=None, options=None):
if not migration.should_run(active_plugins, migration_for_plugins):
return
op.alter_column('nvp_network_bindings', 'phy_uuid',
name='tz_uuid',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,16 +40,16 @@
from neutron.db import migration


def upgrade(active_plugin=None, options=None):
if not migration.should_run(active_plugin, migration_for_plugins):
def upgrade(active_plugins=None, options=None):
if not migration.should_run(active_plugins, migration_for_plugins):
return

op.add_column('packetfilters',
sa.Column('name', sa.String(length=255), nullable=True))


def downgrade(active_plugin=None, options=None):
if not migration.should_run(active_plugin, migration_for_plugins):
def downgrade(active_plugins=None, options=None):
if not migration.should_run(active_plugins, migration_for_plugins):
return

op.drop_column('packetfilters', 'name')
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,8 @@
from neutron.db import migration


def upgrade(active_plugin=None, options=None):
if not migration.should_run(active_plugin, migration_for_plugins):
def upgrade(active_plugins=None, options=None):
if not migration.should_run(active_plugins, migration_for_plugins):
return

op.create_table(
Expand All @@ -54,7 +54,7 @@ def upgrade(active_plugin=None, options=None):
)


def downgrade(active_plugin=None, options=None):
if not migration.should_run(active_plugin, migration_for_plugins):
def downgrade(active_plugins=None, options=None):
if not migration.should_run(active_plugins, migration_for_plugins):
return
op.drop_table('portbindingports')
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,8 @@
from neutron.db import migration


def upgrade(active_plugin=None, options=None):
if not migration.should_run(active_plugin, migration_for_plugins):
def upgrade(active_plugins=None, options=None):
if not migration.should_run(active_plugins, migration_for_plugins):
return

### commands auto generated by Alembic - please adjust! ###
Expand All @@ -55,8 +55,8 @@ def upgrade(active_plugin=None, options=None):
### end Alembic commands ###


def downgrade(active_plugin=None, options=None):
if not migration.should_run(active_plugin, migration_for_plugins):
def downgrade(active_plugins=None, options=None):
if not migration.should_run(active_plugins, migration_for_plugins):
return

### commands auto generated by Alembic - please adjust! ###
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,8 @@
from neutron.db import migration


def upgrade(active_plugin=None, options=None):
if not migration.should_run(active_plugin, migration_for_plugins):
def upgrade(active_plugins=None, options=None):
if not migration.should_run(active_plugins, migration_for_plugins):
return

op.rename_table(
Expand All @@ -63,8 +63,8 @@ def upgrade(active_plugin=None, options=None):
)


def downgrade(active_plugin=None, options=None):
if not migration.should_run(active_plugin, migration_for_plugins):
def downgrade(active_plugins=None, options=None):
if not migration.should_run(active_plugins, migration_for_plugins):
return

op.rename_table(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,8 @@
from neutron.db import migration


def upgrade(active_plugin=None, options=None):
if not migration.should_run(active_plugin, migration_for_plugins):
def upgrade(active_plugins=None, options=None):
if not migration.should_run(active_plugins, migration_for_plugins):
return

op.create_table(
Expand All @@ -57,8 +57,8 @@ def upgrade(active_plugin=None, options=None):
sa.PrimaryKeyConstraint('network_id'))


def downgrade(active_plugin=None, options=None):
if not migration.should_run(active_plugin, migration_for_plugins):
def downgrade(active_plugins=None, options=None):
if not migration.should_run(active_plugins, migration_for_plugins):
return

op.drop_table('nvp_network_bindings')
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,9 @@

# Change to ['*'] if this migration applies to all plugins

migration_for_plugins = ['*']
migration_for_plugins = [
'neutron.services.loadbalancer.plugin.LoadBalancerPlugin',
]

from alembic import op
import sqlalchemy as sa
Expand All @@ -39,16 +41,16 @@
ENTITIES = ['vips', 'pools', 'members', 'healthmonitors']


def upgrade(active_plugin=None, options=None):
if not migration.should_run(active_plugin, migration_for_plugins):
def upgrade(active_plugins=None, options=None):
if not migration.should_run(active_plugins, migration_for_plugins):
return

for entity in ENTITIES:
op.add_column(entity, sa.Column('status_description', sa.String(255)))


def downgrade(active_plugin=None, options=None):
if not migration.should_run(active_plugin, migration_for_plugins):
def downgrade(active_plugins=None, options=None):
if not migration.should_run(active_plugins, migration_for_plugins):
return

for entity in ENTITIES:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,8 @@
from neutron.db import migration


def upgrade(active_plugin=None, options=None):
if not migration.should_run(active_plugin, migration_for_plugins):
def upgrade(active_plugins=None, options=None):
if not migration.should_run(active_plugins, migration_for_plugins):
return

op.create_table(
Expand All @@ -58,8 +58,8 @@ def upgrade(active_plugin=None, options=None):
)


def downgrade(active_plugin=None, options=None):
if not migration.should_run(active_plugin, migration_for_plugins):
def downgrade(active_plugins=None, options=None):
if not migration.should_run(active_plugins, migration_for_plugins):
return

op.drop_table('ml2_gre_allocations')
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,8 @@
from neutron.db import migration


def upgrade(active_plugin=None, options=None):
if not migration.should_run(active_plugin, migration_for_plugins):
def upgrade(active_plugins=None, options=None):
if not migration.should_run(active_plugins, migration_for_plugins):
return

if 'credentials' in sa.MetaData().tables:
Expand All @@ -53,8 +53,8 @@ def upgrade(active_plugin=None, options=None):
op.drop_table('cisco_vlan_ids')


def downgrade(active_plugin=None, options=None):
if not migration.should_run(active_plugin, migration_for_plugins):
def downgrade(active_plugins=None, options=None):
if not migration.should_run(active_plugins, migration_for_plugins):
return

op.create_table(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,8 @@
from neutron.db import migration


def upgrade(active_plugin=None, options=None):
if not migration.should_run(active_plugin, migration_for_plugins):
def upgrade(active_plugins=None, options=None):
if not migration.should_run(active_plugins, migration_for_plugins):
return

op.drop_table(u'port_bindings')
Expand All @@ -49,8 +49,8 @@ def upgrade(active_plugin=None, options=None):
op.drop_table(u'portprofile_bindings')


def downgrade(active_plugin=None, options=None):
if not migration.should_run(active_plugin, migration_for_plugins):
def downgrade(active_plugins=None, options=None):
if not migration.should_run(active_plugins, migration_for_plugins):
return

op.create_table(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,13 +40,13 @@
from neutron.db.migration.alembic_migrations import common_ext_ops


def upgrade(active_plugin=None, options=None):
if not migration.should_run(active_plugin, migration_for_plugins):
def upgrade(active_plugins=None, options=None):
if not migration.should_run(active_plugins, migration_for_plugins):
return
common_ext_ops.upgrade_l3()


def downgrade(active_plugin=None, options=None):
if not migration.should_run(active_plugin, migration_for_plugins):
def downgrade(active_plugins=None, options=None):
if not migration.should_run(active_plugins, migration_for_plugins):
return
common_ext_ops.downgrade_l3()

0 comments on commit e2acdd6

Please sign in to comment.