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

[vs][multi-asic]: Add new platforms for multi-asic vs. #8269

Merged
merged 8 commits into from
Sep 1, 2021

Conversation

SuvarnaMeenakshi
Copy link
Contributor

Why I did it

End goal: To have azure pipeline job to run multi-asic VS tests.
Intermediate goal: Require multi-asic KVM image so that the test can be run.
The difference between single asic and multi-asic KVM image is asic.conf file which has different NUM_ASIC values.
Idea behind the approach in this PR to attain the intermediate goal above:

  • Ease of building multi-asic KVM image so that any user or azure pipeline can use a simple make command to generate single or multi-asic KVM images as required.
  • Use a single onie installer image and multiple KVM images for single and multi-asic images.

Current scenario:
For VS platform, sonic-vs.bin is generated which is the onie installer image and sonic-vs.img.gz is generated which is the KVM iamge.
Scenario to be achieved:
sonic-vs.bin - which will include single asic platform, 4 asic platform and 6 asic platform.
sonic-vs.img.gz - single asic KVM image
sonic-4asic-vs.img.gz - 4 asic KVM image
sonic-6asic-vs.img.gz - 6 asic KVM image

In this PR, 2 new platforms are added for 4-asic and 6-asic VS.

How I did it

  • Create 4-asic and 6-asic device directories with the required files and hwsku files.
  • Add onie-recovery image information in vs platform.

How to verify it

After this PR change, no build change.
sonic-vs.bin onie installer image should include information of new multi-asic vs platforms.

Which release branch to backport (provide reason below if selected)

  • 201811
  • 201911
  • 202006
  • 202012
  • 202106

Description for the changelog

A picture of a cute animal (not mandatory but encouraged)

Two new platforms are added for 4-asic and 6-asic vs
images. Each platform will have asic.conf specifying the
number of asics in asic.conf.
New onie recovery images are also added to generate
kvm images with the right onie machine information.

Signed-off-by: Suvarna Meenakshi <sumeenak@microsoft.com>
platform/vs/onie.mk Outdated Show resolved Hide resolved
platform/vs/onie.mk Outdated Show resolved Hide resolved
abdosi
abdosi previously approved these changes Aug 4, 2021
6-asic platforms.

Signed-off-by: Suvarna Meenakshi <sumeenak@microsoft.com>
Signed-off-by: Suvarna Meenakshi <sumeenak@microsoft.com>
Modify the common files to symbolic links in multi-asic platform.

Signed-off-by: Suvarna Meenakshi <sumeenak@microsoft.com>
Signed-off-by: Suvarna Meenakshi <sumeenak@microsoft.com>
judyjoseph
judyjoseph previously approved these changes Aug 17, 2021
abdosi
abdosi previously approved these changes Aug 26, 2021
@lguohan
Copy link
Collaborator

lguohan commented Aug 27, 2021

i think we do not need mkvm, we can use kvm in the onie platform string. this is a minor comments.

lguohan
lguohan previously approved these changes Aug 27, 2021
mkvm -> kvm

Signed-off-by: Suvarna Meenakshi <sumeenak@microsoft.com>
@SuvarnaMeenakshi SuvarnaMeenakshi dismissed stale reviews from lguohan, abdosi, and judyjoseph via 4002707 August 27, 2021 23:05
@SuvarnaMeenakshi
Copy link
Contributor Author

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@SuvarnaMeenakshi
Copy link
Contributor Author

i think we do not need mkvm, we can use kvm in the onie platform string. this is a minor comments.

Modified mkvm -> kvm as suggested.

@SuvarnaMeenakshi SuvarnaMeenakshi merged commit 4858153 into sonic-net:master Sep 1, 2021
SuvarnaMeenakshi added a commit that referenced this pull request Sep 2, 2021
Why I did it
Pre-requisite: #8269
To be able to generate multi-asic KVM image.
To provide flexibility to generate single asic or both single and multi-asic images.
How I did it
Add a new build param, BUILD_MULTIASIC_KVM, if set to "y", the multi-asic VS target KVM images will be generated. If not, only single asic VS image will be generated.
Make changes to build_image.sh to generate 4-asic and 6-asic KVM images if BUILD_MULTIASIC_KVM parameter is set to y
How to verify it
Generate single-asic VS as currently done, no change in build steps:
make configure PLATFORM=vs
make target/sonic-vs.img.gz - will generate only single asic KVM image.

make BUILD_MULTIASIC_KVM=y target/sonic-vs.img.gz - will generate single asic and multi-asic KVM images.
should generate:
sonic-vs.bin
sonic-vs.img.gz
sonic-4asic-vs.img.gz
sonic-6asic-vs.img.gz
SuvarnaMeenakshi added a commit to sonic-net/sonic-mgmt that referenced this pull request Sep 24, 2021
…4335)

What is the motivation for this PR?
Error is seen when doing add-topo to bring up a multi-asic testbed.
./testbed-cli.sh -t vtestbed.csv -m veos_vtb add-topo vms-kvm-four-asic-t1-lag password.txt
..
TASK [find interface name mapping and individual interface speed if defined from dut] ***
..
 "msg": "failed to find the correct port config for msft_four_asic_vslist index out of range"
Reason:
sonic-net/sonic-buildimage#8269 added new multi-asic KVM platforms, for 4-asic and 6-asic VS.
When add-topo is done, port_alias.py runs on localhost to get the right front-panel interfaces so that VS can be brought up with the right number of front-panel interfaces. With the above PR, new platform string was added due to which port-config.ini file was under a new KVM platform directory, due to which the port config file was not being retrieved correctly.

How did you do it?
Based on number of asics, use the right KVM platform string so that the right port-config file can be retrieved when bringing up VS testbed.

How did you verify/test it?
Was able to bring up VS testbed without the above error.
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.

4 participants