* Fix debug package variables for syncd
PR #16072 renamed the debug package variables from `*_DBG` to
`*_DBGSYM`, since the package names had changed. However, the references
weren't updated. Since all the other debug packages (including ones that
are named `*-dbgsym`) use `*_DBG`, just use that here as well.
Signed-off-by: Saikrishna Arcot <sarcot@microsoft.com>
* Update sairedis.mk as well
Signed-off-by: Saikrishna Arcot <sarcot@microsoft.com>
---------
Signed-off-by: Saikrishna Arcot <sarcot@microsoft.com>
#### Why I did it
src/sonic-linux-kernel
```
* fdb3145 - (HEAD -> master, origin/master, origin/HEAD) [nvidia-bluefield] Add config inclusions for Nvidia Bluefield-3 DPU (#380) (4 days ago) [Oleksandr Ivantsiv]
```
#### How I did it
#### How to verify it
#### Description for the changelog
#### Why I did it
src/wpasupplicant/sonic-wpa-supplicant
```
* 13e6f1100 - (HEAD -> master, origin/master, origin/HEAD) Fix a memory leak introduced by last commit for high level EVP API #82 (64 minutes ago) [xumia]
|\
| failure_prs.log 225157a01 - Merge branch 'master' into master (3 days ago) [wumiao_nokia]
| |\
| |/
|/|
* | 413704a6c - Provide CMAC high level API replacement #81 (4 days ago) [xumia]
| failure_prs.log c7eafc778 - Fix a memory leak introduced by last commit for high level EVP API for CMAC (3 days ago) [wumiao_nokia]
|/
* 8521d4abb - Fix a port issue (6 days ago) [wumiao_nokia]
* 01a39044a - Provide CMAC high level API replacement (6 days ago) [wumiao_nokia]
```
#### How I did it
#### How to verify it
#### Description for the changelog
#### Why I did it
src/sonic-gnmi
```
* 3fa77c6 - (HEAD -> master, origin/master, origin/HEAD) Support multiple database for DPU (#188) (20 hours ago) [ganglv]
```
#### How I did it
#### How to verify it
#### Description for the changelog
#### Why I did it
src/sonic-swss-common
```
* e7917ac - (HEAD -> master, origin/master, origin/HEAD) Add new status code. (#828) (2 hours ago) [mint570]
```
#### How I did it
#### How to verify it
#### Description for the changelog
Why I did it
Bugfix for Python syntax error in sonic_platform/common.py.
A method of class need to have self as parameter.
Fixing below issue:
e1031:~$ show int st
Traceback (most recent call last):
File "/usr/local/bin/intfutil", line 836, in <module>
main()
File "/usr/local/bin/intfutil", line 819, in main
interface_stat.display_intf_status()
File "/usr/local/bin/intfutil", line 448, in display_intf_status
self.get_intf_status()
File "/usr/local/lib/python3.9/dist-packages/utilities_common/multi_asic.py", line 157, in wrapped_run_on_all_asics
func(self, *args, **kwargs)
File "/usr/local/bin/intfutil", line 529, in get_intf_status
self.portchannel_speed_dict = po_speed_dict(self.po_int_dict, self.db)
File "/usr/local/bin/intfutil", line 334, in po_speed_dict
optics_type = port_optics_get(appl_db, value[0], PORT_OPTICS_TYPE)
File "/usr/local/bin/intfutil", line 224, in port_optics_get
if is_rj45_port(intf_name):
File "/usr/local/lib/python3.9/dist-packages/utilities_common/platform_sfputil_helper.py", line 120, in is_rj45_port
platform_chassis = sonic_platform.platform.Platform().get_chassis()
File "/usr/local/lib/python3.9/dist-packages/sonic_platform/platform.py", line 21, in __init__
self._chassis = Chassis()
File "/usr/local/lib/python3.9/dist-packages/sonic_platform/chassis.py", line 37, in __init__
self._is_host = self._api_common.is_host()
TypeError: is_host() takes 0 positional arguments but 1 was given
Work item tracking
Microsoft ADO (number only): 27208152
How I did it
Add self parameter to function Common::is_host().
How to verify it
Verified on E1031 DUT with this patch.
* [Mellanox] Support DSCP remapping in Dual-ToR topo for SN4700-O8V48, update buffers for t0
Signed-off-by: Andriy Yurkiv <ayurkiv@nvidia.com>
* [Mellanox] Support DSCP remapping in Dual-ToR topo for SN4700-O8V48, update buffers for t0 (fixes after recalculation)
Signed-off-by: Andriy Yurkiv <ayurkiv@nvidia.com>
---------
Signed-off-by: Andriy Yurkiv <ayurkiv@nvidia.com>
### Why I did it
The existing test cases and test data for YANG model tests are defined in JSON files. The tests are limited and require a huge amount of copy-paste to provide good coverage.
For the features that have a lot of similar attributes that need to be covered with the tests, the JSON files can be quite big and hard to maintain (for example CRM).
The debuggability of the JSON tests is almost zero. Which makes implementation of the new test cases much harder than it should be. When the single test case fails it generates thousands of lines of output that make it hard to understand the issue. It is hard to find what failed, and what is the error message. It is impossible to re-run single test cases. Etc.
The Pytest provides an alternative way to implement the tests.
Both JSON tests and Pytests can co-exist. But it is suggested to use Pytest for the new tests.
The tests written in Pytest are compact, readable, and human-friendly.
They give more flexibility in the testing of corner cases allow to leverage Python and Pytest capabilities to generate configuration and data for better coverage.
### How I did it
Add an infrastructure that allows to write model tests in Python.
Conver CRM, DASH CRM, and SmartSwitch tests to Pytest.
#### How to verify it
Build the YANG model package.
#### Why I did it
src/sonic-gnmi
```
* d56712a - (HEAD -> master, origin/master, origin/HEAD) Update GNMI path schema (#197) (4 days ago) [ganglv]
* 758ec18 - Call flag.Parse() to parse global flags like -logtostderr (#198) (5 days ago) [Zain Budhwani]
* 736e3b4 - Add signal handler to stop gnmi server for when sigterm or sigquit is called (#189) (3 weeks ago) [Zain Budhwani]
* 5b59c57 - Fix sonic string in osversion/build (#190) (4 weeks ago) [Zain Budhwani]
* d8d15c7 - Enable unit tests and code coverage for telemetry.go (#186) (5 weeks ago) [Zain Budhwani]
```
#### How I did it
#### How to verify it
#### Description for the changelog
These changes provide for the automatic shutdown of NIF ports on LC when an ungraceful reboot scenario occurs. Reboot and panic notifier hooks are now registered so that callback occurs from the kernel and NIF ports are subsequently shut down.
Why I did it
To facilitate the timely movement of traffic away from a crashed LC when its peers recognize that the associated links have gone down.
How I did it
Linux kernel reboot and panic notifier hooks are used to register a callback routine that, when invoked, stuffs all present transceiver modules into reset.
How to verify it
Cause an ungraceful reboot (whether via /usr/sbin/reboot or by causing a kernel panic) and verify that all LC native NIF links are brought down at reboot/panic time (on the way down). It may be necessary to monitor the LC link peer(s) in order to verify in real-time.
#### Why I did it
src/linkmgrd
```
* dd61844 - (HEAD -> master, origin/master, origin/HEAD) [active-standby] reset mux probing backoff factor in link flaps (#245) (5 hours ago) [Jing Zhang]
```
#### How I did it
#### How to verify it
#### Description for the changelog
### Why I did it
Support dot (`.`) in the `additional_info` field in the PFC watchdog event in the yang model.
The `additional_info` field was introduced to represent diagnosis information when a PFC storm is detected, which can include fragments.
Signed-off-by: Stephen Sun <stephens@nvidia.com>
### How I did it
#### How to verify it
Unit test.
### Why I did it
Addresses https://github.com/sonic-net/sonic-buildimage/issues/17350
### How I did it
Instead of a 1 second delay, we poll to check that the thread is available and after each poll increment the delay. There were situations where if there was less memory available, fixed polling would not be effective for starting zmq capture service. Add an incremental delay such that eventd can wait longer to start up capture service if system is too busy or overloaded, but still keep a max duration/retry limit so that we do not wait forever.
#### How to verify it
UT
### Why I did it
Remove UpdateGraphService feature from sonic image. The goal is to simplify the bootup process.
### How I did it
Remove updategraph service and updategraph script.
Update all related services, replace updategraph.service with config-setup.service.
#### How to verify it
Build and install new image, load minigraph and check all the services.
#### Why I did it
src/sonic-swss-common
```
* 476a65c - (HEAD -> master, origin/master, origin/HEAD) Added new P4RT table names. (#832) (34 hours ago) [mint570]
```
#### How I did it
#### How to verify it
#### Description for the changelog
#### Why I did it
src/sonic-linux-kernel
```
* 4d82cd7 - (HEAD -> master, origin/master, origin/HEAD) [marvell-arm64] Update patches for 98DX35xx platform (#383) (2 hours ago) [Pavan Naregundi]
```
#### How I did it
#### How to verify it
#### Description for the changelog
#### Why I did it
src/sonic-platform-daemons
```
* 04b0f88 - (HEAD -> master, origin/master, origin/HEAD) [ycabled] Fix insert delete events for ycabled OIR by subscribing to TRANSCEIVER_INFO instead of TRANSCEIVER_STATUS table (#442) (13 hours ago) [vdahiya12]
```
#### How I did it
#### How to verify it
#### Description for the changelog
#### Why I did it
src/sonic-host-services
```
* 6fce478 - (HEAD -> master, origin/master, origin/HEAD) Remove UpdateGraphService feature (#105) (2 hours ago) [ganglv]
```
#### How I did it
#### How to verify it
#### Description for the changelog
Why I did it
On certain routers with baud rate 9600, crash kernel is taking a long time , close to ~5mins, to complete kernel dump and reload the box. On contrast to routers with baud rate 115200, crash kernel dump process is observed to be completed under 35s-60s (depending on the platform). Currently, all debug and informational messages are printed on the console which also factors in for the delay seen. Unless the router is monitored on console in real time, these messages are not very useful. Setting the loglevel to warning will help reduce the verbosity of logs on console, in turn allow crash kernel dump process to be completed in a reasonable time which will also help in overall router recovery time.
How I did it
Setting loglevel attribute in crashkernel cmdline
How to verify it
Install SONiC image with crashkernel cmdline with loglevel set to warning and initiate an induced a crash (sysrq-trigger)
crashkernel boot and dump process will be completed in 20s-30s depending on the platform
#### Why I did it
src/sonic-linux-kernel
```
* b6fd1ba - (HEAD -> master, origin/master, origin/HEAD) arm64: dts: marvell: Add DTS for 7215-IXS-A1 board (#378) (4 hours ago) [Pavan-Nokia]
* bab1510 - Disable small sector erase size for UBIFS on flash (#382) (8 hours ago) [Mridul Bajpai]
```
#### How I did it
#### How to verify it
#### Description for the changelog
### Why I did it
Added YANG related changes for adding `dom_polling` field in PORT table of CONFIG_DB. This field can be set with `config interface transceiver dom PORT_NAME (enable|disable)` CLI.
The `dom_polling` field was added through https://github.com/sonic-net/sonic-utilities/pull/3187. Please refer to this PR for the details on the reason for adding `dom_polling` field.
### How I did it
Added `dom_polling` field to CONFIG_DB PORT table.
#### How to verify it
Added unit tests for both valid and invalid options for controlling `dom_polling`.
Valid values for for `dom_polling` are `enabled` and `disabled`
Any other value is treated as an invalid value
### Why I did it
BGP monitor asn is 0 in production, and we should have test to cover this configuration.
### How I did it
Update sonic-config-engine unit test, BGP monitor uses asn 0.
#### How to verify it
Run sonic-config-engine unit test.
Why I did it
When we change k8s script file to trigger k8s master image build, there's error reported.
/agent/_work/_temp/433f6aca-4fd0-4a79-898e-49d7d0fc7465.sh: line 19: unexpected EOF while looking for matching `''
The main reason is something wrong with passing k8s_options variable(in file template-skipvstest.yml) to build pipeline. Need to fix and improve the passing variable process.
Work item tracking
Microsoft ADO (number only): 25063800
How I did it
Separate the job of checking if k8s image build is needed from skipvstest checking job
Build a VHDX k8s master image for convenient
How to verify it
No error found when k8s master image build is triggered
We have a VHDX k8s master image in the build result.
#### Why I did it
src/sonic-platform-daemons
```
* 8a5ca2b - (HEAD -> master, origin/master, origin/HEAD) Add deterministic link bring-up feature for SFF compliant modules (#383) (2 days ago) [longhuan-cisco]
* a591c8a - [ycabled][build] Fix sonic_ycabled build failure in Bookworm (#432) (2 days ago) [Arun Saravanan Balachandran]
```
#### How I did it
#### How to verify it
#### Description for the changelog
ptf-py3 0.9.3 couldn't compile on bookworm
Update ptf-py3 to latest release.
How to verify it
Verify the build and installation is successful in bookworm, buster and bullseye environment
Test docker-ptf.gz is built properly.
Ran sonic-mgmt tests with this docker-ptf.gz
Signed-off-by: Vivek Reddy Karri <vkarri@nvidia.com>
Why I did it
Update Nokia-7215-A1 platform to address UT and OC test failures.
Update platform init and build files
Microsoft ADO: 27111894
How I did it
Identify failed test cases from OC run on arm64-nokia_ixs7215_52xb-r0 (Nokia-7215-A1) platform and fix bugs
How to verify it
Build a Marvell-arm64 target for Nokia-7215-A1
Run this image on arm64-nokia_ixs7215_52xb-r0 and verify all dockers are up and test basic commands like:
show version
show platform summary
show platform syseeprom
show platform fan
show platform psustatus
show platform firmware status
show platform temperature
show platform ssdhealth
Verify ports are up using "show interface status" command
Run unit tests and OC test cases.
set_route_by_linux_route() is not called by any function within this repo and its submodules, checked on 202106 branch and master branch
git grep --recurse-submodules "set_route_by_linux_route"
src/iccpd/src/mlacp_link_handler.c:static void set_route_by_linux_route(struct CSM* csm,
src/iccpd/src/mlacp_link_handler.c: /*set_route_by_linux_route(csm, set_l3_local_if, 1);*/ /*add static route by linux route tool*/
src/iccpd/src/mlacp_link_handler.c: /*set_route_by_linux_route(csm, set_l3_local_if, 0);*/ /*del static route by linux route tool*/
Microsoft ADO (number only): 27008034
Remove unused function set_route_by_linux_route()
Signed-off-by: Mai Bui <maibui@microsoft.com>
#### Why I did it
src/sonic-sairedis
```
* bb948f6 - (HEAD -> master, origin/master, origin/HEAD) Check MDIO server thread joinable before join the thread (#1342) (18 hours ago) [Jiahua Wang]
```
#### How I did it
#### How to verify it
#### Description for the changelog
#### Why I did it
src/dhcpmon
```
* 22a7467 - (HEAD -> master, origin/master, origin/HEAD) Fix revert (#21) (9 hours ago) [kellyyeh]
* b1d890a - Revert DHCP Counter (#20) (24 hours ago) [kellyyeh]
```
#### How I did it
#### How to verify it
#### Description for the changelog
#### Why I did it
src/dhcprelay
```
* 84e4419 - (HEAD -> master, origin/master, origin/HEAD) Revert DHCPv6 Counter (#48) (24 hours ago) [kellyyeh]
```
#### How I did it
#### How to verify it
#### Description for the changelog
#### Why I did it
src/sonic-linux-kernel
```
* 45295bf - (HEAD -> master, origin/master, origin/HEAD) Fix the issue with signed kernel compilation for ARM64 architecture (#381) (54 minutes ago) [Oleksandr Ivantsiv]
```
#### How I did it
#### How to verify it
#### Description for the changelog
Why I did it
pkgs.k8s.io: Introducing Kubernetes Community-Owned Package Repositories | Kubernetes
For 1.22.2 k8s packages, source repo has been deprecated, going to store these packages in sonic build storage for installation to mitigate the issue. Will migrate to new repo when we are ready to upgrade k8s version.
Work item tracking
Microsoft ADO (number only): 27075924
How I did it
Store the 1.22.2 k8s package in sonic build storage and install the package there.
How to verify it
"apt list" to check if it's installed.
Improve nss-tacplus TACACS connect timeout
#### Why I did it
TACACS login usually config multiple server, when a high priority server not reachable or high lantency, remote user login will slowly, also run SUDO command will slowly.
To improve this issue, enable read timeout in nss-tacplus.
### How I did it
Enable read timeout in nss-tacplus.
#### How to verify it
Pass all UT.
### Description for the changelog
Improve nss-tacplus TACACS connect timeout.
#### Why I did it
src/sonic-platform-daemons
```
* 8829614 - (HEAD -> master, origin/master, origin/HEAD) Enable periodic polling of TRANSCEIVER_FIRMWARE_INFO table in DomInfoUpdateTask (#443) (10 minutes ago) [mihirpat1]
* 55b5805 - Combine psu presence/status update with data update (#424) (9 hours ago) [Yuanzhe]
```
#### How I did it
#### How to verify it
#### Description for the changelog
### Why I did it
When try to install k8s gpg file, there reports an error.
- "E: gnupg, gnupg2 and gnupg1 do not seem to be installed, but one of them is required for this operation curl: (23) Failed writing body".
To fix error we need to install gunpg package. But apt-key add is going to be deprecated, mv the gpg file to /etc/apt/trusted.gpg.d/ directly
### How I did it
Download k8s gpg file and put it in /etc/apt/trusted.gpg.d/
#### How to verify it
We can install k8s gpg file successfully, but no gnupg package installed inside sonic image.
#### Why I did it
src/sonic-mgmt-common
```
* fbb5fcd - (HEAD -> master, origin/master, origin/HEAD) Script to populate the test data to the simulator db (10 hours ago) [Sachin Holla]
```
#### How I did it
#### How to verify it
#### Description for the changelog
#### Why I did it
src/sonic-platform-common
```
* 56921d8 - (HEAD -> master, origin/master, origin/HEAD) File system based sensors implementation for voltage and current sensors (#426) (21 hours ago) [Mridul Bajpai]
```
#### How I did it
#### How to verify it
#### Description for the changelog
Why I did it
We Nokia took the task to make macsec container to work with bookworm.
This PR requires another PR for sonic-wpa-supplicant(sonic-net/sonic-wpa-supplicant#80) to be in first. Otherwise sonic build will fail for bookworm wpasupplicant debian package.
How I did it
How to verify it
After build and boot up system with new image, macsec container should run with bookworm. Corresponding mgmt macsec suite will work here.
Which release branch to backport (provide reason below if selected)
Tested branch (Please provide the tested image version)
Tested with latest master of sonic-buildimage. Built vs image and loaded into vs testing environment. Code pass with macsec test suites.
Description for the changelog
Make macsec container to build with bookworm
- Why I did it
Adding explicit dependency of libnl-route-3 for Mellanox SAI library. This is required for the latest SAI library.
- How I did it
Modifying Make files
- How to verify it
Building with the changes.