summaryrefslogtreecommitdiff
path: root/smoketest/scripts/cli/test_protocols_static.py
diff options
context:
space:
mode:
Diffstat (limited to 'smoketest/scripts/cli/test_protocols_static.py')
-rwxr-xr-xsmoketest/scripts/cli/test_protocols_static.py25
1 files changed, 20 insertions, 5 deletions
diff --git a/smoketest/scripts/cli/test_protocols_static.py b/smoketest/scripts/cli/test_protocols_static.py
index a049020a4..892a46d7b 100755
--- a/smoketest/scripts/cli/test_protocols_static.py
+++ b/smoketest/scripts/cli/test_protocols_static.py
@@ -648,17 +648,32 @@ class TestProtocolsStatic(VyOSUnitTestSHIM.TestCase):
self.cli_set(interface_path + ['vrf', vrf])
self.cli_commit()
- # Wait for dhclient to receive IP address and default gateway
- sleep(5)
-
router = get_dhcp_router(interface)
- frrconfig = self.getFRRconfig(f'vrf {vrf}', stop_section='^exit-vrf')
- self.assertIn(rf'ip route 0.0.0.0/0 {router} {interface} tag 210 {default_distance}', frrconfig)
+ route_str = (
+ rf'ip route 0.0.0.0/0 {router} {interface} tag 210 {default_distance}'
+ )
+
+ def check_default_route():
+ frrconfig = self.getFRRconfig(f'vrf {vrf}', stop_section='^exit-vrf')
+ if route_str in frrconfig:
+ return True
+ return frrconfig
+
+ result, config = self.wait_for_result(
+ check_default_route, True, pause=1, timeout=10
+ )
+ # First clean interfaces from VRF so that VRF can be deleted
self.cli_delete(interface_path + ['address'])
self.cli_delete(interface_path + ['vrf'])
self.cli_commit()
+ # now we can assert
+ self.assertTrue(
+ result,
+ f"Expected '{route_str}' in FRR config, vrf section of FRR config:\n {config}",
+ )
+
# Wait for dhclient to stop
while process_named_running('dhclient', cmdline=interface, timeout=10):
sleep(0.250)