]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commitdiff
Fix validation of physical network name for flat nets
authorAnn Kamyshnikova <akamyshnikova@mirantis.com>
Tue, 3 Mar 2015 15:19:20 +0000 (18:19 +0300)
committerAnn Kamyshnikova <akamyshnikova@mirantis.com>
Fri, 20 Mar 2015 11:46:48 +0000 (14:46 +0300)
Fix validation of physical network name for flat nets for
the case when physical network names are not set.

Closes-bug: #1424548

Change-Id: Ibb64af48ff65ca515f48cfba176a89afc9103f1e

neutron/plugins/ml2/drivers/type_flat.py
neutron/tests/unit/ml2/test_ml2_plugin.py
neutron/tests/unit/ml2/test_type_flat.py

index ed055f560838fe1d0efad19cfee611a9dbb4b5e5..657486669b4880790fee3fda03a352870f517968 100644 (file)
@@ -92,7 +92,8 @@ class FlatTypeDriver(helpers.BaseTypeDriver):
         if not physical_network:
             msg = _("physical_network required for flat provider network")
             raise exc.InvalidInput(error_message=msg)
-        if self.flat_networks and physical_network not in self.flat_networks:
+        if (self.flat_networks is not None and
+                physical_network not in self.flat_networks):
             msg = (_("physical_network '%s' unknown for flat provider network")
                    % physical_network)
             raise exc.InvalidInput(error_message=msg)
index c9ccf773b07c29444aaa0f6360bb0548784e488b..081f6f15f33903270ebee8fe5f7ae1d9c3f2d193 100644 (file)
@@ -115,6 +115,8 @@ class Ml2PluginV2TestCase(test_plugin.NeutronDbPluginV2TestCase):
         config.cfg.CONF.set_override('network_vlan_ranges',
                                      [self.phys_vrange, self.phys2_vrange],
                                      group='ml2_type_vlan')
+        config.cfg.CONF.set_override('flat_networks', ['noagent'],
+                                     group='ml2_type_flat')
         self.setup_parent()
         self.driver = ml2_plugin.Ml2Plugin()
         self.context = context.get_admin_context()
index 1e84078d3c336b2c2179340c0adb0e6a5a308391..dac24d344ae21b0045fdffce1cded47f50bcfec0 100644 (file)
@@ -86,6 +86,16 @@ class FlatTypeTest(testlib_api.SqlTestCase):
                           self.driver.validate_provider_segment,
                           segment)
 
+    def test_validate_provider_segment_with_empty_physical_nets_list(self):
+        config.cfg.CONF.set_override('flat_networks', [],
+                                     group='ml2_type_flat')
+        driver = type_flat.FlatTypeDriver()
+        segment = {api.NETWORK_TYPE: p_const.TYPE_FLAT,
+                   api.PHYSICAL_NETWORK: 'flat_net'}
+        self.assertRaises(exc.InvalidInput,
+                          driver.validate_provider_segment,
+                          segment)
+
     def test_reserve_provider_segment(self):
         segment = {api.NETWORK_TYPE: p_const.TYPE_FLAT,
                    api.PHYSICAL_NETWORK: 'flat_net1'}