Skip to content

[202211] Update sonic-py-common, add missing dependency to redis-dump-load.#14359

Closed
liuh-80 wants to merge 1524 commits intosonic-net:202111from
liuh-80:dev/liuh/fix-redis-dl-depency-202211
Closed

[202211] Update sonic-py-common, add missing dependency to redis-dump-load.#14359
liuh-80 wants to merge 1524 commits intosonic-net:202111from
liuh-80:dev/liuh/fix-redis-dl-depency-202211

Conversation

@liuh-80
Copy link
Copy Markdown
Contributor

@liuh-80 liuh-80 commented Mar 21, 2023

Update sonic-py-common, add missing dependency to redis-dump-load.
This is manually cherry-pick PR for #14347
After 202211, the redis-dump-load been patched by sonic, so can't cherry-pick master branch PR to 202211 branch.

Why I did it

The script sonic_db_dump_load.py in sonic-py-common is depends on redis-dump-load, however the dependency is missing.

How I did it

Add redis-dump-load dependency.

How to verify it

Pass all E2E test case.

Which release branch to backport (provide reason below if selected)

  • 201811
  • 201911
  • 202006
  • 202012
  • 202106
  • 202111
  • 202205

Description for the changelog

Update sonic-py-common, add missing dependency to redis-dump-load.

Link to config_db schema for YANG module changes

A picture of a cute animal (not mandatory but encouraged)

jcaiMR and others added 30 commits December 10, 2022 10:33
Why I did it
There were some changes in apt source code in version 2.1.9.
As a result apt used in bullseye (2.2.4) is intolerant to network issues.
This was fixed in https://salsa.debian.org/apt-team/apt/-/commit/10631550f1f9788bdfd64d2434237a1448ab0626 Already fixed version is used in bookworm (2.5.4)
And not yet affected version is used in buster (1.8.2.3)

How I did it
Set Acquire::Retries to 3 for sonic-slave-bullseye, docker-base-bullseye and final Debian image.

Ref: https://bugs.launchpad.net/ubuntu/+source/apt/+bug/1876035

Signed-off-by: Konstantin Vasin [email protected]
Add wan topo test using TestbedV2.

Why I did it
Add wan topo test using TestbedV2.

How I did it
Add a job to run wan topo in pr test.

Signed-off-by: Yutong Zhang <[email protected]>
Why I did it
Need sonic-host-services to support "config reload" and "config apply-patch"

How I did it
I have updated sonic-host-services repo, and I update the submodule with this PR

How to verify it
Build image and run unit test.
Make syncd rpc docker which supports sai-ptf v2

local bulild the target

NOSTRETCH=y NOJESSIE=y make configure PLATFORM=vs
NOSTRETCH=y NOJESSIE=y NOBULLSEYE=y SAITHRIFT_V2=y make target/docker-ptf-sai.gz

NOSTRETCH=y NOJESSIE=y make configure PLATFORM=vs
NOSTRETCH=y NOJESSIE=y NOBULLSEYE=y make target/docker-ptf.gz

NOSTRETCH=y NOJESSIE=y make configure PLATFORM=broadcom
NOSTRETCH=y NOJESSIE=y ENABLE_SYNCD_RPC=y SAITHRIFT_V2=y make target/docker-syncd-brcm-rpcv2.gz
NOSTRETCH=y NOJESSIE=y ENABLE_SYNCD_RPC=y SAITHRIFT_V2=y make target/docker-saiserverv2-brcm.gz

Test done:
sonic-net#12619
NOSTRETCH=y NOJESSIE=y make configure PLATFORM=broadcom
NOSTRETCH=y NOJESSIE=y ENABLE_SYNCD_RPC=y make target/docker-syncd-brcm-rpc.gz
NOSTRETCH=y NOJESSIE=y ENABLE_SYNCD_RPC=y make target/docker-saiserver-brcm.gz

Signed-off-by: richardyu-ms <[email protected]>

Signed-off-by: richardyu-ms <[email protected]>
Why I did it
Some sonic-mgmt platform_tests/api were failing on the 7060CX-32S

