Commit Graph

7440 Commits

Author SHA1 Message Date
Pavan-Nokia
c5d0507224
[arm64][Nokia-7215-A1]Add support for Nokia-7215-A1 platform (#13795)
Add new Nokia build target and establish an arm64 build:

    Platform: arm64-nokia_ixs7215_52xb-r0
    HwSKU: Nokia-7215-A1
    ASIC: marvell
    Port Config: 48x1G + 4x10G

How I did it

- Change make files for saiserver and syncd to use Bulleseye kernel
- Change Marvell SAI version to 1.11.0-1
- Add Prestera make files to build kernel, Flattened Device Tree blob and ramdisk for arm64 platforms
- Provide device and platform related files for new platform support (arm64-nokia_ixs7215_52xb-r0).
2023-05-18 14:24:05 -07:00
Samuel Angebault
fa95ebcaae Add optional zram compression for docker_inram
Some devices running SONiC have a small storage device (2G and 4G mainly)
The SONiC image growth over time has made it impossible to install
2 images on a single device.
Some mitigations have been implemented in the past for some devices but
there is a need to do more.

One such mitigation is `docker_inram` which creates a `tmpfs` and
extracts `dockerfs.tar.gz` in it.
This all happens in the SONiC initramfs and by ensuring the installation
process does not extract `dockerfs.tar.gz` on the flash but keep the file as is.

This mitigation does a tradeoff by using more RAM to reduce the disk footprint.
It however creates new issues for devices with 4G of system memory since
the extracted `dockerfs.tar.gz` nears the 1.6G.
Considering debian upgrades (with dual base images) and the continuous
stream of features this is only going to get bigger.

This change introduces an alternative to the `tmpfs` by allowing a system
to extract the `dockerfs.tar.gz` inside a `zram` device thus bringing
compression in play at the detriment of performance.

Introduce 2 new optional kernel parameters to be consumed by SONiC initramfs.
 - `docker_inram_size` which represent the max physical size of the
   `zram` or `tmpfs` volume (defaults to DOCKER_RAMFS_SIZE)
 - `docker_inram_algo` which is the method to use to extract the
   `dockerfs.tar.gz` (defaults to `tmpfs`)
   other values are considered to be compression algorithm for `zram`
   (e.g `zstd`, `zlo-rle`, `lz4`)

Refactored the logic to mount the docker fs in the SONiC initramfs under
the `union-mount` script.
Moved the code into a function to make it cleaner and separated the
inram volume creation and docker extraction.

On Arista platform with a flash smaller or equal to 4GB set
`docker_inram_algo` to `zstd` which produces the best compression ratio
at the detriment of a slower write performance and a similar read
performance to other `zram` compression algorithms.
2023-05-18 14:21:52 -07:00
Samuel Angebault
467994c024 [Arista] Fix boot0 code for docker_inram
Enable docker_inram for all systems with 4GB or less of flash.
This is mandatory to allow these systems to store 2 SONiC images.

This change also fixes the missing docker_inram attribute when
installing a new image from SONiC.
Because the SWI image can ship with additional kernel parameters within
such as `sonic_fips=` this lead to a conflict.
To prevent the conflict, the extra kernel parameters from the SWI are
now stored in the file `kernel-cmdline-append` which isn't used anywhere.
2023-05-18 14:21:52 -07:00
FuzailBrcm
37eddd479d
[pddf]: Adding S3IP supported attribute for FAN in PDDF (#15075)
The S3IP (Simplified Switch System INtegration Program) sysfs specification defines a unified interface to access peripheral hardware on devices from different vendors, making it easier for SONiC to support different devices and platforms.

PDDF is a framework to simplify the driver and SONiC platform APIs development for new platforms. This effort is first step in combining the two frameworks.

This specific PR adds S3IP supported sysfs attribute in common FAN driver of PDDF.
2023-05-18 14:06:46 -07:00
FuzailBrcm
d6768b3259
[pddf]: Adding S3IP supported attribute for LEDs in PDDF (#15074)
The S3IP (Simplified Switch System INtegration Program) sysfs specification defines a unified interface to access peripheral hardware on devices from different vendors, making it easier for SONiC to support different devices and platforms.

PDDF is a framework to simplify the driver and SONiC platform APIs development for new platforms. This effort is first step in combining the two frameworks.

This specific PR adds the S3IP supported sysfs attributes in PDDF common LED driver.
2023-05-18 14:06:19 -07:00
FuzailBrcm
771a1170d8
[pddf]: Adding and enabling S3IP support in PDDF (#15073)
Why I did it
The S3IP (Simplified Switch System INtegration Program) sysfs specification defines a unified interface to access peripheral hardware on devices from different vendors, making it easier for SONiC to support different devices and platforms.

PDDF is a framework to simplify the driver and SONiC platform APIs development for new platforms. This effort is first step in combining the two frameworks.

This specific PR adds support for pddf-s3ip-init.service and enables it in PDDF.
2023-05-18 13:13:16 -07:00
xumia
819ab5db50
Change the docker image from alpine to debian in Makefile (#15132)
Why I did it
For security and consistency consideration, change the docker image from alpine to Debian in Makefile

Work item tracking
Microsoft ADO (number only): 23077660
How I did it
change the docker image from alpine to Debian in Makefile
2023-05-18 11:37:49 -07:00
abdosi
b7d04b6bd5
[minigraph]: Enhancement to minigraph parsing for chassis/multi-asic use case (#14243)
Following changes are done:    

Added Support where if asic configuration is not present in minigraph sonic-cfggen do not error out but instead process it gracefully. 

Use Case: In Supervisor we have number of asic are define as max possible but in minigraph configuration of only valid/available asics only are present. Without this change load_minigraph fails.

Microsoft ADO: 17956325

Signed-off-by: Abhishek Dosi <abdosi@microsoft.com>
2023-05-18 10:57:16 -07:00
lixiaoyuner
6dffa55e9c
Clean up the old version container images (#14978)
Why I did it
Our k8s feature will pull new version container images for each upgrade, the container images inside sonic will be more and more, but for now we don’t have a way to clean up the old version container images, the disk may be filled up. Need to add cleaning up the old version container images logic.

Work item tracking
Microsoft ADO (number only):
17979809
How I did it
Remove the old version container images besides the feature's current version and last version image, last version image is saved for supporting fallback.

How to verify it
Check whether the old version images are removed
2023-05-18 10:37:34 -07:00
Yaqiang Zhu
6332aa31cc
[yang] Extend device_metadata yang model with rack_mgmt_map (#15109)
* [yang] Extend device_metadata yang model with rack_mgmt_map

* Update doc and sample
2023-05-18 09:00:20 -07:00
mssonicbld
deb760002a [submodule] Update submodule sonic-py-swsssdk to the latest HEAD automatically 2023-05-18 16:32:32 +08:00
mssonicbld
0603516414 [submodule] Update submodule sonic-swss to the latest HEAD automatically 2023-05-18 16:32:26 +08:00
Liu Shilong
2505dac8fb
[ci] Enable kvm test when upgrading package versions. (#15111)
Why I did it
Run kvmtest when update package versions to avoid test break.

Work item tracking
Microsoft ADO (number only): 22335854
How I did it
How to verify it
2023-05-18 16:02:22 +08:00
mssonicbld
99fbf97e97 [submodule] Update submodule sonic-mgmt-framework to the latest HEAD automatically 2023-05-18 14:33:23 +08:00
arista-nwolfe
93add6ed05
Add soc property sai_pfc_dlr_init_capability=0 to missing DNX SKUs (#15098) 2023-05-17 14:03:42 -07:00
Song Yuan
21bcaab280
Install ptf afpacket module required by ptf_nn_agent. (#14503)
Why I did it
ptf_nn_agent failed to start in dnx rpc syncd because module afpacket was not installed.
Please see issue sonic-net/sonic-mgmt#7822

How I did it
Add downloading ptf afpacket module in docker file.

How to verify it
Verified that ptf_nn_agent was started successfully in dnx rpc syncd with the change.
2023-05-17 11:34:43 -07:00
Anish Narsian
05a85b57b8
[arp_update] Resolve neighbors from config_db (#15006)
* To resolve NEIGH table entries present in CONFIG_DB. Without this change arp/ndp entries which we wish to resolve, and configured via CONFIG_DB are not resolved.
2023-05-17 10:42:03 -07:00
Liu Shilong
7afeffcabb
[action] Only add 'automerge' label on master version upgrade PR. (#15112)
Why I did it
Don't auto update package version for release branch.

Work item tracking
Microsoft ADO (number only): 22335854
How I did it
How to verify it
2023-05-17 18:09:12 +08:00
mssonicbld
c1c00145e3 [submodule] Update submodule sonic-mgmt-common to the latest HEAD automatically 2023-05-17 16:33:04 +08:00
mssonicbld
0514615975 [submodule] Update submodule sonic-linux-kernel to the latest HEAD automatically 2023-05-17 16:32:58 +08:00
mssonicbld
cd296f2b3e [submodule] Update submodule sonic-platform-common to the latest HEAD automatically 2023-05-17 16:32:52 +08:00
Rajkumar-Marvell
f2ff2bfc3c
[Marvell] Update armhf sai debian (#15096)
- SAI-1.11.0 support
- SONIC 20220531.25 OC Failure: Everflow testcases failing due to SAI orchagent crash
- SONIC 20220531.25 OC Failure: ACL IPv6 testcases.
- TPID support

Signed-off-by: rajkumar38 <rpennadamram@marvell.com>
2023-05-16 23:03:15 -07:00
Liu Shilong
b9c25ec006
Add OVERRIDE_BUILD_OPTIONS options in UpgrateVersion pipeline. (#15088)
Why I did it
Provide a method to override build options in webUI.
We can stop python dependency upgrade version.

Work item tracking
Microsoft ADO (number only): 22335854
How I did it
Add a variable at the tail of make command.
2023-05-17 11:07:35 +08:00
Liu Shilong
6303cd91d0
[action] Update github workflows about automerge_scan and pr_cherrypick_prestep. (#15090)
Why I did it
When auto cherry pick workflow create PR, fill the body field.
Rerun Azure.sonic-buildimage on failure perday.
Work item tracking
Microsoft ADO (number only): 17979778
How I did it
How to verify it
2023-05-17 11:06:50 +08:00
mssonicbld
93adb9c5e5 [submodule] Update submodule dhcprelay to the latest HEAD automatically 2023-05-16 16:26:51 +08:00
DavidZagury
5acec530bb
Add SECURE_UPGRADE_PROD_TOOL_ARGS flag to make it possible for vendors to pass their own arguments on the prod signing script (#14581)
- Why I did it
Since the prod signing tool is vendor specific, and each vendor may have different arguments they would like to use in the script, we would need a way to inject those arguments to the script.

- How I did it
Add a compilation flag SECURE_UPGRADE_PROD_TOOL_ARGS which vendors can use to inject any flag they would want to the prod signing script.

- How to verify it
Build SONiC using your own prod script
2023-05-16 08:36:13 +03:00
daxia16
1175143af1
[Mellanox] Support UID LED in platform API (#11592)
- Why I did it
As a LED indicator to help user to find switch location in the lab, UID LED is a useful LED in Mellanox switch.

- How I did it
I add a new member _led_uid in Mellanox/Chassis.py, and extend Mellanox/led.py to support blue color.
Relevant platform-common PR sonic-net/sonic-platform-common#369

- How to verify it
Add unit test cases in test.py, and do manual test including turn-on/off/show uid led.

Signed-off-by: David Xia <daxia@nvidia.com>
2023-05-16 08:24:39 +03:00
andywongarista
dad61f3d81
[Arista] Update platform library submodules (#15049)
Fix lpmode on 7060DX5-32
Fix psu led issue on 7060DX5-64
Use sonic_xcvr lpmode if platform does not support hw lpmode
Add chassis cooling algorithm
Change cooling algorithm default interval to 10s
Force filesystem sync on linecard reboot
2023-05-15 15:42:29 -07:00
jfeng-arista
771a0d0fbc
YANG model for FABRIC_MONITOR|FABRIC_MONITOR_DATA (#14390)
#### Why I did it
Table FABRIC_MONITOR|FABRIC_MONITOR_DATA in CONFIG_DB was added in https://github.com/sonic-net/sonic-buildimage/pull/14170 
The YANG model for that table is still missing. 

Need to wait https://github.com/sonic-net/sonic-buildimage/pull/14170 get merged first.

#### How I did it
Added new YANG model FABRIC_MONITOR and associated unit tests.

#### How to verify it
Passing unit tests
2023-05-15 13:20:23 -07:00
Junchao-Mellanox
7962a5c0fa
[Mellanox] add PSU fan direction support (#14508)
- Why I did it
Add PSU fan direction support

- How I did it
Implement fan.get_direction for PSU fan

- How to verify it
Manual test
Unit test
2023-05-15 21:34:54 +03:00
Robert J. Halstead
602b945f76
advance sonic-pins submodule (#14930) 2023-05-15 09:20:16 -07:00
Vivek
bc58c12ed8
[Mellanox] Add patch commit-id mapping to description (#15052)
- Why I did it
Add the commit-id patch map in the commit message.

- How I did it
By parsing the patch DB from hw-mgmt

Signed-off-by: Vivek Reddy Karri <vkarri@nvidia.com>
2023-05-15 13:47:24 +03:00
mssonicbld
3d1ae46f90 [ci/build]: Upgrade SONiC package versions 2023-05-15 18:32:43 +08:00
mssonicbld
6559787cd3 [submodule] Update submodule sonic-gnmi to the latest HEAD automatically 2023-05-14 16:33:05 +08:00
mssonicbld
1e1e5b5ca5 [submodule] Update submodule sonic-mgmt-framework to the latest HEAD automatically 2023-05-14 16:32:34 +08:00
mssonicbld
31223fb9fe
[ci/build]: Upgrade SONiC package versions (#15057) 2023-05-13 18:30:20 +08:00
mssonicbld
4f9e75b8b3
[submodule] Update submodule sonic-swss-common to the latest HEAD automatically (#15041) 2023-05-13 16:47:00 +08:00
mssonicbld
96e7a5ad68
[submodule] Update submodule sonic-swss to the latest HEAD automatically (#15056) 2023-05-13 16:03:14 +08:00
mssonicbld
da3d2515fa
[submodule] Update submodule sonic-platform-common to the latest HEAD automatically (#15053) 2023-05-13 15:22:44 +08:00
mssonicbld
fda2f9d39a
[submodule] Update submodule sonic-platform-daemons to the latest HEAD automatically (#15054) 2023-05-13 15:01:49 +08:00
mssonicbld
4d60ec9370
[submodule] Update submodule sonic-restapi to the latest HEAD automatically (#14996) 2023-05-13 14:58:30 +08:00
mssonicbld
a54a63f698 [submodule] Update submodule sonic-sairedis to the latest HEAD automatically 2023-05-12 18:32:16 +08:00
mssonicbld
6d937b7952 [submodule] Update submodule sonic-mgmt-common to the latest HEAD automatically 2023-05-12 16:33:05 +08:00
mssonicbld
b436654e83 [submodule] Update submodule sonic-swss to the latest HEAD automatically 2023-05-12 16:33:01 +08:00
mssonicbld
f2f9a98fdb [submodule] Update submodule sonic-platform-common to the latest HEAD automatically 2023-05-12 16:32:41 +08:00
Konstantin Vasin
ee1ab4448f
[build] update isc-dhcp to 4.4.1-2.3+deb11u2 to fix build failure (#15002)
Why I did it
Fix #15000
isc-dhcp 4.4.1-2.3+deb11u1 is no longer available in debian repository

How I did it
update isc-dhcp to new version 4.4.1-2.3+deb11u2
2023-05-11 22:14:20 +08:00
Ye Jianquan
b45cea9e41
Refine test job definition and assert logic (#14958)
Why I did it
Remove 'kvmtest-t0' and 'kvmtest-t1-lag' test jobs since all the test jobs are required (continueOnError: false) already, and will only enable one of classical and testbedV2 tests, no need to do an unnecessary 'or' compute test job.
Change classic multi-asic and t0-sonic test jobs as required (continueOnError: false) following current testbedV2's logic.
2023-05-11 14:07:11 +08:00
Mai Bui
73914e79f7
[sonic_py_common] replace yaml.load to yaml.safe_load (#14991)
Why I did it
replace yaml.load to yaml.safe_load because yaml.safe_load is more secure

Work item tracking
Microsoft ADO (number only): 15022050
How I did it
How to verify it
Verified in DUT 201911 which yaml version < 5.1
2023-05-10 14:46:16 -07:00
judyjoseph
efeae03ea3
Add override_config to load_minigraph in config-setup service (#14834)
This PR is to handle the override minigraph config by golden_config_db.json file if it is present in the backup location.
2023-05-10 11:54:33 -07:00
Junchao-Mellanox
9deca05f9d
[Mellanox] get LED capability from capability file (#14584)
- Why I did it
Currently, LED sysfs path is hardcoded. We will need change LED code if new LED color is supported for new platforms. This PR is aimed to improve this. By this PR, LED sysfs path is deduced from LED capability file.

- How I did it
Improve LED management on Nvidia platform:
get LED capability from capability file and deduce sysfs name according to the capability

- How to verify it
Unit test
Manual test
2023-05-10 20:53:50 +03:00