Commit Graph

7600 Commits

Author SHA1 Message Date
mssonicbld
f5d488dd49 [submodule] Update submodule sonic-swss-common to the latest HEAD automatically 2023-05-22 16:33:19 +08:00
Mai Bui
c5f2a0eac3
[sonic-bgpcfgd] replace yaml.load() and exit() (#14989)
#### Why I did it
It is not safe to call yaml.load with any data received from an untrusted source.
sys.exit is better than exit, considered good to use in production code.
Ref:
https://stackoverflow.com/questions/6501121/difference-between-exit-and-sys-exit-in-python
https://stackoverflow.com/questions/19747371/python-exit-commands-why-so-many-and-when-should-each-be-used
##### Work item tracking
- Microsoft ADO **(number only)**: 15022050

#### How I did it
Replace yaml.load() with yaml.safe_load()
Replace exit() by sys.exit()
#### How to verify it
pass UT
test in DUT
2023-05-21 18:23:30 -07:00
mssonicbld
bef9550b1d
[submodule] Update submodule sonic-sairedis to the latest HEAD automatically (#15055) 2023-05-21 16:03:32 +08:00
Yaqiang Zhu
c69d71af1c
[minigraph] Add rack_mgmt_rack parse support in minigraph.py (#15064)
Why I did it
We need to store information of power shelf in config_db for SONiC MX switch. Current minigraph parser cannot parse rack_mgmt_map field.

Work item tracking
Microsoft ADO (number only): 22179645
How I did it
Add support for parsing rack_mgmt_map.
2023-05-20 09:25:21 -07:00
mssonicbld
b7d0f2213f
[submodule] Update submodule sonic-platform-common to the latest HEAD automatically (#15150) 2023-05-20 15:16:51 +08:00
mssonicbld
8ac2696142
[submodule] Update submodule sonic-mgmt-common to the latest HEAD automatically (#15149) 2023-05-20 15:14:05 +08:00
mssonicbld
f74577f606
[submodule] Update submodule sonic-swss to the latest HEAD automatically (#15151) 2023-05-20 15:04:54 +08:00
abdosi
b5b5883c27
[minigraph.py]: Updated Static Route Minigraph Attribute property (#14951)
What I did:
Updated Static Route Attribute in Minigraph. NGS Minigraph has define semantics of static route differently.
See below for differences:-

Microsoft ADO: 17956325

Before

<AssociatedTo>8.0.0.1/32</AssociatedTo>
<Address>192.168.1.2,192.168.2.2</Address>
<AttachTo>PortChannel40,PortChannel50</AttachTo>

Now:

<Address>8.0.0.1</Address>
<AttachTo>PortChannel40,192.168.1.2;PortChannel50,192.168.2.2</AttachTo>

Signed-off-by: Abhishek Dosi <abdosi@microsoft.com>
2023-05-19 11:49:10 -07:00
vmittal-msft
ecb4db58a9
Update PG headroom settings ports based on port speed/cable length (#14908)
* Update PG headroom settings ports based on port speed/cable length

* Updated XOFF settings to use chip level numbers than core

* Updated PG headroom based on uplink/downlink side

* fix for sonic-config-gen tests

* More fixes for unit test cases

* more test fixes

* Merged multiple functions into one
2023-05-19 08:19:27 -07:00
siqbal1986
c900abbdb0
[Yang model] Add Yang models for VNET table. (#14873)
Created Yang Modle for VNET table.
https://github.com/sonic-net/sonic-buildimage/issues/14534

##### Work item tracking
- Microsoft ADO **(number only)**:
18215579
2023-05-18 14:53:26 -07:00
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