Skip to content

Issue 20728: Enhance configlet/test_add_rack.py for ipv6-only topos#21591

Merged
yanmo96 merged 2 commits intosonic-net:masterfrom
nexthop-ai:anders.20728.test_add_rack-for-ipv6
Mar 13, 2026
Merged

Issue 20728: Enhance configlet/test_add_rack.py for ipv6-only topos#21591
yanmo96 merged 2 commits intosonic-net:masterfrom
nexthop-ai:anders.20728.test_add_rack-for-ipv6

Conversation

@anders-nexthop
Copy link
Contributor

Description of PR

Summary:
Currently, the test checks for both ipv4 and ipv6 neighbors unconditionally, and will fail if either is missing. Change that behavior to instead check to see if neighbors exist before running the bgp checks. Add a failure case if no neighbors are found in either AF. This way the test is AF-agnostic.

Closes #20728

Type of change

  • Bug fix
  • Testbed and Framework(new/improvement)
  • New Test case
    • Skipped for non-supported platforms
  • Test case improvement

Back port request

  • 202205
  • 202305
  • 202311
  • 202405
  • 202411
  • 202505
  • 202511

Approach

What is the motivation for this PR?

Extend coverage for IPv6-only topos

How did you do it?

Add logic to check whether v4/v6 neighbor ips exist before checking whether they are up. If no neighbor ips are found at all, the test fails.

How did you verify/test it?

Ran the test on a vs topo with only v6 neighbors. It fails before these changes and passes after they are added.

Any platform specific information?

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

Documentation

@mssonicbld
Copy link
Collaborator

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@mssonicbld
Copy link
Collaborator

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@anders-nexthop anders-nexthop force-pushed the anders.20728.test_add_rack-for-ipv6 branch from 71be742 to ede382f Compare December 5, 2025 20:50
@mssonicbld
Copy link
Collaborator

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@anders-nexthop anders-nexthop force-pushed the anders.20728.test_add_rack-for-ipv6 branch from ede382f to aa1938f Compare December 6, 2025 01:12
@mssonicbld
Copy link
Collaborator

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@anders-nexthop
Copy link
Contributor Author

/azpw

@anders-nexthop anders-nexthop force-pushed the anders.20728.test_add_rack-for-ipv6 branch from aa1938f to fbf5115 Compare December 10, 2025 15:42
@mssonicbld
Copy link
Collaborator

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@yxieca yxieca requested a review from yanmo96 December 10, 2025 16:17
@bingwang-ms
Copy link
Collaborator

@yanmo96 Can you help review this PR? Thanks

@anders-nexthop anders-nexthop force-pushed the anders.20728.test_add_rack-for-ipv6 branch from fbf5115 to c23e5ca Compare February 4, 2026 04:54
@mssonicbld
Copy link
Collaborator

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@anders-nexthop
Copy link
Contributor Author

/azpw run

@mssonicbld
Copy link
Collaborator

/AzurePipelines run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

yanmo96
yanmo96 previously approved these changes Feb 26, 2026
Copy link
Contributor

@yanmo96 yanmo96 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@anders-nexthop
Copy link
Contributor Author

/azpw run

@mssonicbld
Copy link
Collaborator

/AzurePipelines run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@anders-nexthop
Copy link
Contributor Author

@yxieca here's another one that's passing all the checks

@yanmo96
Copy link
Contributor

yanmo96 commented Mar 13, 2026

Hi @anders-nexthop trying to merge, but some conflicts need to be resolve

Currently, the test checks for both ipv4 and ipv6 neighbors
unconditionally, and will fail if either is missing. Change that
behavior to instead check to see if neighbors exist before running the
bgp checks. Add a failure case if no neighbors are found in either AF.
This way the test is AF-agnostic.

Signed-off-by: Anders Linn <[email protected]>
Signed-off-by: Anders Linn <[email protected]>
@mssonicbld
Copy link
Collaborator

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@anders-nexthop
Copy link
Contributor Author

Thanks @yanmo96 yes some conflicts just came in, i have resolved them and updated the PR.

@anders-nexthop
Copy link
Contributor Author

@yanmo96 all checks are passing now

Copy link
Contributor

@yanmo96 yanmo96 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@yanmo96 yanmo96 merged commit 331f594 into sonic-net:master Mar 13, 2026
16 checks passed
selldinesh pushed a commit to selldinesh/sonic-mgmt that referenced this pull request Mar 16, 2026
…onic-net#21591)

* Issue 20728: Enhance configlet/test_add_rack.py for ipv6-only topos

Currently, the test checks for both ipv4 and ipv6 neighbors
unconditionally, and will fail if either is missing. Change that
behavior to instead check to see if neighbors exist before running the
bgp checks. Add a failure case if no neighbors are found in either AF.
This way the test is AF-agnostic.

Signed-off-by: Anders Linn <[email protected]>

* Address review comments

Signed-off-by: Anders Linn <[email protected]>

---------

Signed-off-by: Anders Linn <[email protected]>
Signed-off-by: selldinesh <[email protected]>
abhishek-nexthop pushed a commit to nexthop-ai/sonic-mgmt that referenced this pull request Mar 17, 2026
…onic-net#21591)

* Issue 20728: Enhance configlet/test_add_rack.py for ipv6-only topos

Currently, the test checks for both ipv4 and ipv6 neighbors
unconditionally, and will fail if either is missing. Change that
behavior to instead check to see if neighbors exist before running the
bgp checks. Add a failure case if no neighbors are found in either AF.
This way the test is AF-agnostic.

Signed-off-by: Anders Linn <[email protected]>

* Address review comments

