Skip to content

[bgp-scale-test] Implement bgp scale test cases for sessions flapping, unisolation, nexthop group member change scenarios#16069

Merged
Blueve merged 19 commits intosonic-net:masterfrom
w1nda:bgp-ipv6-scale-test
May 7, 2025
Merged

[bgp-scale-test] Implement bgp scale test cases for sessions flapping, unisolation, nexthop group member change scenarios#16069
Blueve merged 19 commits intosonic-net:masterfrom
w1nda:bgp-ipv6-scale-test

Conversation

@w1nda
Copy link
Member

@w1nda w1nda commented Dec 13, 2024

Description of PR

Summary:
Fixes # (issue)
Implement test plan #15702.
Add test cases to test if control/data plane can handle the initialization/flapping of numerous BGP session holding a lot routes, and estimate the impact on it.

Type of change

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

Back port request

  • 202012
  • 202205
  • 202305
  • 202311
  • 202405

Approach

What is the motivation for this PR?

With numerous BGP sessions holding a lot routes, any flapping on BGP sessions or routes cloud have more overhead on device, we need test cases to verify the functionality and estimate convergence time, we publish this test plan.

How did you do it?

Implement sessions flapping test, unisolation test and nexthop group member scale test

How did you verify/test it?

Any platform specific information?

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

Documentation

@w1nda w1nda requested a review from StormLiangMS as a code owner December 13, 2024 18:12
@mssonicbld
Copy link
Collaborator

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@w1nda w1nda marked this pull request as draft December 13, 2024 18:13
@w1nda w1nda requested review from Blueve and r12f and removed request for StormLiangMS December 13, 2024 18:14
@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).

@w1nda w1nda marked this pull request as ready for review December 17, 2024 04:48
@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).

@mssonicbld
Copy link
Collaborator

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@w1nda
Copy link
Member Author

w1nda commented Jan 17, 2025

Pre_test Markers Check failure is fixing in PR #16571

wangxin pushed a commit that referenced this pull request Jan 20, 2025
…ead of single line (#16571)

In PR #16069, the PR validation pipeline failed on error: Please add mark pytest.mark.topology in script bgp/test_ipv6_bgp_scale.py.

After debugging, I found that the pipeline match the pattern per line, so it will not match the marker in format:

pytestmark = [
    pytest.mark.topology(
        't0-isolated-d2u254s1', 't0-isolated-d2u254s2', 't0-isolated-d2u510',
        't1-isolated-d254u2s1', 't1-isolated-d254u2s2', 't1-isolated-d510u2'
    )
]
However, If I write all mark in same line, it will exceed the maximum line length, so I raise this PR to let mark checker match pattern from whole script instead of lines.

What is the motivation for this PR?
In summary section.

How did you do it?
let mark checker match pattern from whole script instead of lines.

How did you verify/test it?
trigger pipeline by this PR.
run script locally.
Any platform specific information?
NA
@mssonicbld
Copy link
Collaborator

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@w1nda w1nda force-pushed the bgp-ipv6-scale-test branch from c9c55a4 to 90a5ec4 Compare April 2, 2025 09:31
@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).

@mssonicbld
Copy link
Collaborator

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

Copy link
Collaborator

@r12f r12f left a comment

Choose a reason for hiding this comment

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

data plane noise issue is resolved. signed off.

@mssonicbld
Copy link
Collaborator

Cherry-pick PR to msft-202412: Azure/sonic-mgmt.msft#258

mssonicbld added a commit to mssonicbld/sonic-mgmt.msft that referenced this pull request May 9, 2025
<!--
Please make sure you've read and understood our contributing guidelines;
https://github.com/sonic-net/SONiC/blob/gh-pages/CONTRIBUTING.md

Please provide following information to help code review process a bit easier:
-->
### Description of PR
<!--
- Please include a summary of the change and which issue is fixed.
- Please also include relevant motivation and context. Where should reviewer start? background context?
- List any dependencies that are required for this change.
-->

Summary:
Fixes # (issue)
This test plan is to test if control/data plane can handle the initialization/flapping of numerous BGP session holding a lot routes, and estimate the impact on it.