How I did it
Added the missing metadata in platform.json and platform_components.json
This is purely test data and does not impact our API implementation.

How to verify it
Run platform_tests / api and expect 100% pass rate.
* [Submodule] update sonic-utilities submodule
Update sonic-py-swsssdk submodule pointer to include the following:

d3584fc Remove LOGLEVEL DB since is no longer used (sonic-net#129)

Signed-off-by: dprital <[email protected]>
Update sonic-swss submodule pointer to include the following:

da56bd6 Remove LOGLEVEL DB since is no longer used (sonic-net#2507)

Signed-off-by: dprital <[email protected]>
Update sonic-mgmt-common submodule pointer to include the following:

68e0341 Remove LOGLEVEL DB since is no longer used (sonic-net#64)

Signed-off-by: dprital <[email protected]>
… dualtor (sonic-net#12730)

Why I did it
The PR is to apply separated DSCP_TO_TC_MAP and TC_TO_QUEUE_MAP to uplink ports on dualtor.
The traffic with DSCP 2 and DSCP 6 from T1 is treated as lossless traffic.

DSCP    TC    Queue
2      2     2
6      6     6
Traffic with DSCP 2 or DSCP 6 from downlink is still treated as lossy traffic as before.

How I did it
Define DSCP_TO_TC_MAP|AZURE_UPLINK and TC_TO_QUEUE_MAP|AZURE_UPLINK.

How to verify it
Verified by UT
Verified by coping the new template to a testbed, and rendering a config_db.json
* Support power threshold

Signed-off-by: Stephen Sun <[email protected]>

* get_psu_power_warning_threshold => get_psu_power_warning_suppress_threshold

Signed-off-by: Stephen Sun <[email protected]>

* Fix comments

Signed-off-by: Stephen Sun <[email protected]>

Signed-off-by: Stephen Sun <[email protected]>
…nic-net#12444)

Why I did it
TX FIR tuning should be done based on the type of inserted transceiver

How I did it
Add media_settings.json which contains the tuning data for 100G optic and 400G optic.

How to verify it
Tested against x86_64-arista_7800r3a_36d2_lc
Signed-off-by: maipbui [email protected]
Dependency: [https://github.com/sonic-net/sonic-buildimage/pull/12065](https://github.com/sonic-net/sonic-buildimage/pull/12065)
#### Why I did it
`commands` module is not secure
command injection in `getstatusoutput` being used without a static string
#### How I did it
Eliminate `commands` module, use `subprocess` module only
Convert Python 2 to Python 3
sonic-net#12791)

* Update submodule sonic-utilities

72b9cf9 [psushow & psuutil] Support PSU power threshold checking (sonic-net#2326)
dfdc92e Revert "Support the bandit check by GitHub Action (sonic-net#2358)" (sonic-net#2509)
85638b2 YANG Validation for ConfigDB Updates: DEVICE_METADATA, SNMP, SNMP_COMMUNITY tables (sonic-net#2481)
da44d71 YANG Validation for ConfigDB Updates: PORT_STORM_CONTROL, PORT_QOS_MAP, BUFFER_PROFILE, BUFFER_PG, BUFFER_QUEUE, BUFFER_POOL, FEATURE, DEFAULT_LOSSLESS_BUFFER_PARAMETER tables (#
ba9b628 [sfp] Fix issue: Application Advertisement is not well formatted (sonic-net#2491)

Signed-off-by: Stephen Sun <[email protected]>

* Update submodule sonic-platform-daemons

ed818f8 [PSU daemon] Support PSU power threshold checking (sonic-net#288)
707a720 [chassisd] update chassisd to write fabric and lc asics on sep erate table (sonic-net#311)
e8c5657 [ycabled] fix exception-handling logic for ycabled (sonic-net#306)
905874d [ycabled] move swsscommon API's from subroutines to call them exactly once per task_worker/thread (sonic-net#303)
510d330 Fix typo in xcvrd (sonic-net#313)
9ae551f [ycabled] add support for detach mode in 'active-active' topology (sonic-net#309)
82fc7a6 Added filtering logic to send filtered fields from DB event (sonic-net#307)
8a2dad9 [ycabled] fix no port/state returned by grpc server (sonic-net#308)
4ea12cf Fix xcvrd to support 400G ZR optic (sonic-net#293)
23b6970 [ycabled] fix naming error for error condition for CLI handling (sonic-net#302)
501abb2 [ycabled] add some exception catching logic to some vendor specific API's (sonic-net#301)
534f839 [ycabled] add support for getting grpc secerts via shared file (sonic-net#298)
3622aac Remove shell=True (sonic-net#300)
143422b add support to execute new ycable API's, add datetime field to mux_info (sonic-net#297)
6522c46 [ycabled] add notification for gRPC connection state transitions to  IDLE/TRANSIENT_FAILURE (sonic-net#295)
4b3b238 Install libyang to azure pipeline (sonic-net#292)
8ff5f37 Use get() to fetch default value from dictionary for port admin_status sonic-net#286
b03cc74 [Xcvrd] Soak duplicate events and process only updated interested events (sonic-net#285)
3acb171 [ycable] cleanup logic for creating grpc future ready (sonic-net#289)
ce3b6db [ycabled] fix insert events from xcvrd;cleanup some mux toggle logic (sonic-net#287)

Signed-off-by: Stephen Sun <[email protected]>

* Update submodule sonic-platform-common

7c48be2 Add warning/critical thresholds for PSU power (sonic-net#304)
f5ba0d0 Add missing PM and VDM related EEPROM read (sonic-net#326)
02dd597 implement CMIS set_laser_freq to support 100GHz grid space (sonic-net#294)

Signed-off-by: Stephen Sun <[email protected]>

* Revert "Update submodule sonic-platform-daemons"

This reverts commit aea648b.

Signed-off-by: Stephen Sun <[email protected]>
Fix error when calling events API, required value is string, passing float
…issue (sonic-net#12814)

#### Why I did it

When build the sonic-slave-bash target, it cannot go to the shell failed in the step to build sonic-build-hooks, the error logs as below. It may have impact on some of the users, it may be relative to different version of the make.
```
$ QUIET=n BLDENV=bullseye make NOJESSIE=1 NOSTRETCH=1 sonic-slave-bash
+++ Making sonic-slave-bash +++
BLDENV=buster make -f Makefile.work sonic-slave-bash
make[1]: Entering directory `/builds2/stephens/wip/update-submodule/sonic-buildimage'
echo -n ""
pushd src/sonic-build-hooks; TRUSTED_GPG_URLS=https://packages.trafficmanager.net/debian/public_key.gpg,https://packages.microsoft.com/keys/microsoft.asc make all; popd
/builds2/stephens/wip/update-submodule/sonic-buildimage/src/sonic-build-hooks /builds2/stephens/wip/update-submodule/sonic-buildimage
make[2]: Entering directory `/builds2/stephens/wip/update-submodule/sonic-buildimage/src/sonic-build-hooks'
dpkg-deb: building package 'sonic-build-hooks' in 'buildinfo/sonic-build-hooks_1.0_all.deb'.
make[2]: Leaving directory `/builds2/stephens/wip/update-submodule/sonic-buildimage/src/sonic-build-hooks'
/builds2/stephens/wip/update-submodule/sonic-buildimage
mkdir -p sonic-slave-buster/buildinfo
cp src/sonic-build-hooks/buildinfo/sonic-build-hooks* sonic-slave-buster/buildinfo
[ "n" == y ] && scripts/build_mirror_config.sh sonic-slave-buster amd64 buster
make[1]: *** [sonic-build-hooks] Error 1
make[1]: Leaving directory `/builds2/stephens/wip/update-submodule/sonic-buildimage'
make: *** [sonic-slave-bash] Error 2
```

#### How I did it
Change the format as below:
```
[ xxx = yyy ] && do something
```
To
```
if [ xxx = yyy ]; then do something; if
```

#### How to verify it
Verified by who found the issue, the issue gone when the patch applied.
… debs (sonic-net#12823)

Ubuntu 22.04 leverages Zstandard compression to dpkg by default.
Debian doesn't support it yet
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=892664

Fix sonic-net#12822

Signed-off-by: Cédric Ollivier <[email protected]>
Why I did it
sonic-swss-common needs to support SWIG wrapper for go.
Submodule update for sonic-swss-common
Incorporates:

d63130c [[CI]Install libyang from common-lib when build bullseye (sonic-net#710)
bfe123e Add decorator for Yang default value. (sonic-net#713)
1d66080 Use SWIGPYTHON to improve SWIG for GO wrapper. (sonic-net#714)

How I did it
I have updated sonic-swss-common repo, this PR is used to update submodule.

How to verify it
Build image, and sonic-gnmi pipeline will verify SWIG wrapper.
* [sonic-platform-daemons] submodule update

git log --oneline 7c0a326..master
e8c5657 (HEAD -> master, origin/master, origin/HEAD) [ycabled] fix
exception-handling logic for ycabled (sonic-net#306)
905874d [ycabled] move swsscommon API's from subroutines to call them
exactly once per task_worker/thread (sonic-net#303)
510d330 Fix typo in xcvrd (sonic-net#313)
9ae551f [ycabled] add support for detach mode in 'active-active'
topology (sonic-net#309)
82fc7a6 Added filtering logic to send filtered fields from DB event
(sonic-net#307)
8a2dad9 [ycabled] fix no port/state returned by grpc server (sonic-net#308)
4ea12cf Fix xcvrd to support 400G ZR optic (sonic-net#293)
23b6970 [ycabled] fix naming error for error condition for CLI handling
(sonic-net#302)
501abb2 [ycabled] add some exception catching logic to some vendor
specific API's (sonic-net#301)
534f839 [ycabled] add support for getting grpc secerts via shared file
(sonic-net#298)
3622aac Remove shell=True (sonic-net#300)
143422b add support to execute new ycable API's, add datetime field to
mux_info (sonic-net#297)
6522c46 [ycabled] add notification for gRPC connection state transitions
to  IDLE/TRANSIENT_FAILURE (sonic-net#295)
4b3b238 Install libyang to azure pipeline (sonic-net#292)
8ff5f37 Use get() to fetch default value from dictionary for port
admin_status sonic-net#286
b03cc74 [Xcvrd] Soak duplicate events and process only updated
interested events (sonic-net#285)
3acb171 [ycable] cleanup logic for creating grpc future ready (sonic-net#289)
ce3b6db [ycabled] fix insert events from xcvrd;cleanup some mux toggle
logic (sonic-net#287)

Signed-off-by: vaibhav-dahiya <[email protected]>
…compile it (sonic-net#12840)

- Why I did it
Add SDK hash calculator Debian and update SDK makefile to compile it.

- How I did it
SDK hash calculator Debian will be used by ECMP calculator (PR sonic-net#12482)

- How to verify it
Compile sonic-buildimage and verify SDK hash calculator Debian exist in target folder.
- Why I did it
Upgrade the app-extension developer environments (sonic-sdk & sonic-sdk-bullseye) to bullseye

- How to verify it
Built an app-extension using these images and verified if it is up and running.

Signed-off-by: Vivek Reddy <[email protected]>
…ic-net#12107)

Signed-off-by: maipbui <[email protected]>
Dependency: [https://github.com/sonic-net/sonic-buildimage/pull/12065](https://github.com/sonic-net/sonic-buildimage/pull/12065)
#### Why I did it
1. `getstatusoutput` is used without a static string and it uses `shell=True`
2. `subprocess()` - when using with `shell=True` is dangerous. Using subprocess function without a static string can lead to command injection.
3. `os` - not secure against maliciously constructed input and dangerous if used to evaluate dynamic content.
#### How I did it
1. use `getstatusoutput` without shell=True
2. `subprocess()` - use `shell=False` instead. use an array string. Ref: [https://semgrep.dev/docs/cheat-sheets/python-command-injection/#mitigation](https://semgrep.dev/docs/cheat-sheets/python-command-injection/#mitigation)
3. `os` - use with `subprocess`
Why I did it
Submodule update for sonic-swss-common
Incorporates:

5d481da Install swsscommon.i with libswsscommon-dev (sonic-net#717)

How I did it
I have updated sonic-swss-common repo, this PR is used to update submodule.

How to verify it
Build image, install libswsscommon-dev, and check /usr/share/swss.
Why I did it
Added to allow test_crm_route to pass; the test tries to add a /126 ipv6 route and this change is required in order for the count of available routes to be updated correctly.
dbarashinvd and others added 25 commits March 19, 2023 20:50
…-management (sonic-net#14182)

- Why I did it
Sometimes Nvidia watchdog device isn't ready when watchdog-control service is up after first installation from ONIE
need to delay watchdog control service to go up after hw-mgmt which gets devices up and ready

- How I did it
Delay Nvidia watchdog-control service before hw-mgmt has started on Mellanox platform in order to avoid missing or not ready watchdog device.

- How to verify it
verification test of ONIE installation of image in a loop
making sure watchdog service is always up (not failed) after first installation from ONIE
- Why I did it
To include latest fixes:

Fix traffic loss on all routed traffic when moving from 4.4.3372/XX_2008_3388 to 4.5.4118-012/XX_2010_4120-010. Issue occurred after ISSU process in Spectrum 1 only, When upgrading from older version to a new one. Neighbor entries are overwritten.
Fix When using mirror session policer on SPC2/3, the actual CIR was 1.28 times more than the configured CIR value.
Fix Creation of router interface of type bridge may occasionally fail if create is performed immediately after delete.
Fix False errors during SDK deinitialization may be seen in the syslog

- How I did it
Updated SDK submodule and relevant makefiles with the required versions.

- How to verify it
Build an image and run tests from "sonic-mgmt".
Update credo sai package to the latest v0.9.0.
…et#14138)

- Why I did it
In sfplpm API, the number of logical ports is hardcoded as 64. When a system contains more port than this, the SDK APIs would fail with a syslog as below

Mar 7 03:53:58.105980 r-leopard-58 ERR syncd#SDK: [MGMT_LIB.ERR] Slot [0] Module [0] has logport [0x00010069] in enabled state
Mar 7 03:53:58.105980 r-leopard-58 ERR syncd#SDK: [SDK_MGMT_LIB.ERR] Failed in __sdk_mgmt_phy_module_pwr_attr_set, error: Internal Error
Mar 7 03:53:58.106118 r-leopard-58 ERR pmon#-c: Error occurred when setting power mode for SFP module 0, slot 0, error code 1

- How I did it
Remove the hardcoded value of 64. Obtained the number of logical ports from SDK

- How to verify it
Manual testing
Why I did it
This PR addresses the issue mentioned above by loading the acl config as a service on a storage backend device

How I did it
The new acl service is a oneshot service which will start after swss and does some retries to ensure that the SWITCH_CAPABILITY info is present before attempting to load the acl rules. The service is also bound to sonic targets which ensures that it gets restarted during minigraph reload and config reload

How to verify it
Build an image with the following changes and did the following tests

Verified that acl is loaded successfully on a storage backend device after a switch boot up
Verified that acl is loaded successfully on a storage backend ToR after minigraph load and config reload
Verified that acl is not loaded if the device is not a storage backend ToR or the device does not have a DATAACL table

Signed-off-by: Neetha John <[email protected]>
Why I did it
Update dynamic threshold to -1 to get optimal performance for RDMA traffic

How I did it
Modified pg_profile_lookup.ini to reflect the correct value

Signed-off-by: Neetha John <[email protected]>
Why I did it
Find a new bug on kubelet side. The kubernetes-cni plug-in was removed in sonic-net#12997, the reason is that the plug-in will be auto installed when install kubeadm, and will report error if we don't remove the install code. But after removal, the version auto installed is different from what we installed before. This will affect the kubelet action in some scenarios we don't find before. Need to install it by another way.

How I did it
Install kubernetes-cni==0.8.7-00 before install kubeadm

How to verify it
Flannel binary will be installed under /opt/cni/bin/ folder
Why I did it
Add interface-id in dhcpv6-relay yang model

How I did it
Add interface-id option and corresponding UT. Updated configuration.md

How to verify it
kellyyeh@kellyyeh:~/sonic-buildimage/src/sonic-yang-models$ pyang -Vf tree -p /usr/local/share/yang/modules/ietf ./yang-models/sonic-dhcpv6-relay.yang
- Why I did it

Healthd check system status every 60 seconds. However, running checker may take several seconds. Say checker takes X seconds, healthd takes (60 + X) seconds to finish one iteration. This implementation makes sonic-mgmt test case not so stable because the value X is hard to predict and different among different platforms. This PR introduces an interval
compensation mechanism to healthd main loop.

- How I did it

Introduces an interval compensation mechanism to healthd main loop: healthd should wait (60 - X) seconds for next iteration

- How to verify it

Manual test
Unit test
* Fix typo in VOQ_CHASSIS_V6_PEER route-map config

* Updated UT files with the changed config
#### Why I did it

Remove dialout as critical process as it is no longer used in prod. As part of future work, can remove dialout completely

#### How I did it

Remove from critical process list
…-net#13935)

On SONiC VoQ chassis, the speed changes are done from 400G to 100G needs to be supported on 400G linecards.
To enable this, along with speed change the port lanes need to be changed. This PR has the changes to update the port lanes when such speed change happens.

This PR is intended only for VoQ chassis linecards. These platforms today have 400g port with 8 serdes lines, and 100g will operate with 4 serdes lane. When the port speed changes from 400G to 100G the first 4 lanes will be used for 100G port.

Platforms which support 2x50g PAM4 or support 100G PAM4 serdes or other combinations are not handled in the PR.

Signed-off-by: Arvindsrinivasan Lakshmi Narasimhan <[email protected]>
…net#13898)

Why I did it
Dhcpmon had incorrect RX count for server side packets. It does not raise any false alarms, but could miss catching server side packet count mismatch between snapshot and current counter.

Add debug mode which prints counter to syslog

How I did it
Due to dualtor inbound filter requirement, there are currently two filters, each for listening to rx / tx packets.
Originally, we opened up an rx/tx socket for each interface specified, which causes duplicate socket. Now we initialize the sockets only once. Both sockets are not binded to an interface, and we use vlan to interface mapping to filter packets. For inbound uplinks, we use a portchannel to interface mapping.

Previous dhcpmon counter before dual tor change:
[ Agg-Vlan1000- Current rx/tx] Discover: 1/ 4, Offer: 1/ 1, Request: 3/ 12, ACK: 1/ 1
[ eth0- Current rx/tx] Discover: 0/ 0, Offer: 0/ 0, Request: 0/ 0, ACK: 0/ 0
[ eth0- Current rx/tx] Discover: 0/ 0, Offer: 0/ 0, Request: 0/ 0, ACK: 0/ 0
[ PortChannel104- Current rx/tx] Discover: 0/ 1, Offer: 0/ 0, Request: 0/ 3, ACK: 0/ 0
[ PortChannel103- Current rx/tx] Discover: 0/ 1, Offer: 0/ 0, Request: 0/ 3, ACK: 0/ 0
[ PortChannel102- Current rx/tx] Discover: 0/ 2, Offer: 1/ 0, Request: 0/ 6, ACK: 1/ 0
[ PortChannel101- Current rx/tx] Discover: 0/ 0, Offer: 0/ 0, Request: 0/ 0, ACK: 0/ 0
[ Vlan1000- Current rx/tx] Discover: 1/ 0, Offer: 0/ 1, Request: 3/ 0, ACK: 0/ 1
[ Agg-Vlan1000- Current rx/tx] Discover: 1/ 4, Offer: 1/ 1, Request: 3/ 12, ACK: 1/ 1

Dhcpmon counter after this PR:
[ PortChannel104- Current rx/tx] Discover: 0/ 1, Offer: 0/ 0, Request: 0/ 3, ACK: 0/ 0
[ PortChannel103- Current rx/tx] Discover: 0/ 1, Offer: 0/ 0, Request: 0/ 3, ACK: 0/ 0
[ PortChannel102- Current rx/tx] Discover: 0/ 2, Offer: 1/ 0, Request: 0/ 6, ACK: 1/ 0
[ PortChannel101- Current rx/tx] Discover: 0/ 0, Offer: 0/ 0, Request: 0/ 0, ACK: 0/ 0
[ Vlan1000- Current rx/tx] Discover: 1/ 0, Offer: 0/ 1, Request: 3/ 0, ACK: 0/ 1
[ Agg-Vlan1000- Current rx/tx] Discover: 1/ 4, Offer: 1/ 1, Request: 3/ 12, ACK: 1/ 1

How to verify it
Ran dhcp relay test to send all four packets in singles and batches on both single ToR and dual ToR. Counter was as expected.
… minigraph (sonic-net#13660)

Fixes sonic-net#11873.

#### Why I did it

When loading from minigraph, for port channels, don't create the members@ array in config_db in the PORTCHANNEL table. This is no longer needed or used.

In addition, when adding a port channel member from the CLI, that member doesn't get added into the members@ array, resulting in a bit of inconsistency. This gets rid of that inconsistency.
- Why I did it
Fixes sonic-net#14236

When a redis event quickly gets outdated during port breakout, error logs like this are seen

Mar  8 01:43:26.011724 r-leopard-56 INFO ConfigMgmt: Write in DB: {'PORT': {'Ethernet64': {'admin_status': 'down'}, 'Ethernet68': {'admin_status': 'down'}}}
Mar  8 01:43:26.012565 r-leopard-56 INFO ConfigMgmt: Writing in Config DB
Mar  8 01:43:26.013468 r-leopard-56 INFO ConfigMgmt: Write in DB: {'PORT': {'Ethernet64': None, 'Ethernet68': None}, 'INTERFACE': None}
Mar  8 01:43:26.018095 r-leopard-56 NOTICE swss#portmgrd: :- doTask: Configure Ethernet64 admin status to down
Mar  8 01:43:26.018309 r-leopard-56 NOTICE swss#portmgrd: :- doTask: Delete Port: Ethernet64
Mar  8 01:43:26.018641 r-leopard-56 NOTICE lldp#lldpmgrd[32]: :- pops: Miss table key PORT_TABLE:Ethernet64, possibly outdated
Mar  8 01:43:26.018654 r-leopard-56 ERR lldp#lldpmgrd[32]: unknown operation ''

- How I did it
Only log the error when the op is not empty and not one of ("SET" & "DEL" )

Signed-off-by: Vivek Reddy Karri <[email protected]>
Provide platform-components.json for Clearwater2 and Wolverine

These files are needed for fwutil platform sonic-mgmt tests to pass.

Fix PikeZ platform_components.json

Co-authored-by: Patrick MacArthur <[email protected]>
Co-authored-by: Andy Wong <[email protected]>
…ZoneAggregator (sonic-net#14280)

Why I did it
SONiC currently does not identify 'EdgeZoneAggregator' neighbor. As a result, the buffer profile attached to those interfaces uses the default cable length which could cause ingress packet drops due to insufficient headroom. Hence, there is a need to update the buffer templates to identify such neighbors and assign the same cable length as used by the T1.

How I did it
Modified the buffer template to identify EdgeZoneAggregator as a neighbor device type and assign it the same cable length as a T1/leaf router.

How to verify it
Unit tests pass, and manually checked on a 7260 to see the changes take effect.

Signed-off-by: dojha <[email protected]>
@liuh-80
Copy link
Copy Markdown
Contributor Author

liuh-80 commented Mar 21, 2023

Close PR because

@liuh-80 liuh-80 closed this Mar 21, 2023
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.