diff --git a/neutron/tests/functional/agent/l3/framework.py b/neutron/tests/functional/agent/l3/framework.py index 968e53dd508..796d731253e 100644 --- a/neutron/tests/functional/agent/l3/framework.py +++ b/neutron/tests/functional/agent/l3/framework.py @@ -45,6 +45,8 @@ from neutron.tests.common import net_helpers from neutron.tests.functional import base +LOG = logging.getLogger(__name__) + _uuid = uuidutils.generate_uuid OVS_INTERFACE_DRIVER = 'neutron.agent.linux.interface.OVSInterfaceDriver' @@ -169,6 +171,7 @@ class L3AgentTestFramework(base.BaseSudoTestCase): qos_policy_id=qos_policy_id) def change_router_state(self, router_id, state): + LOG.debug("Router %s state changed to '%s'", router_id, state) ri = self.agent.router_info.get(router_id) if not ri: self.fail('Router %s is not present in the L3 agent' % router_id) diff --git a/neutron/tests/functional/agent/l3/test_ha_router.py b/neutron/tests/functional/agent/l3/test_ha_router.py index 3d152672669..bbdc5c6df37 100644 --- a/neutron/tests/functional/agent/l3/test_ha_router.py +++ b/neutron/tests/functional/agent/l3/test_ha_router.py @@ -17,6 +17,7 @@ import copy import mock from neutron_lib import constants +from oslo_log import log as logging import testtools from neutron.agent.common import ovs_lib @@ -29,6 +30,9 @@ from neutron.tests.common import net_helpers from neutron.tests.functional.agent.l3 import framework +LOG = logging.getLogger(__name__) + + class L3HATestCase(framework.L3AgentTestFramework): def test_ha_router_update_floatingip_statuses(self): @@ -46,11 +50,13 @@ class L3HATestCase(framework.L3AgentTestFramework): self.fail_ha_router(router) common_utils.wait_until_true(lambda: router.ha_state == 'backup') - common_utils.wait_until_true(lambda: - (enqueue_mock.call_count == 3 or enqueue_mock.call_count == 4)) + def enqueue_call_count_match(): + LOG.debug("enqueue_mock called %s times.", enqueue_mock.call_count) + return enqueue_mock.call_count in [2, 3] + + common_utils.wait_until_true(enqueue_call_count_match) calls = [args[0] for args in enqueue_mock.call_args_list] - self.assertEqual((router.router_id, 'backup'), calls[0]) - self.assertEqual((router.router_id, 'master'), calls[1]) + self.assertEqual((router.router_id, 'master'), calls[-2]) self.assertEqual((router.router_id, 'backup'), calls[-1]) def _expected_rpc_report(self, expected):