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:
|
if '*' in self.flat_networks:
|
||||||
LOG.info(_("Arbitrary flat physical_network names allowed"))
|
LOG.info(_("Arbitrary flat physical_network names allowed"))
|
||||||
self.flat_networks = None
|
self.flat_networks = None
|
||||||
|
elif not all(self.flat_networks):
|
||||||
|
msg = _("physical network name is empty")
|
||||||
|
raise exc.InvalidInput(error_message=msg)
|
||||||
else:
|
else:
|
||||||
# TODO(rkukura): Validate that each physical_network name
|
|
||||||
# is neither empty nor too long.
|
|
||||||
LOG.info(_("Allowable flat physical_network names: %s"),
|
LOG.info(_("Allowable flat physical_network names: %s"),
|
||||||
self.flat_networks)
|
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 import driver_api as api
|
||||||
from neutron.plugins.ml2.drivers import type_flat
|
from neutron.plugins.ml2.drivers import type_flat
|
||||||
from neutron.tests import base
|
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):
|
class FlatTypeTest(base.BaseTestCase):
|
||||||
|
@ -29,8 +30,9 @@ class FlatTypeTest(base.BaseTestCase):
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
super(FlatTypeTest, self).setUp()
|
super(FlatTypeTest, self).setUp()
|
||||||
db.configure_db()
|
db.configure_db()
|
||||||
|
cfg.CONF.set_override('flat_networks', FLAT_NETWORKS,
|
||||||
|
group='ml2_type_flat')
|
||||||
self.driver = type_flat.FlatTypeDriver()
|
self.driver = type_flat.FlatTypeDriver()
|
||||||
self.driver._parse_networks(FLAT_NETWORKS)
|
|
||||||
self.session = db.get_session()
|
self.session = db.get_session()
|
||||||
self.addCleanup(db.clear_db)
|
self.addCleanup(db.clear_db)
|
||||||
|
|
||||||
|
@ -43,6 +45,16 @@ class FlatTypeTest(base.BaseTestCase):
|
||||||
api.PHYSICAL_NETWORK: 'flat_net1'}
|
api.PHYSICAL_NETWORK: 'flat_net1'}
|
||||||
self.driver.validate_provider_segment(segment)
|
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):
|
def test_validate_provider_segment_without_physnet_restriction(self):
|
||||||
self.driver._parse_networks('*')
|
self.driver._parse_networks('*')
|
||||||
segment = {api.NETWORK_TYPE: p_const.TYPE_FLAT,
|
segment = {api.NETWORK_TYPE: p_const.TYPE_FLAT,
|
||||||
|
|
Loading…
Reference in New Issue