Fix ovn_present for ovn-dedicated-chassis

Add missing unit test.
This commit is contained in:
Frode Nordahl
2019-11-02 10:31:30 +01:00
parent 0163f79ec2
commit 8e8544bab7
2 changed files with 14 additions and 9 deletions

View File

@@ -1202,4 +1202,10 @@ class TestOpenStackUtils(ut_utils.BaseTestCase):
'neutron-api', 'enable-dvr')
def test_ovn_present(self):
pass
self.patch_object(openstack_utils.model, 'get_application')
self.get_application.side_effect = [None, KeyError]
self.assertTrue(openstack_utils.ovn_present())
self.get_application.side_effect = [KeyError, None]
self.assertTrue(openstack_utils.ovn_present())
self.get_application.side_effect = [KeyError, KeyError]
self.assertFalse(openstack_utils.ovn_present())

View File

@@ -477,15 +477,14 @@ def ovn_present():
:returns: True when OVN is present, False otherwise
:rtype: bool
"""
try:
for name in ('ovn-chassis', 'ovn-dedicated-chassis'):
app_presence = []
for name in ('ovn-chassis', 'ovn-dedicated-chassis'):
try:
model.get_application(name)
return True
except KeyError:
return False
else:
raise RuntimeError('Unable to determine whether or not OVN is present '
'in deployment')
app_presence.append(True)
except KeyError:
app_presence.append(False)
return any(app_presence)
BRIDGE_MAPPINGS = 'bridge-mappings'