[action] [PR:21616] [sonic-mgmt] Fix flakiness of "arp/test_stress_arp.py"#22066
Merged
StormLiangMS merged 1 commit intosonic-net:202511from Jan 29, 2026
Merged
Conversation
1) Use "enum_rand_one_per_hwsku_frontend_hostname" for "test_ipv6_nd_incomplete" to select the duthost (as being used by other config fixtures like "config_facts", "ip_and_intf_info" etc). [Test was updated recently in PR20780 to use "enum_rand_one_per_hwsku_frontend_hostname" fixture but it seems mistakenly reverted by sonic-net#20932] 2) Most of testcases are sending protocol packets (arp, ipv6_echo requests etc) from server towards ToR device. On dualtor, these protocol packets will be processed by both the ToR duts and thus NEIGH_TABLE in APPL_DB will be populated in both the duts (though hardware/ASIC_DB programming will happen only on active ToR). Fix: It's always better to clear arp and fdb tables on both the ToRs before and after the testcase by updating "arp_cache_fdb_cleanup" fixture to iterate over "duthosts" for cleanup. Signed-off-by: Vinod <vkjammala@arista.com>
12 tasks
Collaborator
Author
|
Original PR: #21616 |
Collaborator
Author
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
lakshmi-nexthop
pushed a commit
to lakshmi-nexthop/sonic-mgmt
that referenced
this pull request
Feb 11, 2026
…) (sonic-net#22066) 1) Use "enum_rand_one_per_hwsku_frontend_hostname" for "test_ipv6_nd_incomplete" to select the duthost (as being used by other config fixtures like "config_facts", "ip_and_intf_info" etc). [Test was updated recently in PR20780 to use "enum_rand_one_per_hwsku_frontend_hostname" fixture but it seems mistakenly reverted by sonic-net#20932] 2) Most of testcases are sending protocol packets (arp, ipv6_echo requests etc) from server towards ToR device. On dualtor, these protocol packets will be processed by both the ToR duts and thus NEIGH_TABLE in APPL_DB will be populated in both the duts (though hardware/ASIC_DB programming will happen only on active ToR). Fix: It's always better to clear arp and fdb tables on both the ToRs before and after the testcase by updating "arp_cache_fdb_cleanup" fixture to iterate over "duthosts" for cleanup. Signed-off-by: Vinod <vkjammala@arista.com> Co-authored-by: vkjammala-arista <152394203+vkjammala-arista@users.noreply.github.com> Signed-off-by: Lakshmi Yarramaneni <lakshmi@nexthop.ai>
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
Summary: Fix flakiness of
arp/test_stress_arp.pyFixes # https://github.com/aristanetworks/sonic-qual.msft/issues/948
Type of change
Back port request
Approach
What is the motivation for this PR?
arp/test_stress_arp.py::test_ipv6_nd_incompleteis failing during teardown withBased on the syslogs, we can see there are some stale
arpentries in ASIC of standby dut which are populated due to previous testcase test_ipv4_arp which is sending bunch of arp response packets for different ip addresses in subnet172.16.0.1/16test_ipv6_nd_incompletecan pick different dut than it's config fixtures (due to different fixture usage for test and config fixtures likeconfig_factsetc, which might result in unexpected behaviourHow did you do it?
It's always better to clear arp and fdb tables on both the ToRs before and after the testcase by updating
arp_cache_fdb_cleanupfixture to iterate overduthostsfor cleanup.Use
enum_rand_one_per_hwsku_frontend_hostnamefortest_ipv6_nd_incompleteto select the duthost (as being used by other config fixtures likeconfig_facts,ip_and_intf_infoetc). [Test was updated recently in PR20780 to useenum_rand_one_per_hwsku_frontend_hostnamefixture but it seems mistakenly reverted by PR20932].How did you verify/test it?
Any platform specific information?
Supported testbed topology if it's a new test case?
Documentation