OVN TestNBDbResources wait for NB_Global table to be present
In functional jobs (neutron-functional-with-uwsgi) test_ovn_db_resources.TestNBDbResources.test_port_dhcp_options failes time-to-time at the phase of creating network. Wait for NB_Global table at the setUp() phase of TestNBDbResources. Change-Id: I92132233dae77ffbbd5565caa320c7dac19e2194 Closes-Bug: #1956965
This commit is contained in:
@@ -24,6 +24,7 @@ from ovsdbapp.backend.ovs_idl import idlutils
|
|||||||
|
|
||||||
from neutron.common.ovn import constants as ovn_const
|
from neutron.common.ovn import constants as ovn_const
|
||||||
from neutron.common.ovn import utils
|
from neutron.common.ovn import utils
|
||||||
|
from neutron.common import utils as n_utils
|
||||||
from neutron.conf.plugins.ml2.drivers.ovn import ovn_conf as ovn_config
|
from neutron.conf.plugins.ml2.drivers.ovn import ovn_conf as ovn_config
|
||||||
from neutron.tests.functional import base
|
from neutron.tests.functional import base
|
||||||
|
|
||||||
@@ -31,6 +32,13 @@ from neutron.tests.functional import base
|
|||||||
class TestNBDbResources(base.TestOVNFunctionalBase):
|
class TestNBDbResources(base.TestOVNFunctionalBase):
|
||||||
_extension_drivers = ['dns']
|
_extension_drivers = ['dns']
|
||||||
|
|
||||||
|
def _is_nb_global_ready(self):
|
||||||
|
try:
|
||||||
|
next(iter(self.nb_api.tables['NB_Global'].rows))
|
||||||
|
except StopIteration:
|
||||||
|
return False
|
||||||
|
return True
|
||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
super(TestNBDbResources, self).setUp()
|
super(TestNBDbResources, self).setUp()
|
||||||
self.orig_get_random_mac = n_net.get_random_mac
|
self.orig_get_random_mac = n_net.get_random_mac
|
||||||
@@ -40,6 +48,12 @@ class TestNBDbResources(base.TestOVNFunctionalBase):
|
|||||||
group='ovn')
|
group='ovn')
|
||||||
ovn_config.cfg.CONF.set_override('dns_domain', 'ovn.test')
|
ovn_config.cfg.CONF.set_override('dns_domain', 'ovn.test')
|
||||||
|
|
||||||
|
# Wait for NB_Global table, for details see: LP #1956965
|
||||||
|
n_utils.wait_until_true(
|
||||||
|
self._is_nb_global_ready,
|
||||||
|
timeout=15, sleep=1
|
||||||
|
)
|
||||||
|
|
||||||
# FIXME(lucasagomes): Map the revision numbers properly instead
|
# FIXME(lucasagomes): Map the revision numbers properly instead
|
||||||
# of stripping them out. Currently, tests like test_dhcp_options()
|
# of stripping them out. Currently, tests like test_dhcp_options()
|
||||||
# are quite complex making it difficult to map the exact the revision
|
# are quite complex making it difficult to map the exact the revision
|
||||||
|
|||||||
Reference in New Issue
Block a user