Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[action] [PR:12506] Fix everflow tests for active-active dualtor. #12604

Merged
merged 1 commit into from
Apr 26, 2024

Conversation

mssonicbld
Copy link
Collaborator

Description of PR

Summary:
Fixes #97

Type of change

  • Bug fix
  • Testbed and Framework(new/improvement)
  • Test case(new/improvement)

Back port request

  • 201911
  • 202012
  • 202205
  • 202305
  • 202311

Approach

What is the motivation for this PR?

everflow/test_everflow_ipv6.py fails on active-active dualtor

msg = 'Did not receive expected packet on any of ports [35] for device 0.\n========== EXPECTED ==========\nMask:\n\npacket s...0 00 ....<!..IT......\n0040 00 00 FF 00 00 .....\n==============================\n'
self = <tests.common.plugins.ptfadapter.ptfadapter.PtfTestAdapter testMethod=runTest>

everflow/test_everflow_testbed.py fails on active-active dualtor.

 # verify both ToRs are active
 for duthost in duthosts:
> pt_assert(
 wait_until(30, 5, 0, check_active_active_port_status, duthost, active_active_ports, "active"),
 "Not all active-active mux ports are active on device %s" % duthost.hostname
 )
E Failed: Not all active-active mux ports are active on device ld302

Following pull requests attempted to fix everflow tests -

  1. everflow/test_everflow_ipv6.py: fix the everflow ipv6 failure on dualtor A-A #10228
  2. everflow/test_everflow_testbed.py: fix the everflow testbed failure on dualtor A-A #12022

PR10228 was reverted because in the fix, BGP was't being shutdown and TTL was set to 1 only for dualtor case but it introduced a new regression.
PR12022 relied on PR120228 ( the fact that BGP would stll run for dualtor-aa ) and after the revert of former, the fix no longer works as both ToRs become standby and validation inside fixture validate_active_active_dualtor_setup fails.

How did you do it?

The proposed fix is to use the fixture setup_standby_ports_on_rand_unselected_tor_unconditionally introduced in PR11921, so that these tests can run active-standby mode even if we shutdown BGP, ICMP responder, etc

How did you verify/test it?

Verified on Arista-7260 platform with dualtor-aa topology with 202305 image.

everflow/test_everflow_ipv6.py::TestIngressEverflowIPv6::test_src_ipv6_mirroring[cli-default] PASSED [ 5%]
everflow/test_everflow_ipv6.py::TestIngressEverflowIPv6::test_dst_ipv6_mirroring[cli-default] PASSED [ 10%]
everflow/test_everflow_ipv6.py::TestIngressEverflowIPv6::test_next_header_mirroring[cli-default] PASSED [ 15%]
everflow/test_everflow_ipv6.py::TestIngressEverflowIPv6::test_l4_src_port_mirroring[cli-default] PASSED [ 20%]
everflow/test_everflow_ipv6.py::TestIngressEverflowIPv6::test_l4_dst_port_mirroring[cli-default] PASSED [ 25%]
everflow/test_everflow_ipv6.py::TestIngressEverflowIPv6::test_l4_src_port_range_mirroring[cli-default] PASSED [ 30%]
everflow/test_everflow_ipv6.py::TestIngressEverflowIPv6::test_l4_dst_port_range_mirroring[cli-default] PASSED [ 35%]
everflow/test_everflow_ipv6.py::TestIngressEverflowIPv6::test_tcp_flags_mirroring[cli-default] PASSED [ 40%]
everflow/test_everflow_ipv6.py::TestIngressEverflowIPv6::test_dscp_mirroring[cli-default] PASSED [ 45%]
everflow/test_everflow_ipv6.py::TestIngressEverflowIPv6::test_l4_range_mirroring[cli-default] PASSED [ 50%]
everflow/test_everflow_ipv6.py::TestIngressEverflowIPv6::test_tcp_response_mirroring[cli-default] PASSED [ 55%]
everflow/test_everflow_ipv6.py::TestIngressEverflowIPv6::test_tcp_application_mirroring[cli-default] PASSED [ 60%]
everflow/test_everflow_ipv6.py::TestIngressEverflowIPv6::test_udp_application_mirroring[cli-default] PASSED [ 65%]
everflow/test_everflow_ipv6.py::TestIngressEverflowIPv6::test_any_protocol[cli-default] PASSED [ 70%]
everflow/test_everflow_ipv6.py::TestIngressEverflowIPv6::test_any_transport_protocol[cli-default] PASSED [ 75%]
everflow/test_everflow_ipv6.py::TestIngressEverflowIPv6::test_invalid_tcp_rule[cli-default] PASSED [ 80%]
everflow/test_everflow_ipv6.py::TestIngressEverflowIPv6::test_source_subnet[cli-default] PASSED [ 85%]
everflow/test_everflow_ipv6.py::TestIngressEverflowIPv6::test_dest_subnet[cli-default] PASSED [ 90%]
everflow/test_everflow_ipv6.py::TestIngressEverflowIPv6::test_both_subnets[cli-default] PASSED [ 95%]
everflow/test_everflow_ipv6.py::TestIngressEverflowIPv6::test_fuzzy_subnets[cli-default] PASSED [100%]

