Azure / Azure/sonic-mgmt.msft

BGP convergence tests assert early due to no traffic being received on T2 uplinks.

Open
#357 1 comment 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.