]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commitdiff
Include cisco plugin in migration plugins with ovs
authorHareesh Puthalath <hareesh.puthalath@gmail.com>
Thu, 13 Mar 2014 21:06:23 +0000 (22:06 +0100)
committerHareesh Puthalath <hareesh.puthalath@gmail.com>
Tue, 25 Mar 2014 20:35:12 +0000 (21:35 +0100)
Currently we have many migration files with missing cisco
plugin in migrate_plugin when ovs is included.This
causes missing tables when cisco plugin is enabled
and migration is run. This fix should automatically
include the cisco plugin if ovs is detected in the
migrate_plugins.

Change-Id: I4dedfbafe9b431e85255d5427766e22eed09ee5e
Closes-Bug: #1292114

neutron/db/migration/__init__.py
neutron/db/migration/alembic_migrations/versions/2c4af419145b_l3_support.py
neutron/db/migration/alembic_migrations/versions/folsom_initial.py

index 93a0e0280e53a7de1a5bfaf8fb766466ec5e36aa..4151770e83bd87927e6d6165020291543a7784f5 100644 (file)
 #
 # @author: Mark McClain, DreamHost
 
+OVS_PLUGIN = ('neutron.plugins.openvswitch.ovs_neutron_plugin'
+              '.OVSNeutronPluginV2')
+CISCO_PLUGIN = 'neutron.plugins.cisco.network_plugin.PluginV2'
+
 
 def should_run(active_plugins, migrate_plugins):
     if '*' in migrate_plugins:
         return True
     else:
+        if (CISCO_PLUGIN not in migrate_plugins and
+                OVS_PLUGIN in migrate_plugins):
+            migrate_plugins.append(CISCO_PLUGIN)
         return set(active_plugins) & set(migrate_plugins)
index 61ba088d300cda9285d80d466c413ba7e470b034..82aa306020f99805087aa9fb0eec3d6426cbb595 100644 (file)
@@ -38,7 +38,6 @@ migration_for_plugins = [
     'neutron.plugins.vmware.plugin.NsxPlugin',
     'neutron.plugins.vmware.plugin.NsxServicePlugin',
     'neutron.plugins.embrane.plugins.embrane_ovs_plugin.EmbraneOvsPlugin',
-    'neutron.plugins.cisco.network_plugin.PluginV2',
 ]
 
 from neutron.db import migration
index 3241d1afdad7264794f012834921a7842f31c1e4..a6dab6188170342633b411959359407ac62105e1 100644 (file)
@@ -72,6 +72,7 @@ down_revision = None
 from alembic import op
 import sqlalchemy as sa
 
+from neutron.db import migration
 from neutron.db.migration.alembic_migrations import common_ext_ops
 # NOTE: This is a special migration that creates a Folsom compatible database.
 
@@ -80,10 +81,10 @@ def upgrade(active_plugins=None, options=None):
     # general model
     upgrade_base()
 
-    if set(active_plugins) & set(L3_CAPABLE):
+    if migration.should_run(active_plugins, L3_CAPABLE):
         common_ext_ops.upgrade_l3()
 
-    if set(active_plugins) & set(FOLSOM_QUOTA):
+    if migration.should_run(active_plugins, FOLSOM_QUOTA):
         common_ext_ops.upgrade_quota(options)
 
     if PLUGINS['lbr'] in active_plugins:
@@ -484,10 +485,10 @@ def downgrade(active_plugins=None, options=None):
         downgrade_brocade()
         downgrade_linuxbridge()
 
-    if set(active_plugins) & set(FOLSOM_QUOTA):
+    if migration.should_run(active_plugins, FOLSOM_QUOTA):
         common_ext_ops.downgrade_quota(options)
 
-    if set(active_plugins) & set(L3_CAPABLE):
+    if migration.should_run(active_plugins, L3_CAPABLE):
         common_ext_ops.downgrade_l3()
 
     downgrade_base()