From: Jakub Libosvar Date: Tue, 22 Jul 2014 08:45:52 +0000 (+0200) Subject: Change autogenerate to be unconditional X-Git-Url: https://review.fuel-infra.org/gitweb?a=commitdiff_plain;h=9ea42f50d3136885ffb1f7b23a7d831165f25247;p=openstack-build%2Fneutron-build.git Change autogenerate to be unconditional Template for generating db migration scripts are now not run according to used plugins. Target environment is set to use all available models but also used plugins are kept for backward compatibility. Part of this patch is script that will drop unused tables to avoid generating the drop in future migration scripts. Change-Id: I90a7d3416de24f2317ccdeb828bb8bd973ee5e61 Closes-bug: #1346638 --- diff --git a/neutron/db/migration/alembic_migrations/env.py b/neutron/db/migration/alembic_migrations/env.py index db20ce912..46981e02e 100644 --- a/neutron/db/migration/alembic_migrations/env.py +++ b/neutron/db/migration/alembic_migrations/env.py @@ -21,8 +21,8 @@ from oslo.config import cfg import sqlalchemy as sa from sqlalchemy import create_engine, event, pool +from neutron.db.migration.models import head # noqa from neutron.db import model_base -from neutron.openstack.common import importutils MYSQL_ENGINE = None @@ -40,9 +40,6 @@ plugin_class_path = neutron_config.core_plugin active_plugins = [plugin_class_path] active_plugins += neutron_config.service_plugins -for class_path in active_plugins: - importutils.import_class(class_path) - # set the target for 'autogenerate' support target_metadata = model_base.BASEV2.metadata diff --git a/neutron/db/migration/alembic_migrations/script.py.mako b/neutron/db/migration/alembic_migrations/script.py.mako index eb3dc9e02..e31a2719e 100644 --- a/neutron/db/migration/alembic_migrations/script.py.mako +++ b/neutron/db/migration/alembic_migrations/script.py.mako @@ -25,28 +25,14 @@ Create Date: ${create_date} revision = ${repr(up_revision)} down_revision = ${repr(down_revision)} -# Change to ['*'] if this migration applies to all plugins - -migration_for_plugins = [ - '${config.neutron_config.core_plugin}' -] - from alembic import op import sqlalchemy as sa ${imports if imports else ""} -from neutron.db import migration - 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_plugins=None, options=None): - if not migration.should_run(active_plugins, migration_for_plugins): - return - ${downgrades if downgrades else "pass"} diff --git a/neutron/db/migration/alembic_migrations/versions/3b85b693a95f_remove_service_tables.py b/neutron/db/migration/alembic_migrations/versions/3b85b693a95f_remove_service_tables.py new file mode 100644 index 000000000..a0fc50d6c --- /dev/null +++ b/neutron/db/migration/alembic_migrations/versions/3b85b693a95f_remove_service_tables.py @@ -0,0 +1,45 @@ +# Copyright 2014 OpenStack Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. +# + +"""Drop unused servicedefinitions and servicetypes tables. + +These tables are created independently on plugins but only dropped if +LoadBalancer plugin is used. Meaning that if LoadBalancer plugin is not set +then these tables were created and never used. + +Revision ID: 3b85b693a95f +Revises: 327ee5fde2c7 +Create Date: 2014-07-22 03:30:05.837152 + +""" + +# revision identifiers, used by Alembic. +revision = '3b85b693a95f' +down_revision = '327ee5fde2c7' + +from alembic import op + + +def upgrade(active_plugins=None, options=None): + for table in ('servicedefinitions', 'servicetypes'): + op.execute("DROP TABLE IF EXISTS %s" % table) + + +def downgrade(active_plugins=None, options=None): + """Don't create the tables + + These tables would be created during downgrade at correct place in + migration timeline at revision 557edfc53098. + """ diff --git a/neutron/db/migration/alembic_migrations/versions/HEAD b/neutron/db/migration/alembic_migrations/versions/HEAD index 86f1f1dcb..7c2f9210a 100644 --- a/neutron/db/migration/alembic_migrations/versions/HEAD +++ b/neutron/db/migration/alembic_migrations/versions/HEAD @@ -1 +1 @@ -327ee5fde2c7 +3b85b693a95f