[action] [PR:22843] Fix Intermittent loganalyzer failure by correcting fixture execution order in test_stress_arp.py tests#23334
Merged
mssonicbld merged 1 commit intosonic-net:202511from Mar 26, 2026
Conversation
correcting fixture execution order in test_stress_arp.py tests The arp_cache_fdb_cleanup fixture was running before the DUT completed the Active/Standby toggle, causing "route doesn't exist" errors to be generated while the DUT was still in Standby. Since loganalyzer marks the device as Active after the toggle fixture finishes, these Standby errors were incorrectly matched against the Active phase and triggered a test failure during teardown. Add a fixture dependency so that setup_dualtor_mux_ports runs before arp_cache_fdb_cleanup. This ensures the DUT reaches the Active state before the cleanup executes, preventing misidentified Standby-phase errors. Signed-off-by: Sireesha Lingareddy <[email protected]> Signed-off-by: mssonicbld <[email protected]>
12 tasks
Collaborator
Author
|
Original PR: #22843 |
Collaborator
Author
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description of PR
Incorrect order of fixtures execution in the test_stress_arp.py test suite where the arp_cache_fdb_cleanup fixture executes before the Device Under Test (DUT) has finished toggling from Standby to Active state. This causes the system to generate "route doesn't exist" errors while the DUT is still in Standby mode. Because the test infrastructure marks the device as "Active" after the toggle fixture completes, the loganalyzer incorrectly identifies these Standby-phase errors as Active-phase failures during teardown
Summary:
Fixes # #22841
Type of change
Back port request
Approach
What is the motivation for this PR?
The motivation is to fix a incorrect fixture execution order in the test_stress_arp.py test suite that causes intermittent failures during the teardown phase.
Currently, the arp_cache_fdb_cleanup fixture can run while the DUT (Device Under Test) is still in a "Standby" state during a Dual-ToR toggle. This triggers "route doesn't exist" error logs. Because the test infrastructure marks the device as "Active" shortly after, loganalyzer misinterprets these Standby-phase errors as Active-phase failures, causing the test to fail during teardown.
How did you do it?
I introduced a formal fixture dependency in tests/arp/test_stress_arp.py. By ensuring that setup_dualtor_mux_ports runs before arp_cache_fdb_cleanup, we guarantee that the DUT has completed its transition to the Active state before the cleanup process begins. This synchronization prevents the generation of the conflicting error logs.
How did you verify/test it?
I verified this fix by performing the following steps:
Any platform specific information?
No. Applies to all platforms in dualtor testbeds.
Supported testbed topology if it's a new test case?
N/A - Bug fix for existing test.
Documentation
No documentation needed. Internal test fixture fix only.