[sonic-mgmt] Fix flakiness of "arp/test_stress_arp.py"#21616
Merged
bingwang-ms merged 1 commit intosonic-net:masterfrom Dec 18, 2025
Merged
[sonic-mgmt] Fix flakiness of "arp/test_stress_arp.py"#21616bingwang-ms merged 1 commit intosonic-net:masterfrom
bingwang-ms merged 1 commit intosonic-net:masterfrom
Conversation
Collaborator
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
Contributor
|
Hi @vkjammala-arista, could you please fix the pr checker? Looks you didn't sign your commit. |
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>
0786609 to
e7477ed
Compare
Collaborator
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
Contributor
Author
Thanks @lolyu fixed it! |
Collaborator
|
@vkjammala-arista PR conflicts with 202505 branch |
Contributor
|
Hi @vkjammala-arista please help cherry-pick into 202505 |
gshemesh2
pushed a commit
to gshemesh2/sonic-mgmt
that referenced
this pull request
Dec 21, 2025
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> Signed-off-by: Guy Shemesh <gshemesh@nvidia.com>
vrajeshe
pushed a commit
to Akshath-17/sonic-mgmt
that referenced
this pull request
Jan 4, 2026
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> Signed-off-by: Venkata Gouri Rajesh Etla <vrajeshe@cisco.com>
12 tasks
Contributor
Author
|
venu-nexthop
pushed a commit
to venu-nexthop/sonic-mgmt
that referenced
this pull request
Jan 13, 2026
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>
yifan-nexthop
pushed a commit
to nexthop-ai/sonic-mgmt
that referenced
this pull request
Jan 14, 2026
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> Signed-off-by: YiFan Wang <yifan@nexthop.ai>
mssonicbld
pushed a commit
to mssonicbld/sonic-mgmt
that referenced
this pull request
Jan 20, 2026
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>
Collaborator
|
Cherry-pick PR to 202511: #22066 |
12 tasks
PriyanshTratiya
pushed a commit
to PriyanshTratiya/sonic-mgmt
that referenced
this pull request
Jan 21, 2026
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> Signed-off-by: Priyansh Tratiya <ptratiya@microsoft.com>
StormLiangMS
pushed a commit
that referenced
this pull request
Jan 29, 2026
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 #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>
ytzur1
pushed a commit
to ytzur1/sonic-mgmt
that referenced
this pull request
Feb 2, 2026
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> Signed-off-by: Yael Tzur <ytzur@nvidia.com>
abhishek-nexthop
pushed a commit
to nexthop-ai/sonic-mgmt
that referenced
this pull request
Feb 6, 2026
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>
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>
nnelluri-cisco
pushed a commit
to nnelluri-cisco/sonic-mgmt
that referenced
this pull request
Feb 12, 2026
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> Signed-off-by: nnelluri-cisco <nnelluri@cisco.com>
rraghav-cisco
pushed a commit
to rraghav-cisco/sonic-mgmt
that referenced
this pull request
Feb 13, 2026
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> Signed-off-by: Raghavendran Ramanathan <rraghav@cisco.com>
rraghav-cisco
pushed a commit
to rraghav-cisco/sonic-mgmt
that referenced
this pull request
Feb 18, 2026
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> Signed-off-by: Raghavendran Ramanathan <rraghav@cisco.com>
anilal-amd
pushed a commit
to anilal-amd/anilal-forked-sonic-mgmt
that referenced
this pull request
Feb 19, 2026
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> Signed-off-by: Zhuohui Tan <zhuohui.tan@amd.com>
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