Make OVS and LinuxBridge trunk drivers' is_loaded() property more robust
If ML2 is not in use, CONF.ml2.mechanism_drivers is not a registered option and thus loading these drivers leads to a NoSuchOptError error. This patch ensures that the exception is handled and the loading state of the OVS and Linuxbridge driver is set to False. Partial-implements: blueprint vlan-aware-vms Change-Id: I0a6994b9248e878e314661f235ceadb7ce9bbbff
This commit is contained in:
parent
94fc633124
commit
ab6942eb3a
|
@ -35,7 +35,10 @@ class LinuxBridgeDriver(base.DriverBase):
|
|||
|
||||
@property
|
||||
def is_loaded(self):
|
||||
return NAME in cfg.CONF.ml2.mechanism_drivers
|
||||
try:
|
||||
return NAME in cfg.CONF.ml2.mechanism_drivers
|
||||
except cfg.NoSuchOptError:
|
||||
return False
|
||||
|
||||
@classmethod
|
||||
def create(cls):
|
||||
|
|
|
@ -44,7 +44,10 @@ class OVSDriver(base.DriverBase):
|
|||
|
||||
@property
|
||||
def is_loaded(self):
|
||||
return NAME in cfg.CONF.ml2.mechanism_drivers
|
||||
try:
|
||||
return NAME in cfg.CONF.ml2.mechanism_drivers
|
||||
except cfg.NoSuchOptError:
|
||||
return False
|
||||
|
||||
@classmethod
|
||||
def create(cls):
|
||||
|
|
|
@ -27,6 +27,8 @@ class LinuxBridgeDriverTestCase(base.BaseTestCase):
|
|||
cfg.CONF.set_override('mechanism_drivers',
|
||||
['a', 'b'], group='ml2')
|
||||
self.assertFalse(inst.is_loaded)
|
||||
cfg.CONF.set_override('core_plugin', 'my_foo_plugin')
|
||||
self.assertFalse(inst.is_loaded)
|
||||
|
||||
def test_driver_properties(self):
|
||||
inst = driver.LinuxBridgeDriver.create()
|
||||
|
|
|
@ -46,6 +46,11 @@ class OVSDriverTestCase(base.BaseTestCase):
|
|||
ovs_driver = driver.OVSDriver.create()
|
||||
self.assertTrue(ovs_driver.is_loaded)
|
||||
|
||||
def test_driver_is_not_loaded(self):
|
||||
cfg.CONF.set_override('core_plugin', 'my_foo_plugin')
|
||||
ovs_driver = driver.OVSDriver.create()
|
||||
self.assertFalse(ovs_driver.is_loaded)
|
||||
|
||||
@mock.patch('neutron.services.trunk.utils.gen_trunk_br_name')
|
||||
def test_vif_details_bridge_name_handler_registration(self,
|
||||
mock_gen_br_name):
|
||||
|
|
Loading…
Reference in New Issue