BGP convergence tests assert early due to no traffic being received on T2 uplinks.
- Dominant language
- No language data
- Stars
- 2
- Forks
- 105
- Avg merge
- 42m
- Merged PRs (30d)
- 35
Description
https://github.com/vivekverma-arista/sonic-mgmt.msft/blob/202405/tests/snappi_tests/multidut/bgp/files/bgp_outbound_helper.py#L2025
Point of failure: https://github.com/Azure/sonic-mgmt.msft/blob/202405/tests/snappi_tests/multidut/bgp/files/bgp_outbound_helper.py#L2022-L2025 (similar code in every test)
Issue#1: The config reload after editing config_db.json puts the chassis in maintenance mode, so when the test runs, no traffic is received on T2 uplink ports and tests assert early. The reason it happens after config reload is that every swss restart does TSA and starts the timer for TSB for which the pointer to the code is as follows
https://github.com/Azure/sonic-buildimage-msft/blob/202405/files/scripts/swss.sh#L260-L265
Issue#2: After addressing Issue#1 we still see sometimes 100% traffic going through only one path (sometimes T2 and other times simulated T2). It would make sense to introduce some entropy by making the flows map to a range of UDP ports.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with tests/snappi_tests/multidut/bgp/files/bgp_outbound_helper.py around lines 2022-2025 and compare the similar assertion sites. Then inspect files/scripts/swss.sh around lines 260-265 to understand the maintenance-mode transition after config reload. Done means the BGP convergence tests no longer assert before T2 traffic is available, and flow distribution includes the proposed UDP-port entropy.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- networking, testing-qa
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100