everflow/test_everflow_testbed.py::TestEverflowV4IngressAclIngressMirror::test_everflow_basic_forwarding[cli-downstream-default] PASSED [ 2%]
everflow/test_everflow_testbed.py::TestEverflowV4IngressAclIngressMirror::test_everflow_neighbor_mac_change[cli-downstream-default] PASSED [ 5%]
everflow/test_everflow_testbed.py::TestEverflowV4IngressAclIngressMirror::test_everflow_remove_unused_ecmp_next_hop[cli-downstream-default] PASSED [ 7%]
everflow/test_everflow_testbed.py::TestEverflowV4IngressAclIngressMirror::test_everflow_remove_used_ecmp_next_hop[cli-downstream-default] PASSED [ 10%]
everflow/test_everflow_testbed.py::TestEverflowV4IngressAclIngressMirror::test_everflow_dscp_with_policer[cli-downstream-default] PASSED [ 12%]
everflow/test_everflow_testbed.py::TestEverflowV4IngressAclEgressMirror::test_everflow_basic_forwarding[cli-downstream-default] SKIPPED (ingress ACL w/ eg...) [ 15%]
everflow/test_everflow_testbed.py::TestEverflowV4IngressAclEgressMirror::test_everflow_neighbor_mac_change[cli-downstream-default] SKIPPED (ingress ACL w/...) [ 17%]
everflow/test_everflow_testbed.py::TestEverflowV4IngressAclEgressMirror::test_everflow_remove_unused_ecmp_next_hop[cli-downstream-default] SKIPPED (ingres...) [ 20%]
everflow/test_everflow_testbed.py::TestEverflowV4IngressAclEgressMirror::test_everflow_remove_used_ecmp_next_hop[cli-downstream-default] SKIPPED (ingress ...) [ 22%]
everflow/test_everflow_testbed.py::TestEverflowV4IngressAclEgressMirror::test_everflow_dscp_with_policer[cli-downstream-default] SKIPPED (ingress ACL w/ e...) [ 25%]
everflow/test_everflow_testbed.py::TestEverflowV4EgressAclIngressMirror::test_everflow_basic_forwarding[cli-downstream-default] SKIPPED (egress ACL w/ ing...) [ 27%]
everflow/test_everflow_testbed.py::TestEverflowV4EgressAclIngressMirror::test_everflow_neighbor_mac_change[cli-downstream-default] SKIPPED (egress ACL w/ ...) [ 30%]
everflow/test_everflow_testbed.py::TestEverflowV4EgressAclIngressMirror::test_everflow_remove_unused_ecmp_next_hop[cli-downstream-default] SKIPPED (egress...) [ 32%]
everflow/test_everflow_testbed.py::TestEverflowV4EgressAclIngressMirror::test_everflow_remove_used_ecmp_next_hop[cli-downstream-default] SKIPPED (egress A...) [ 35%]
everflow/test_everflow_testbed.py::TestEverflowV4EgressAclIngressMirror::test_everflow_dscp_with_policer[cli-downstream-default] SKIPPED (egress ACL w/ in...) [ 37%]
everflow/test_everflow_testbed.py::TestEverflowV4EgressAclEgressMirror::test_everflow_basic_forwarding[cli-downstream-default] SKIPPED (egress ACL w/ egre...) [ 40%]
everflow/test_everflow_testbed.py::TestEverflowV4EgressAclEgressMirror::test_everflow_neighbor_mac_change[cli-downstream-default] SKIPPED (egress ACL w/ e...) [ 42%]
everflow/test_everflow_testbed.py::TestEverflowV4EgressAclEgressMirror::test_everflow_remove_unused_ecmp_next_hop[cli-downstream-default] SKIPPED (egress ...) [ 45%]
everflow/test_everflow_testbed.py::TestEverflowV4EgressAclEgressMirror::test_everflow_remove_used_ecmp_next_hop[cli-downstream-default] SKIPPED (egress AC...) [ 47%]
everflow/test_everflow_testbed.py::TestEverflowV4EgressAclEgressMirror::test_everflow_dscp_with_policer[cli-downstream-default] SKIPPED (egress ACL w/ egr...) [ 50%]
everflow/test_everflow_testbed.py::TestEverflowV4IngressAclIngressMirror::test_everflow_basic_forwarding[cli-upstream-default] PASSED [ 52%]
everflow/test_everflow_testbed.py::TestEverflowV4IngressAclIngressMirror::test_everflow_neighbor_mac_change[cli-upstream-default] PASSED [ 55%]
everflow/test_everflow_testbed.py::TestEverflowV4IngressAclIngressMirror::test_everflow_remove_unused_ecmp_next_hop[cli-upstream-default] PASSED [ 57%]
everflow/test_everflow_testbed.py::TestEverflowV4IngressAclIngressMirror::test_everflow_remove_used_ecmp_next_hop[cli-upstream-default] PASSED [ 60%]
everflow/test_everflow_testbed.py::TestEverflowV4IngressAclIngressMirror::test_everflow_dscp_with_policer[cli-upstream-default] PASSED [ 62%]
everflow/test_everflow_testbed.py::TestEverflowV4IngressAclEgressMirror::test_everflow_basic_forwarding[cli-upstream-default] SKIPPED (ingress ACL w/ egre...) [ 65%]
everflow/test_everflow_testbed.py::TestEverflowV4IngressAclEgressMirror::test_everflow_neighbor_mac_change[cli-upstream-default] SKIPPED (ingress ACL w/ e...) [ 67%]
everflow/test_everflow_testbed.py::TestEverflowV4IngressAclEgressMirror::test_everflow_remove_unused_ecmp_next_hop[cli-upstream-default] SKIPPED (ingress ...) [ 70%]
everflow/test_everflow_testbed.py::TestEverflowV4IngressAclEgressMirror::test_everflow_remove_used_ecmp_next_hop[cli-upstream-default] SKIPPED (ingress AC...) [ 72%]
everflow/test_everflow_testbed.py::TestEverflowV4IngressAclEgressMirror::test_everflow_dscp_with_policer[cli-upstream-default] SKIPPED (ingress ACL w/ egr...) [ 75%]
everflow/test_everflow_testbed.py::TestEverflowV4EgressAclIngressMirror::test_everflow_basic_forwarding[cli-upstream-default] SKIPPED (egress ACL w/ ingre...) [ 77%]
everflow/test_everflow_testbed.py::TestEverflowV4EgressAclIngressMirror::test_everflow_neighbor_mac_change[cli-upstream-default] SKIPPED (egress ACL w/ in...) [ 80%]
everflow/test_everflow_testbed.py::TestEverflowV4EgressAclIngressMirror::test_everflow_remove_unused_ecmp_next_hop[cli-upstream-default] SKIPPED (egress A...) [ 82%]
everflow/test_everflow_testbed.py::TestEverflowV4EgressAclIngressMirror::test_everflow_remove_used_ecmp_next_hop[cli-upstream-default] SKIPPED (egress ACL...) [ 85%]
everflow/test_everflow_testbed.py::TestEverflowV4EgressAclIngressMirror::test_everflow_dscp_with_policer[cli-upstream-default] SKIPPED (egress ACL w/ ingr...) [ 87%]
everflow/test_everflow_testbed.py::TestEverflowV4EgressAclEgressMirror::test_everflow_basic_forwarding[cli-upstream-default] SKIPPED (egress ACL w/ egress...) [ 90%]
everflow/test_everflow_testbed.py::TestEverflowV4EgressAclEgressMirror::test_everflow_neighbor_mac_change[cli-upstream-default] SKIPPED (egress ACL w/ egr...) [ 92%]
everflow/test_everflow_testbed.py::TestEverflowV4EgressAclEgressMirror::test_everflow_remove_unused_ecmp_next_hop[cli-upstream-default] SKIPPED (egress AC...) [ 95%]
everflow/test_everflow_testbed.py::TestEverflowV4EgressAclEgressMirror::test_everflow_remove_used_ecmp_next_hop[cli-upstream-default] SKIPPED (egress ACL ...) [ 97%]
everflow/test_everflow_testbed.py::TestEverflowV4EgressAclEgressMirror::test_everflow_dscp_with_policer[cli-upstream-default] SKIPPED (egress ACL w/ egres...) [100%]

Any platform specific information?

Supported testbed topology if it's a new test case?

Documentation

@mssonicbld
Copy link
Collaborator Author

Original PR: #12506

@mssonicbld mssonicbld merged commit 0a020b1 into sonic-net:202305 Apr 26, 2024
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants