if '*' in self.flat_networks:
LOG.info(_("Arbitrary flat physical_network names allowed"))
self.flat_networks = None
+ elif not all(self.flat_networks):
+ msg = _("physical network name is empty")
+ raise exc.InvalidInput(error_message=msg)
else:
- # TODO(rkukura): Validate that each physical_network name
- # is neither empty nor too long.
LOG.info(_("Allowable flat physical_network names: %s"),
self.flat_networks)
from neutron.plugins.ml2 import driver_api as api
from neutron.plugins.ml2.drivers import type_flat
from neutron.tests import base
+from oslo.config import cfg
-FLAT_NETWORKS = 'flat_net1, flat_net2'
+FLAT_NETWORKS = ['flat_net1', 'flat_net2']
class FlatTypeTest(base.BaseTestCase):
def setUp(self):
super(FlatTypeTest, self).setUp()
db.configure_db()
+ cfg.CONF.set_override('flat_networks', FLAT_NETWORKS,
+ group='ml2_type_flat')
self.driver = type_flat.FlatTypeDriver()
- self.driver._parse_networks(FLAT_NETWORKS)
self.session = db.get_session()
self.addCleanup(db.clear_db)
api.PHYSICAL_NETWORK: 'flat_net1'}
self.driver.validate_provider_segment(segment)
+ def test_validate_provider_phynet_name(self):
+ self.assertRaises(exc.InvalidInput,
+ self.driver._parse_networks,
+ entries=[''])
+
+ def test_validate_provider_phynet_name_multiple(self):
+ self.assertRaises(exc.InvalidInput,
+ self.driver._parse_networks,
+ entries=['flat_net1', ''])
+
def test_validate_provider_segment_without_physnet_restriction(self):
self.driver._parse_networks('*')
segment = {api.NETWORK_TYPE: p_const.TYPE_FLAT,