Signed-off-by: Anders Linn <[email protected]>

---------

Signed-off-by: Anders Linn <[email protected]>
Signed-off-by: Abhishek <[email protected]>
@weiguo-nvidia
Copy link
Contributor

Hi @anders-nexthop ,

202511 branch also need this fix, could you help cherry-pick? thanks

vrajeshe pushed a commit to vrajeshe/sonic-mgmt that referenced this pull request Mar 23, 2026
…onic-net#21591)

* Issue 20728: Enhance configlet/test_add_rack.py for ipv6-only topos

Currently, the test checks for both ipv4 and ipv6 neighbors
unconditionally, and will fail if either is missing. Change that
behavior to instead check to see if neighbors exist before running the
bgp checks. Add a failure case if no neighbors are found in either AF.
This way the test is AF-agnostic.

Signed-off-by: Anders Linn <[email protected]>

* Address review comments

Signed-off-by: Anders Linn <[email protected]>

---------

Signed-off-by: Anders Linn <[email protected]>
Signed-off-by: Venkata Gouri Rajesh Etla <[email protected]>
weiguo-nvidia added a commit to weiguo-nvidia/sonic-mgmt that referenced this pull request Mar 24, 2026
PR sonic-net#22895 added BGP session convergence wait before DB comparison in
generic_patch_add_t0(), but unconditionally checks both IPv4 and IPv6
BGP sessions. On IPv6-only topologies (e.g. t1-isolated-v6-d56u1-lag),
tor_data["ip"]["remote"] is empty, causing is_bgp_session_established()
to fail.

Fix by checking whether each neighbor IP exists before waiting for the
BGP session, consistent with the chk_any_bgp_session() approach from
PR sonic-net#21591.

Change-Id: I694fd17b7b49b4ce4ece53e0521773b71f301b70
Signed-off-by: weiguo-nvidia <[email protected]>
anders-nexthop added a commit to anders-nexthop/sonic-mgmt that referenced this pull request Mar 25, 2026
…onic-net#21591)

* Issue 20728: Enhance configlet/test_add_rack.py for ipv6-only topos

Currently, the test checks for both ipv4 and ipv6 neighbors
unconditionally, and will fail if either is missing. Change that
behavior to instead check to see if neighbors exist before running the
bgp checks. Add a failure case if no neighbors are found in either AF.
This way the test is AF-agnostic.

Signed-off-by: Anders Linn <[email protected]>

* Address review comments

Signed-off-by: Anders Linn <[email protected]>

---------

Signed-off-by: Anders Linn <[email protected]>
@anders-nexthop
Copy link
Contributor Author

Hi @weiguo-nvidia, cherry-pick to 202511 is up at #23321.

— anders-bot (AI-assisted, on behalf of @anders-nexthop)

yxieca pushed a commit that referenced this pull request Mar 26, 2026
…#23241)

What is the motivation for this PR?\nPR #22895 added BGP session convergence wait before DB comparison in generic_patch_add_t0(), but unconditionally checks both IPv4 and IPv6 BGP sessions. On IPv6-only topologies (e.g. t1-isolated-v6-d56u1-lag), tor_data["ip"]["remote"] is empty, causing is_bgp_session_established() to fail.\n\nHow did you do it?\nFix by checking whether each neighbor IP exists before waiting for the BGP session, consistent with the chk_any_bgp_session() approach from PR #21591.\n\nHow did you verify/test it?\nRegression test pass\n\nSigned-off-by:\nweiguo-nvidia <[email protected]>
ravaliyel pushed a commit to ravaliyel/sonic-mgmt that referenced this pull request Mar 27, 2026
…onic-net#21591)

* Issue 20728: Enhance configlet/test_add_rack.py for ipv6-only topos

Currently, the test checks for both ipv4 and ipv6 neighbors
unconditionally, and will fail if either is missing. Change that
behavior to instead check to see if neighbors exist before running the
bgp checks. Add a failure case if no neighbors are found in either AF.
This way the test is AF-agnostic.

Signed-off-by: Anders Linn <[email protected]>

* Address review comments

Signed-off-by: Anders Linn <[email protected]>

---------

Signed-off-by: Anders Linn <[email protected]>
ravaliyel pushed a commit to ravaliyel/sonic-mgmt that referenced this pull request Mar 27, 2026
…sonic-net#23241)

What is the motivation for this PR?\nPR sonic-net#22895 added BGP session convergence wait before DB comparison in generic_patch_add_t0(), but unconditionally checks both IPv4 and IPv6 BGP sessions. On IPv6-only topologies (e.g. t1-isolated-v6-d56u1-lag), tor_data["ip"]["remote"] is empty, causing is_bgp_session_established() to fail.\n\nHow did you do it?\nFix by checking whether each neighbor IP exists before waiting for the BGP session, consistent with the chk_any_bgp_session() approach from PR sonic-net#21591.\n\nHow did you verify/test it?\nRegression test pass\n\nSigned-off-by:\nweiguo-nvidia <[email protected]>
vmittal-msft pushed a commit that referenced this pull request Mar 27, 2026
…21591) (#23321)

* Issue 20728: Enhance configlet/test_add_rack.py for ipv6-only topos

Currently, the test checks for both ipv4 and ipv6 neighbors
unconditionally, and will fail if either is missing. Change that
behavior to instead check to see if neighbors exist before running the
bgp checks. Add a failure case if no neighbors are found in either AF.
This way the test is AF-agnostic.



* Address review comments



---------

Signed-off-by: Anders Linn <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Bug:[IPv6 only topo] [test_add_rack] test_add_rack not updated to IPv6 only topology

6 participants