diff options
author | Rafael Zalamena <rzalamena@opensourcerouting.org> | 2025-01-10 14:17:35 +0100 |
---|---|---|
committer | Rafael Zalamena <rzalamena@opensourcerouting.org> | 2025-01-13 13:26:17 +0100 |
commit | dda4f00f654b885c459d2d8f1d8fc50d91775026 (patch) | |
tree | ecc13f89d3e0e261371f129a5b19995bae259a0c | |
parent | Merge pull request #17811 from enkechen-panw/aggr-fix3 (diff) | |
download | frr-dda4f00f654b885c459d2d8f1d8fc50d91775026.tar.xz frr-dda4f00f654b885c459d2d8f1d8fc50d91775026.zip |
topotests: improve test reliability
Decrease the protocol timers, wait for peers to connect (and test it)
then finally wait a bit more for SAs to be propagated.
Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
-rw-r--r-- | tests/topotests/msdp_topo3/r1/frr.conf | 1 | ||||
-rw-r--r-- | tests/topotests/msdp_topo3/r2/frr.conf | 1 | ||||
-rw-r--r-- | tests/topotests/msdp_topo3/test_msdp_topo3.py | 29 |
3 files changed, 28 insertions, 3 deletions
diff --git a/tests/topotests/msdp_topo3/r1/frr.conf b/tests/topotests/msdp_topo3/r1/frr.conf index d5b10bf8a..161f0008d 100644 --- a/tests/topotests/msdp_topo3/r1/frr.conf +++ b/tests/topotests/msdp_topo3/r1/frr.conf @@ -27,5 +27,6 @@ router pim msdp originator-id 10.254.254.1 msdp log sa-events msdp peer 192.168.1.2 source 192.168.1.1 + msdp timers 10 20 3 rp 192.168.1.1 !
\ No newline at end of file diff --git a/tests/topotests/msdp_topo3/r2/frr.conf b/tests/topotests/msdp_topo3/r2/frr.conf index 245c06187..b7a20d4b7 100644 --- a/tests/topotests/msdp_topo3/r2/frr.conf +++ b/tests/topotests/msdp_topo3/r2/frr.conf @@ -24,5 +24,6 @@ router bgp 65200 router pim msdp log sa-events msdp peer 192.168.1.1 source 192.168.1.2 + msdp timers 10 20 3 rp 192.168.1.2 !
\ No newline at end of file diff --git a/tests/topotests/msdp_topo3/test_msdp_topo3.py b/tests/topotests/msdp_topo3/test_msdp_topo3.py index 9393ae7ff..4e3b18f7c 100644 --- a/tests/topotests/msdp_topo3/test_msdp_topo3.py +++ b/tests/topotests/msdp_topo3/test_msdp_topo3.py @@ -121,6 +121,29 @@ def test_bgp_convergence(): expect_loopback_route("r2", "ip", "10.254.254.1/32", "bgp") +def test_msdp_connect(): + "Test that the MSDP peers have connected." + tgen = get_topogen() + if tgen.routers_have_failure(): + pytest.skip(tgen.errors) + + def msdp_is_connected(router, peer): + logger.info(f"waiting MSDP peer {peer} in router {router}") + expected = {peer: {"state": "established"}} + test_func = partial( + topotest.router_json_cmp, + tgen.gears[router], + "show ip msdp peer json", + expected, + ) + _, result = topotest.run_and_expect(test_func, None, count=40, wait=2) + assertmsg = '"{}" convergence failure'.format(router) + assert result is None, assertmsg + + msdp_is_connected("r1", "192.168.1.2") + msdp_is_connected("r2", "192.168.1.1") + + def test_sa_learn(): """ Test that the learned SA uses the configured originator ID instead @@ -145,10 +168,10 @@ def test_sa_learn(): "local": "no", } } - } + }, ) - _, result = topotest.run_and_expect(test_func, None, count=100, wait=1) - assert result is None, 'r2 SA convergence failure' + _, result = topotest.run_and_expect(test_func, None, count=80, wait=2) + assert result is None, "r2 SA convergence failure" def test_memory_leak(): |