Skip to content

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

Merged
SuvarnaMeenakshi merged 8 commits intosonic-net:masterfrom
SuvarnaMeenakshi:masic_platform
Sep 1, 2021
Merged

[vs][multi-asic]: Add new platforms for multi-asic vs.#8269
SuvarnaMeenakshi merged 8 commits intosonic-net:masterfrom
SuvarnaMeenakshi:masic_platform

Conversation

@SuvarnaMeenakshi
Copy link
Copy Markdown
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>
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
Copy Markdown
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
Copy Markdown
Contributor Author

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@SuvarnaMeenakshi
Copy link
Copy Markdown
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