Wait to ipv6 forwarding be really changed by L3 agent
In test test_ha_router_namespace_has_ipv6_forwarding_disabled functional test it may happen that L3 agent will not change ipv6 forwarding and test fails because it checks that only once just after router state is change to master. This patch fixes that race by adding wait for 60 seconds to ipv6 forwarding change. Change-Id: I85a602561ebe9b7ab135913af49a3f010b09f196 Closes-Bug: #1801930
This commit is contained in:
parent
c4f081d024
commit
916e774516
|
@ -340,6 +340,14 @@ class L3HATestCase(framework.L3AgentTestFramework):
|
|||
raise
|
||||
self.assertEqual(0, ip_nonlocal_bind_value)
|
||||
|
||||
def _wait_until_ipv6_forwarding_has_state(self, ns_name, dev_name, state):
|
||||
|
||||
def _ipv6_forwarding_has_state():
|
||||
return ip_lib.get_ipv6_forwarding(
|
||||
device=dev_name, namespace=ns_name) == state
|
||||
|
||||
common_utils.wait_until_true(_ipv6_forwarding_has_state)
|
||||
|
||||
@testtools.skipUnless(ipv6_utils.is_enabled_and_bind_by_default(),
|
||||
"IPv6 is not enabled")
|
||||
def test_ha_router_namespace_has_ipv6_forwarding_disabled(self):
|
||||
|
@ -352,17 +360,15 @@ class L3HATestCase(framework.L3AgentTestFramework):
|
|||
external_port['id'])
|
||||
|
||||
common_utils.wait_until_true(lambda: router.ha_state == 'backup')
|
||||
self.assertEqual(
|
||||
0, ip_lib.get_ipv6_forwarding(device=external_device_name,
|
||||
namespace=router.ns_name))
|
||||
self._wait_until_ipv6_forwarding_has_state(
|
||||
router.ns_name, external_device_name, 0)
|
||||
|
||||
router.router[constants.HA_INTERFACE_KEY]['status'] = (
|
||||
constants.PORT_STATUS_ACTIVE)
|
||||
self.agent._process_updated_router(router.router)
|
||||
common_utils.wait_until_true(lambda: router.ha_state == 'master')
|
||||
self.assertEqual(
|
||||
1, ip_lib.get_ipv6_forwarding(device=external_device_name,
|
||||
namespace=router.ns_name))
|
||||
self._wait_until_ipv6_forwarding_has_state(
|
||||
router.ns_name, external_device_name, 1)
|
||||
|
||||
|
||||
class L3HATestFailover(framework.L3AgentTestFramework):
|
||||
|
|
Loading…
Reference in New Issue