Skip to content

tests: Add additional wait tim to test_bgp_gr_functionality_topo2-3.py - #20788

Merged
mjstapp merged 1 commit into
FRRouting:masterfrom
donaldsharp:longer_hold_timer_bgp_gr_functionality
Feb 13, 2026
Merged

tests: Add additional wait tim to test_bgp_gr_functionality_topo2-3.py#20788
mjstapp merged 1 commit into
FRRouting:masterfrom
donaldsharp:longer_hold_timer_bgp_gr_functionality

Conversation

@donaldsharp

Copy link
Copy Markdown
Member

This test is testing out GR, but is expecting routes to have been received from several routers down the line by the time the EOR has been received on the router under test. This is not a guaranteed order of events. So give the test a bit more time to see if things stabilize.

This test is testing out GR, but is expecting routes to have been
received from several routers down the line by the time the EOR
has been received on the router under test.  This is not a guaranteed
order of events.  So give the test a bit more time to see if things
stabilize.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
@frrbot frrbot Bot added the tests Topotests, make check, etc label Feb 11, 2026
@greptile-apps

greptile-apps Bot commented Feb 11, 2026

Copy link
Copy Markdown

Greptile Overview

Greptile Summary

This PR increases the retry timeout for BGP RIB route verification in a graceful restart test scenario. The change specifically targets verification of routes from r2 reaching r6 via r1 after graceful restart, extending the wait time from the default 30 seconds to 60 seconds.

The modification addresses a race condition where:

  • The test waits for EOR (End-of-RIB) messages to be received on r1 after BGP daemon restart
  • However, EOR receipt on r1 doesn't guarantee that routes have propagated through the topology (r1 β†’ r6) yet
  • Under load, the propagation of routes from r2 through r1 to r6 can take longer than the default 30-second timeout

The fix properly uses the retry_timeout parameter supported by the @retry decorator on verify_bgp_rib(), and includes a clear comment explaining why the extended timeout is needed for this specific check.

Confidence Score: 5/5

  • This PR is safe to merge with minimal risk
  • The change is a simple, well-justified test timeout adjustment that addresses a documented race condition in the BGP graceful restart test. The modification uses the proper API (retry_timeout parameter), includes explanatory comments, and only affects test stability without changing production code or test logic.
  • No files require special attention

Important Files Changed

Filename Overview
tests/topotests/bgp_gr_functionality_topo2/test_bgp_gr_functionality_topo2-3.py Increased retry timeout from 30s to 60s for BGP RIB verification after graceful restart to handle delayed route propagation

@mjstapp
mjstapp merged commit 5efac74 into FRRouting:master Feb 13, 2026
23 checks passed
@donaldsharp
donaldsharp deleted the longer_hold_timer_bgp_gr_functionality branch April 30, 2026 10:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

master size/XS tests Topotests, make check, etc

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants