Merge "validate flat networks physical name"
This commit is contained in:
commit
e9f662ef1b
@ -67,9 +67,10 @@ class FlatTypeDriver(api.TypeDriver):
|
||||
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)
|
||||
|
||||
|
@ -19,9 +19,10 @@ from neutron.plugins.common import constants as p_const
|
||||
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):
|
||||
@ -29,8 +30,9 @@ 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)
|
||||
|
||||
@ -43,6 +45,16 @@ class FlatTypeTest(base.BaseTestCase):
|
||||
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,
|
||||
|
Loading…
Reference in New Issue
Block a user