diff --git a/neutron/db/migration/alembic_migrations/versions/128e042a2b68_ext_gw_mode.py b/neutron/db/migration/alembic_migrations/versions/128e042a2b68_ext_gw_mode.py index 6b630dcb833..44801049668 100644 --- a/neutron/db/migration/alembic_migrations/versions/128e042a2b68_ext_gw_mode.py +++ b/neutron/db/migration/alembic_migrations/versions/128e042a2b68_ext_gw_mode.py @@ -33,6 +33,7 @@ migration_for_plugins = [ 'neutron.plugins.hyperv.hyperv_neutron_plugin.HyperVNeutronPlugin', 'neutron.plugins.linuxbridge.lb_neutron_plugin.LinuxBridgePluginV2', 'neutron.plugins.metaplugin.meta_neutron_plugin.MetaPluginV2', + 'neutron.plugins.ml2.plugin.Ml2Plugin', 'neutron.plugins.nec.nec_plugin.NECPluginV2', 'neutron.plugins.nicira.NeutronPlugin.NvpPluginV2', 'neutron.plugins.openvswitch.ovs_neutron_plugin.OVSNeutronPluginV2', diff --git a/neutron/db/migration/alembic_migrations/versions/folsom_initial.py b/neutron/db/migration/alembic_migrations/versions/folsom_initial.py index c73fd7289b7..bf972551c5f 100644 --- a/neutron/db/migration/alembic_migrations/versions/folsom_initial.py +++ b/neutron/db/migration/alembic_migrations/versions/folsom_initial.py @@ -29,7 +29,7 @@ PLUGINS = { 'cisco': 'neutron.plugins.cisco.network_plugin.PluginV2', 'lbr': 'neutron.plugins.linuxbridge.lb_neutron_plugin.LinuxBridgePluginV2', 'meta': 'neutron.plugins.metaplugin.meta_neutron_plugin.MetaPluginV2', - 'ml2': 'neutron.plugins.ml2.ml2_plugin.Ml2Plugin', + 'ml2': 'neutron.plugins.ml2.plugin.Ml2Plugin', 'nec': 'neutron.plugins.nec.nec_plugin.NECPluginV2', 'nvp': 'neutron.plugins.nicira.NeutronPlugin.NvpPluginV2', 'ovs': 'neutron.plugins.openvswitch.ovs_neutron_plugin.OVSNeutronPluginV2', diff --git a/neutron/plugins/ml2/plugin.py b/neutron/plugins/ml2/plugin.py index 4093ffc4a94..bb42aab76b9 100644 --- a/neutron/plugins/ml2/plugin.py +++ b/neutron/plugins/ml2/plugin.py @@ -25,6 +25,7 @@ from neutron.common import topics from neutron.db import agentschedulers_db from neutron.db import db_base_plugin_v2 from neutron.db import extraroute_db +from neutron.db import l3_gwmode_db from neutron.db import portbindings_db from neutron.db import quota_db # noqa from neutron.db import securitygroups_rpc_base as sg_db_rpc @@ -51,6 +52,7 @@ TYPE_MULTI_SEGMENT = 'multi-segment' class Ml2Plugin(db_base_plugin_v2.NeutronDbPluginV2, extraroute_db.ExtraRoute_db_mixin, + l3_gwmode_db.L3_NAT_db_mixin, sg_db_rpc.SecurityGroupServerRpcMixin, agentschedulers_db.L3AgentSchedulerDbMixin, agentschedulers_db.DhcpAgentSchedulerDbMixin, @@ -75,7 +77,7 @@ class Ml2Plugin(db_base_plugin_v2.NeutronDbPluginV2, _supported_extension_aliases = ["provider", "router", "extraroute", "binding", "quotas", "security-group", "agent", "l3_agent_scheduler", - "dhcp_agent_scheduler"] + "dhcp_agent_scheduler", "ext-gw-mode"] @property def supported_extension_aliases(self): diff --git a/neutron/tests/unit/ml2/test_ml2_plugin.py b/neutron/tests/unit/ml2/test_ml2_plugin.py index c5ff52f80d7..d2fefe0eb9c 100644 --- a/neutron/tests/unit/ml2/test_ml2_plugin.py +++ b/neutron/tests/unit/ml2/test_ml2_plugin.py @@ -16,6 +16,7 @@ from neutron.plugins.ml2 import config as config from neutron.tests.unit import _test_extension_portbindings as test_bindings from neutron.tests.unit import test_db_plugin as test_plugin +from neutron.tests.unit import test_extension_ext_gw_mode PLUGIN_NAME = 'neutron.plugins.ml2.plugin.Ml2Plugin' @@ -69,3 +70,8 @@ class TestMl2PortsV2(test_plugin.TestPortsV2, Ml2PluginV2TestCase): class TestMl2PortBindingHost(Ml2PluginV2TestCase, test_bindings.PortBindingsHostTestCaseMixin): pass + + +class TestMl2ExtGwModeSupport(Ml2PluginV2TestCase, + test_extension_ext_gw_mode.ExtGwModeTestCase): + pass