]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commitdiff
Change autogenerate to be unconditional
authorJakub Libosvar <libosvar@redhat.com>
Tue, 22 Jul 2014 08:45:52 +0000 (10:45 +0200)
committerHenry Gessau <gessau@cisco.com>
Mon, 25 Aug 2014 18:27:31 +0000 (14:27 -0400)
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

neutron/db/migration/alembic_migrations/env.py
neutron/db/migration/alembic_migrations/script.py.mako
neutron/db/migration/alembic_migrations/versions/3b85b693a95f_remove_service_tables.py [new file with mode: 0644]
neutron/db/migration/alembic_migrations/versions/HEAD

index db20ce912f48a378f8e7c807e2a7ba4110488921..46981e02e3142f3846fe027547fa5cdba27d6d6b 100644 (file)
@@ -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
 
index eb3dc9e027d75e9b1a9b5ef80a050419675d68bc..e31a2719e26132e93909d0a7aa1953131db04b30 100644 (file)
@@ -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 (file)
index 0000000..a0fc50d
--- /dev/null
@@ -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.
+    """
index 86f1f1dcbee6bafa761cc0792c31d17c594f7c3c..7c2f9210a5b0ce1dc3d741ee759d6809d43baaf9 100644 (file)
@@ -1 +1 @@
-327ee5fde2c7
+3b85b693a95f