-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
Add pensando platform #15978
Add pensando platform #15978
Conversation
Discussed in Monday SS Architecture call - @lguohan and team to review. Use case for gold - if something goes wrong or if we want to revert to a non-SONiC / non-ONIE image (backup to a backup) |
"skip_ledd": true, | ||
"skip_psud": true, | ||
"skip_syseepromd": false, | ||
"skip_xcvrd": true, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i do not knw why we skip xcrvd and pcied
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is still work in progress and will be enabled later.
"dsc1": {}, | ||
"dsc1|10.0.0.6/31": {} | ||
}, | ||
"KDUMP": { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
not sure why we need the config_db.json here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This was added a refernce config_db.json similar to the one maintained by other platforms for ex: https://github.com/sonic-net/sonic-buildimage/blob/master/device/tencent/x86_64-tencent_tcs8400-r0/config_db.TCS8400-24CC8CD.json
We can delete this.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Deleted config_db.json
@@ -0,0 +1,3 @@ | |||
# name lanes alias speed autoneg fec | |||
Ethernet1 29 Ethernet1 100000 on rs |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the lanes should be 4 lanes, btw, for smartswitch one isn't the link should be 1x200G port?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Corrected the lanes.
@@ -64,6 +64,9 @@ elif [ "$platform" == "mellanox" ]; then | |||
ORCHAGENT_ARGS+="" | |||
elif [ "$platform" == "innovium" ]; then | |||
ORCHAGENT_ARGS+="-m $MAC_ADDRESS" | |||
elif [ "$platform" == "pensando" ]; then | |||
MAC_ADDRESS=$(ip link show oob_mnic0 | grep ether | awk '{print $2}') |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why cannot we rename oob_mnic0 to eth0?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
its named as oob_mnic0 across pensando fw in multiple places.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
git grep eth0
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We will check if we can have alternate interface with name eth0 which points to oob_mnic0
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Renamed eth0 to oob_mnic0
sudo LANG=C DOCKER_HOST="$DOCKER_HOST" chroot $FILESYSTEM_ROOT docker load -i boot/dpu_sw.tar | ||
sudo LANG=C chroot $FILESYSTEM_ROOT rm -f boot/dpu_sw.tar | ||
|
||
#Disable rc.local |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why do we need to disable rc.local here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We are seeing multiple errors on console with rc.local enabled. Also we don't need most of the functionality done in that script.
We will disable in this initial change and revisit this later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We are seeing continuous error messages as below. So disabled it for now. It can be enabled later
[ 1561.958120] rc.local[18331]: + SONIC_VERSION=dpu.0-dirty-20230922.131734
[ 1561.958192] rc.local[18331]: + FIRST_BOOT_FILE=/host/image-dpu.0-dirty-20230922.131734/platform/firsttime
[ 1561.958261] rc.local[18331]: + SONIC_CONFIG_DIR=/host/image-dpu.0-dirty-20230922.131734/sonic-config
[ 1561.958329] rc.local[18331]: + SONIC_ENV_FILE=/host/image-dpu.0-dirty-20230922.131734/sonic-config/sonic-environment
[ 1561.958399] rc.local[18331]: + [ -d /host/image-dpu.0-dirty-20230922.131734/sonic-config -a -f /host/image-dpu.0-dirty-20230922.131734/sonic-config/sonic-environment ]
[ 1561.958467] rc.local[18331]: + logger SONiC version dpu.0-dirty-20230922.131734 starting up...
[ 1561.958536] rc.local[18331]: + grub_installation_needed=
[ 1561.958613] rc.local[18331]: + [ ! -e /host/machine.conf ]
[ 1561.958825] rc.local[18320]: + blkid
[ 1561.959095] rc.local[18338]: + blkid
[ 1561.959343] rc.local[18321]: + grep ONIE-BOOT
[ 1561.959636] rc.local[18339]: + grep ONIE-BOOT
[ 1561.959882] rc.local[18322]: + head -n 1
[ 1561.960187] rc.local[18340]: + head -n 1
[ 1561.960426] rc.local[18323]: + awk {print $1}
[ 1561.960800] rc.local[18341]: + awk {print $1}
[ 1561.961066] rc.local[18324]: + sed -e s/:.*$//
[ 1561.961401] rc.local[18342]: + sed -e s/:.*$//
[ 1561.961534] rc.local[18313]: + onie_dev=
[ 1561.961611] rc.local[18313]: + mkdir -p /mnt/onie-boot
[ 1561.961685] rc.local[18313]: + mount /mnt/onie-boot
[ 1561.961916] rc.local[18331]: + onie_dev=
[ 1561.961997] rc.local[18331]: + mkdir -p /mnt/onie-boot
[ 1561.962070] rc.local[18331]: + mount /mnt/onie-boot
[ 1561.962295] rc.local[18326]: mount: /mnt/onie-boot: can't find in /etc/fstab.
[ 1561.962639] rc.local[18344]: mount: /mnt/onie-boot: can't find in /etc/fstab.
[ 1561.962833] rc.local[18313]: + onie_grub_cfg=/mnt/onie-boot/onie/grub/grub-machine.cfg
[ 1561.962908] rc.local[18313]: + [ ! -e /mnt/onie-boot/onie/grub/grub-machine.cfg ]
[ 1562.304038] rc.local[18313]: + log_migration /mnt/onie-boot/onie/grub/grub-machine.cfg not found
[ 1562.304128] rc.local[18313]: + echo /mnt/onie-boot/onie/grub/grub-machine.cfg not found
[ 1562.304200] rc.local[18313]: + migrate_nos_configuration
[ 1562.304270] rc.local[18313]: + rm -rf /host/migration
[ 1562.304338] rc.local[18313]: + mkdir -p /host/migration
[ 1562.304822] rc.local[18331]: + onie_grub_cfg=/mnt/onie-boot/onie/grub/grub-machine.cfg
[ 1562.304911] rc.local[18331]: + [ ! -e /mnt/onie-boot/onie/grub/grub-machine.cfg ]
[ 1562.304994] rc.local[18331]: + log_migration /mnt/onie-boot/onie/grub/grub-machine.cfg not found
[ 1562.305063] rc.local[18331]: + echo /mnt/onie-boot/onie/grub/grub-machine.cfg not found
[ 1562.305132] rc.local[18331]: + migrate_nos_configuration
#if we don't start pciemgrd early pcie timeout happens and server reboots. | ||
#pciemgrd runs as part of dpu docker. So load this at build time itself. | ||
sudo LANG=C DOCKER_HOST="$DOCKER_HOST" chroot $FILESYSTEM_ROOT docker load -i boot/dpu_sw.tar | ||
sudo LANG=C chroot $FILESYSTEM_ROOT rm -f boot/dpu_sw.tar |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this seems not from framework, we should follow the sonic framework instead of doing this approach.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What is SONiC framework here ? Can you please share the documentation/code-reference for the same as i am not clear what is the ask here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@liushilongbuaa , this is pre-built docker, the tar file is pre-built, they just need to load into the image, wonder if there is way to plug this into the build framework.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Currently, we have SONIC_SIMPLE_DOCKER_IMAGES/DOCKER_IMAGES/DOCKER_DBG_IMAGES.
They all need to be built from Dockerfile.
We need a new type PREBUILT_DOCKER_IMAGES to download from a URL.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
boot/dpu_sw.tar is generated by which file?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@liushilongbuaa dpu_sw.tar is a artifact generated by pensando build process and given to the customer. This currently is part of dpu debian pkg which part of this change (platform/pensando/dpu/debian).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @ashwin-h , I created a draft PR to support downloaded docker image.
https://github.com/sonic-net/sonic-buildimage/pull/16519/files
So, you can remove the platform/pensando/dpu folder and dpu.mk.
Instead, you need to add a platform/pensando/docker-dpu.mk and platform/pensando/docker-dpu.dep.
The other details can be included in your docker-dpu image. ex: mkdir/mount
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I will test it on vs image. Please @me if any problems.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@ashwin-h , Why don't you provide a Dockerfile for dpu?
You can download and install your debian package in that Dockerfile.
Something private can hide in the debian package.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Included prebuilt docker now. Removed this.
files/dsc/install_debian.j2
Outdated
label main | ||
kernel /$image_dir/boot/vmlinuz-5.10.0-18-2-arm64 | ||
initrd /$image_dir/boot/initrd.img-5.10.0-18-2-arm64 | ||
devicetree /$image_dir/boot/elba-asic-psci.dtb |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can you convert all tabs to spaces?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done
|
||
## Overview | ||
|
||
This driver module is a companion to the kpcimgr driver. This module |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
where is this driver being packaged into the image? i do not see it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We are not loading this currently. Will be adding functionality to load this later.
@@ -0,0 +1 @@ | |||
8 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why is this 8? not 10?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done
Source: ionic | ||
Section: main | ||
Priority: extra | ||
Maintainer: Guohan Lu <[email protected]> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can we get a proper name for maintainer? someone from amd? not sure I am the maintainer for this package.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done
@@ -0,0 +1,5 @@ | |||
dpu (1.0.0) UNRELEASED; urgency=low |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
is dpu a docker package? why do we need debian packaging for this one?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@ashwin-h , Can we delete this package and dpu folder?
For docker start:
files/build_templates/sonic_debian_extension.j2:43:DOCKER_CTL_SCRIPT="$DOCKER_CTL_DIR/docker.sh"
files/build_templates/sonic_debian_extension.j2:70:sudo cp $DOCKER_SCRIPTS_DIR/docker "$FILESYSTEM_ROOT/$DOCKER_CTL_SCRIPT"
files/build_templates/sonic_debian_extension.j2:75: sudo chroot $FILESYSTEM_ROOT $DOCKER_CTL_SCRIPT start
files/build_templates/sonic_debian_extension.j2:854: sudo chroot $FILESYSTEM_ROOT $DOCKER_CTL_SCRIPT stop
files/docker/docker
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Deleted dpu directory.
# - StorFly | ||
# - Virtium | ||
|
||
try: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@prgeor , can you check what else plugins are missing from platform side?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@ashwin-h please add support for thermalctld, psud, pcied, system eeprom, chassis.py
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We will enable all the plugins when we enable pmon functionality later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@prgeor has this been answered satisfactorily for you?
} | ||
|
||
int ionic_firmware_update(struct ionic_lif *lif, const struct firmware *fw) | ||
{ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@ashwin-h How is the ionic fw update exposed to userspace?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@KrisNey-MSFT this code is a part of dsc-drivers which are pensando specific. This is not related to any sonic related firmware update
def __init__(self, diskdev): | ||
|
||
self.dev = diskdev | ||
try: | ||
self.model = ("emmc {}".format(open(MMC_DATA_PATH.format("name")).read())).replace("\n", "") | ||
self.serial = open(MMC_DATA_PATH.format("serial")).read().replace("\n", "") | ||
self.firmware = open(MMC_DATA_PATH.format("fwrev")).read().replace("\n", "") | ||
value = open(MMC_DATA_PATH.format("life_time")).read().replace("\n", "") | ||
[lifetime_a, lifetime_b] = [int(val, 16) for val in value.split()] | ||
lifetime = lifetime_a if lifetime_a >= lifetime_b else lifetime_b | ||
self.health = float(100 - (lifetime*10)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@ashwin-h for EMMC please use https://github.com/sonic-net/sonic-platform-common/blob/master/sonic_platform_base/sonic_ssd/ssd_emmc.py
@shanshri - did this (above) get used per @prgeor 's request?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We will address these things in the when will enable pmon in upstream
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@shanshri noted
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@ashwin-h Please add support for basic platform support https://github.com/sonic-net/sonic-platform-common/tree/master/sonic_platform_base
For eg. Need to add https://github.com/sonic-net/sonic-platform-common/blob/master/sonic_platform_base/component_base.py that will be needed to support firmware upgrade of various on board platform components.
PR has been discussed, AI is to address Comments. And a method to add the docker container... |
@@ -0,0 +1,17 @@ | |||
[Unit] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@ashwin-h what is the role of this dpu service?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This service is starting docker-dpu.
[like] Kristina Moore reacted to your message:
________________________________
From: Shantanu Shrivastava ***@***.***>
Sent: Friday, September 22, 2023 5:08:12 PM
To: sonic-net/sonic-buildimage ***@***.***>
Cc: Kristina Moore ***@***.***>; Comment ***@***.***>
Subject: Re: [sonic-net/sonic-buildimage] Add pensando platform (PR #15978)
@shanshri commented on this pull request.
________________________________
In device/pensando/arm64-elba-asic-r0/plugins/ssd_util.py<#15978 (comment)>:
@@ -0,0 +1,100 @@
+#
+# ssd_generic.py
+#
+# Generic implementation of the SSD health API
+# SSD models supported:
+# - InnoDisk
+# - StorFly
+# - Virtium
+
+try:
We will enable all the plugins when we enable pmon functionality later.
—
Reply to this email directly, view it on GitHub<#15978 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AFJSI6BQQV5RMVF6P6GQ2JDX3XAXZANCNFSM6AAAAAA2ZSN7NQ>.
You are receiving this because you commented.Message ID: ***@***.***>
|
@shanshri - can you take a look at this tonight and report back please? |
@KrisNey-MSFT |
[like] Kristina Moore reacted to your message:
…________________________________
From: Shantanu Shrivastava ***@***.***>
Sent: Tuesday, October 3, 2023 7:20:01 PM
To: sonic-net/sonic-buildimage ***@***.***>
Cc: Kristina Moore ***@***.***>; Mention ***@***.***>
Subject: Re: [sonic-net/sonic-buildimage] Add pensando platform (PR #15978)
@shanshri<https://github.com/shanshri> - can you take a look at this tonight and report back please?
@KrisNey-MSFT<https://github.com/KrisNey-MSFT>
Our prebuilt docker is created from scratch but when I try to build sonic docker on top of it I am running into issues as sonic build infra expects utilities like apt-get, dpkg. I am looking for a way to build it cleanly.
—
Reply to this email directly, view it on GitHub<#15978 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AFJSI6AYE4QAW53K6MJ5ZKLX5RQODAVCNFSM6AAAAAA2ZSN7NSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONBVGU3TQNZYHA>.
You are receiving this because you were mentioned.Message ID: ***@***.***>
|
d5863e4#diff-6b0c1444ee324b0a060487f8cfefdf2c451bec1b699a653e6f7430b761d9f5e7 There are two concerns:
|
|
|
@KrisNey-MSFT We are not supporting for firmware upgrade in this PR. We will take care of it later. Thanks. |
# Pensando SAI | ||
PENSANDO_SAI = libsai_1.10.1-0_arm64.deb | ||
PENSANDO_SAI_DEV = libsai-dev_1.10.1-0_arm64.deb | ||
$(PENSANDO_SAI)_URL = https://github.com/pensando/dsc-artifacts/blob/main/libsai_1.10.1-0_arm64.deb?raw=true |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The libsai package don't have sai_query_api_version function.
It is required. @ashwin-h
@lguohan @liushilongbuaa - this has been rebased and we feel it is ready to go, could we try again? |
@@ -216,6 +216,10 @@ config_syncd_innovium() | |||
mkdir -p $II_ROOT | |||
} | |||
|
|||
config_syncd_pensando() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This function is added but not called.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@ashwin-h , @KrisNey-MSFT . Others LGTM.
Please complete EasyCLA.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This function is added but not called.
Removed the function
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@ashwin-h , @KrisNey-MSFT . Others LGTM. Please complete EasyCLA.
Done
This commit adds support for pensando asic called ELBA. ELBA is used in pci based cards and in smartswitches.
Sorry if I’ve lost track :)
Could we list the functionality that this image can execute?
425-876-2040 cell
________________________________
From: Shantanu Shrivastava ***@***.***>
Sent: Tuesday, November 28, 2023 1:29:10 AM
To: sonic-net/sonic-buildimage ***@***.***>
Cc: Kristina Moore ***@***.***>; Mention ***@***.***>
Subject: Re: [sonic-net/sonic-buildimage] Add pensando platform (PR #15978)
@shanshri commented on this pull request.
________________________________
In dockers/docker-pde/syncd_init_common.sh<#15978 (comment)>:
@@ -216,6 +216,10 @@ config_syncd_innovium()
mkdir -p $II_ROOT
}
+config_syncd_pensando()
@ashwin-h<https://github.com/ashwin-h> , @KrisNey-MSFT<https://github.com/KrisNey-MSFT> . Others LGTM. Please complete EasyCLA.
Done
—
Reply to this email directly, view it on GitHub<#15978 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AFJSI6AST7XPOIPDQXSX75TYGWVGNAVCNFSM6AAAAAA2ZSN7NSVHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMYTONJSGQZDONRXGM>.
You are receiving this because you were mentioned.Message ID: ***@***.***>
|
This commit adds support for pensando asic called ELBA. ELBA is used in pci based cards and in smartswitches. We are trying to get a buildimage for this platform. |
@shanshri noted |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
We can override semgrep since all warnings are about |
This commit adds support for pensando asic called ELBA. ELBA is used in pci based cards and in smartswitches.
Why I did it
This commit introduces pensando platform which is based on ELBA ASIC.
Work item tracking
How I did it
Created platform/pensando folder and created makefiles specific to pensando.
This mainly creates pensando docker (which OEM's need to download before building an image) which has all the userspace to initialize and use the DPU (ELBA ASIC).
Output of the build process creates two images which can be used from ONIE and goldfw.
Recommendation is use to use ONIE.
How to verify it
Load the SONiC image via ONIE or goldfw and make sure the interfaces are UP.
Which release branch to backport (provide reason below if selected)
Tested branch (Please provide the tested image version)
master
Description for the changelog
Add pensando platform support.
Link to config_db schema for YANG module changes
A picture of a cute animal (not mandatory but encouraged)