Skip to content

[testbed_doc] Design doc for deploying a single testbed with multiple servers #15395

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

Merged
merged 9 commits into from
Feb 25, 2025

Conversation

w1nda
Copy link
Member

@w1nda w1nda commented Nov 6, 2024

Description of PR

Summary:
Fixes # (issue)
To leverage the servers instead of a single server for deploying a single testbed, we proposal this design for deploying testbeds with multiple servers.

Related PRs:

PR title State Context
[testbed-cli] Code change on add-topo and deploy-minigraph for deploying testbed with peers on multiple servers state context
[Pending #15643][testbed] ptf data plane connection for multi-servers testbed state context
[sonic-mgmt-docker-image] Support ptf dataplane packet poll with multiple ptf nn agents connection state context

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?

When deploying a testbed with a vast number of virtual ceos neighbors, we will create ceos containers on same server, however, the server doesn't have infinite resources such as memory to deploy that.
To leverage the servers instead of a single server, we proposal this design for deploying testbeds with multiple servers.

How did you do it?

Design for deploying testbed with multiple servers.

How did you verify/test it?

Any platform specific information?

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

Documentation

@w1nda w1nda requested review from wangxin and yxieca as code owners November 6, 2024 15:13
@mssonicbld
Copy link
Collaborator

/azp run

Copy link

Azure Pipelines could not run because the pipeline triggers exclude this branch/path.

@w1nda w1nda requested review from r12f, Blueve and sdszhang and removed request for wangxin and yxieca November 6, 2024 15:14
@mssonicbld
Copy link
Collaborator

/azp run

Copy link

Azure Pipelines could not run because the pipeline triggers exclude this branch/path.

@mssonicbld
Copy link
Collaborator

/azp run

Copy link

Azure Pipelines could not run because the pipeline triggers exclude this branch/path.

@mssonicbld
Copy link
Collaborator

/azp run

Copy link

Azure Pipelines could not run because the pipeline triggers exclude this branch/path.

@mssonicbld
Copy link
Collaborator

/azp run

Copy link

Azure Pipelines could not run because the pipeline triggers exclude this branch/path.

wangxin pushed a commit that referenced this pull request Jan 20, 2025
…ing testbed with peers on multiple servers (#15643)

In PR #15547, we define server index in topology file which make topology file and testbed yaml file is coupled.
To decouple them, in new design #15395, we remove server index in topology file and add dut_interfaces in testbed yaml, so there is no more change on topology file schema.

What is the motivation for this PR?
Decouple topology file and testbed file in design.

How did you do it?
Record all information in testbed schema

How did you verify/test it?
Deploy testbed
@mssonicbld
Copy link
Collaborator

/azp run

Copy link

Azure Pipelines could not run because the pipeline triggers exclude this branch/path.

@mssonicbld
Copy link
Collaborator

/azp run

Copy link

Azure Pipelines could not run because the pipeline triggers exclude this branch/path.

@mssonicbld
Copy link
Collaborator

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

nnelluri-cisco pushed a commit to nnelluri-cisco/sonic-mgmt that referenced this pull request Mar 15, 2025
…ing testbed with peers on multiple servers (sonic-net#15643)

In PR sonic-net#15547, we define server index in topology file which make topology file and testbed yaml file is coupled.
To decouple them, in new design sonic-net#15395, we remove server index in topology file and add dut_interfaces in testbed yaml, so there is no more change on topology file schema.

What is the motivation for this PR?
Decouple topology file and testbed file in design.

How did you do it?
Record all information in testbed schema

How did you verify/test it?
Deploy testbed
nnelluri-cisco pushed a commit to nnelluri-cisco/sonic-mgmt that referenced this pull request Mar 15, 2025
… servers (sonic-net#15395)

What is the motivation for this PR?
When deploying a testbed with a vast number of virtual ceos neighbors, we will create ceos containers on same server, however, the server doesn't have infinite resources such as memory to deploy that.
To leverage the servers instead of a single server, we proposal this design for deploying testbeds with multiple servers.

How did you do it?
Design for deploying testbed with multiple servers.
@zhangyanzhao zhangyanzhao moved this from 📋 In Plan Features to ✅ Done in SONiC 202505 Release Mar 19, 2025
@zhangyanzhao
Copy link
Contributor

mark this feature as done for 202505 release since HLD and all code PRs are merged.

nhe-NV pushed a commit to nhe-NV/sonic-mgmt that referenced this pull request May 12, 2025
…ing testbed with peers on multiple servers (sonic-net#15643)

In PR sonic-net#15547, we define server index in topology file which make topology file and testbed yaml file is coupled.
To decouple them, in new design sonic-net#15395, we remove server index in topology file and add dut_interfaces in testbed yaml, so there is no more change on topology file schema.

What is the motivation for this PR?
Decouple topology file and testbed file in design.

How did you do it?
Record all information in testbed schema

How did you verify/test it?
Deploy testbed
nhe-NV pushed a commit to nhe-NV/sonic-mgmt that referenced this pull request May 12, 2025
…net#126)

<!--
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)
For testbed with multi-servers (HLD: sonic-net#15395
We need to make sure ptf data plane connectivity.
In this PR, we make sure ptf data plane works when running tests.
### 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?
We need to make sure ptf data plane connectivity during tests running.
#### How did you do it?
Start ptf_nn_agent on every ptf container and connect them with ptf dataplane.
#### How did you verify/test it?
Run test case with ptf dataplane on single server testbed and multi-servers testbed.
#### 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?
-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

7 participants