Related PRs:
| PR title | State | Context |
| ------ | ------ | -------|
| [ [bgp-scale-test] Implement bgp scale test cases for sessions flapping, unisolation, nexthop group member change scenarios ](sonic-net/sonic-mgmt#16069) | ![state](https://img.shields.io/github/pulls/detail/state/sonic-net/sonic-mgmt/16069) | ![context](https://img.shields.io/github/status/contexts/pulls/sonic-net/sonic-mgmt/16069) |
| [ [testbed] announce routes with routes generation switch, aggregate routes and variable ipv6 address pattern ](sonic-net/sonic-mgmt#15748) | ![state](https://img.shields.io/github/pulls/detail/state/sonic-net/sonic-mgmt/15748) | ![context](https://img.shields.io/github/status/contexts/pulls/sonic-net/sonic-mgmt/15748) |
| [ [isolated-topo] disable ipv4 routes generation, add mocked aggregated addresses ](sonic-net/sonic-mgmt#15748) | ![state](https://img.shields.io/github/pulls/detail/state/sonic-net/sonic-mgmt/16213) | ![context](https://img.shields.io/github/status/contexts/pulls/sonic-net/sonic-mgmt/16213) |

### Type of change

<!--
- Fill x for your type of change.
- e.g.
- [x] Bug fix
-->

- [ ] Bug fix
- [ ] Testbed and Framework(new/improvement)
- [ ] Test case(new/improvement)

### Back port request
- [ ] 202012
- [ ] 202205
- [ ] 202305
- [ ] 202311
- [ ] 202405

### Approach
#### What is the motivation for this PR?
With numerous BGP sessions holding a lot routes, any flapping on BGP sessions or routes cloud have more overhead on device, to verify the functionality and estimate convergence time, we publish this test plan.
#### How did you do it?
Describe three test scenarios and introduce how we measure time in test.
#### How did you verify/test it?

#### Any platform specific information?

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

### Documentation
<!--
(If it's a new feature, new test case)
Did you update documentation/Wiki relevant to your implementation?
Link to the wiki page?
-->
mssonicbld added a commit to Azure/sonic-mgmt.msft that referenced this pull request May 9, 2025
<!--
Please make sure you've read and understood our contributing guidelines;
https://github.com/sonic-net/SONiC/blob/gh-pages/CONTRIBUTING.md

Please provide following information to help code review process a bit easier:
-->
### Description of PR
<!--
- Please include a summary of the change and which issue is fixed.
- Please also include relevant motivation and context. Where should reviewer start? background context?
- List any dependencies that are required for this change.
-->

Summary:
Fixes # (issue)
This test plan is to test if control/data plane can handle the initialization/flapping of numerous BGP session holding a lot routes, and estimate the impact on it.

Related PRs:
| PR title | State | Context |
| ------ | ------ | -------|
| [ [bgp-scale-test] Implement bgp scale test cases for sessions flapping, unisolation, nexthop group member change scenarios ](sonic-net/sonic-mgmt#16069) | ![state](https://img.shields.io/github/pulls/detail/state/sonic-net/sonic-mgmt/16069) | ![context](https://img.shields.io/github/status/contexts/pulls/sonic-net/sonic-mgmt/16069) |
| [ [testbed] announce routes with routes generation switch, aggregate routes and variable ipv6 address pattern ](sonic-net/sonic-mgmt#15748) | ![state](https://img.shields.io/github/pulls/detail/state/sonic-net/sonic-mgmt/15748) | ![context](https://img.shields.io/github/status/contexts/pulls/sonic-net/sonic-mgmt/15748) |
| [ [isolated-topo] disable ipv4 routes generation, add mocked aggregated addresses ](sonic-net/sonic-mgmt#15748) | ![state](https://img.shields.io/github/pulls/detail/state/sonic-net/sonic-mgmt/16213) | ![context](https://img.shields.io/github/status/contexts/pulls/sonic-net/sonic-mgmt/16213) |

### Type of change

<!--
- Fill x for your type of change.
- e.g.
- [x] Bug fix
-->

- [ ] Bug fix
- [ ] Testbed and Framework(new/improvement)
- [ ] Test case(new/improvement)

### Back port request
- [ ] 202012
- [ ] 202205
- [ ] 202305
- [ ] 202311
- [ ] 202405

### Approach
#### What is the motivation for this PR?
With numerous BGP sessions holding a lot routes, any flapping on BGP sessions or routes cloud have more overhead on device, to verify the functionality and estimate convergence time, we publish this test plan.
#### How did you do it?
Describe three test scenarios and introduce how we measure time in test.
#### How did you verify/test it?

#### Any platform specific information?

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

### Documentation
<!--
(If it's a new feature, new test case)
Did you update documentation/Wiki relevant to your implementation?
Link to the wiki page?
-->
opcoder0 pushed a commit to opcoder0/sonic-mgmt that referenced this pull request Dec 8, 2025
…, unisolation, nexthop group member change scenarios (sonic-net#16069)

What is the motivation for this PR?
With numerous BGP sessions holding a lot routes, any flapping on BGP sessions or routes cloud have more overhead on device, we need test cases to verify the functionality and estimate convergence time, we publish this test plan.

How did you do it?
Implement sessions flapping test, unisolation test and nexthop group member scale test

Signed-off-by: opcoder0 <[email protected]>
AharonMalkin pushed a commit to AharonMalkin/sonic-mgmt that referenced this pull request Dec 16, 2025
…, unisolation, nexthop group member change scenarios (sonic-net#16069)

What is the motivation for this PR?
With numerous BGP sessions holding a lot routes, any flapping on BGP sessions or routes cloud have more overhead on device, we need test cases to verify the functionality and estimate convergence time, we publish this test plan.

How did you do it?
Implement sessions flapping test, unisolation test and nexthop group member scale test

Signed-off-by: Aharon Malkin <[email protected]>
gshemesh2 pushed a commit to gshemesh2/sonic-mgmt that referenced this pull request Dec 21, 2025
…, unisolation, nexthop group member change scenarios (sonic-net#16069)

What is the motivation for this PR?
With numerous BGP sessions holding a lot routes, any flapping on BGP sessions or routes cloud have more overhead on device, we need test cases to verify the functionality and estimate convergence time, we publish this test plan.

How did you do it?
Implement sessions flapping test, unisolation test and nexthop group member scale test

Signed-off-by: Guy Shemesh <[email protected]>
gshemesh2 pushed a commit to gshemesh2/sonic-mgmt that referenced this pull request Jan 26, 2026
…, unisolation, nexthop group member change scenarios (sonic-net#16069)

What is the motivation for this PR?
With numerous BGP sessions holding a lot routes, any flapping on BGP sessions or routes cloud have more overhead on device, we need test cases to verify the functionality and estimate convergence time, we publish this test plan.

How did you do it?
Implement sessions flapping test, unisolation test and nexthop group member scale test

Signed-off-by: Guy Shemesh <[email protected]>
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.

6 participants