Skip to content

[202205] Backport: Add the pre_reboot_hook script execution, add the watchdog arm before the reboot#3758

Closed
jianyuewu wants to merge 266 commits intosonic-net:masterfrom
jianyuewu:202205-backport-reboot-patch
Closed

[202205] Backport: Add the pre_reboot_hook script execution, add the watchdog arm before the reboot#3758
jianyuewu wants to merge 266 commits intosonic-net:masterfrom
jianyuewu:202205-backport-reboot-patch

Conversation

@jianyuewu
Copy link
Contributor

Backport commits #3492 and #3203.

What I did

Add back the support to call reboot -f.
The support for this option was accidentally removed as part of this PR #3203.
The same PR for 202311 doesn't have this mistake - #3204.
Add the pre_reboot_hook script execution, add the watchdog arm before the reboot, in order to support the graceful reboot instead of the sysfs power cycle, to avoid filesystem corruption.

How I did it

Add back option -f for reboot script.
Modify the scripts/reboot.

How to verify it

Call reboot -f.
Start watching logs by using show log -f and journalctl -p debug -f.
Execute the reboot command from the switch CLI.
Check in logs that all systemd services terminated correctly.

zjswhhh and others added 30 commits July 5, 2022 21:02
What I did
Replace status in show mux status with APP DB MUX_CABLE_TABLE:<port_name>, which is written by linkmgrd and indicates linkmgrd's state transition.

This change is required for active-active dualtor setup. In active-active setup, we care more about whether state transition happens on ToR side. In tests, we want to see if linkmgrd makes immediate reaction on link state changes. If we continue to use STATE DB entries, when gRPC is not available, we will get unknow in show mux status, which is not informatic and not the actual value we want to check.

sign-off: Jing Zhang [email protected]

How I did it
Use APP DB entries instead of STATE DB.

Move STATE DB to column SERVER_STATUS.

How to verify it
Unit tests with mock DB values.
Tests on dual testbeds.
What I did
Add new CLI support to show tunnel route objects in ASIC DB.
sign-off: Jing Zhang [email protected]

How I did it
Check if tunnel route object exists for server_ipv4, server_ipv6, soc_ipv4. If existing, print it out.
If not specifying port name, print all tunnel route objects.

How to verify it
Added unit tests.
Tested on dual testbed.
- What I did
Add support for IP interface loopback action.

- How I did it
Add new commands and handilig, Update the commad reference guide to incldue the new show command

- How to verify it
New CLI unittests were added.

Previous command output (if the output of a command-line utility has changed)
None

New command output (if the output of a command-line utility has changed)
root@sonic:~# config interface ip loopback-action Ethernet0 drop
root@sonic:~# show ip interfaces loopback-action
Interface        Action      
------------     ----------  
Ethernet232   drop
Vlan100          forward
Signed-off-by: Neetha John <[email protected]>

What I did
Load backend acl template as part of the load minigraph if the device type is a 'BackEndToRRouter' and the device is a storage device

How to verify it
Added unit tests to verify if the backend acl load commands are applied
What I did
show command support for System Ready Feature Implementation .
Also sonic-package-manager support for app readiness.

"show system-health sysready-status"
"show system-health sysready-status detail"
"show system-health sysready-status brief"

How I did it
Introduce "show system-health sysready-status" click CLI with options.

How to verify it
Check the click CLIs introduced.
…sonic-net#2272)

To add room for db_migrator changes in 202012 branch, changed the major version on master/202205 branches from "2" to "3"

This change is needed:
1. Since the existing master/202205 db versions cannot be backported to 202012 as they are not relevant to 202012.
Current latest DB version for 202012 is 2_0_0, to add newer versions 2_0_1 cannot be added as it is already used for master/202205 branch.
2. Since master/202205 branches should incremented major version that was reserved for 202012. Since 202205 used same major version as 202012, there is no place for migrator changes to go into 202012 branch.

Changed major version on migrator script. Updated test files.

Signed-off-by: Vaibhav Hemant Dixit <[email protected]>
…n RJ45 ports (sonic-net#2111)

* enhance show interface transceiver eeprom logic with RJ45 port support

Signed-off-by: Kebo Liu <[email protected]>

* enhance sfputil to support RJ45 port, exclude error status

* fix sfputil issue on RJ45 port

Signed-off-by: Kebo Liu <[email protected]>

* [RJ45] change the way to judge port type and add more UT test case

Signed-off-by: Kebo Liu <[email protected]>

* [sfputil] simplity the logic for RJ45 support

Signed-off-by: Kebo Liu <[email protected]>

* Support sfputil show present

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

* Support rj45 in sfpshow

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

* Add test case for sfputil with RJ45 supported

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

* Add mock data for RJ45 ports into STATE_DB

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

* Add test for sfputil show for RJ45 ports

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

* remove debug code in sfputil test case

Signed-off-by: Kebo Liu <[email protected]>

* remove unnecessary argument for format()

Signed-off-by: Kebo Liu <[email protected]>

* Revert the logic to fetch presence status from error status for RJ45 port (sonic-net#17)

* Revert the logic to fetch presence status from error status

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

* Unit test

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

* Fix error

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

* Add test cases to cover lpmode and error status

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

* add comments to describe the usage of functions to judge the port type

Signed-off-by: Kebo Liu <[email protected]>

* add more testcase for sfputil

Signed-off-by: Kebo Liu <[email protected]>

* fix typo in testcase name

Signed-off-by: Kebo Liu <[email protected]>

Co-authored-by: Stephen Sun <[email protected]>
Co-authored-by: Stephen Sun <[email protected]>
* fix for non-coherent cmis modules

* addressing comments

* add back application_advertisement

* fixing test failure

Co-authored-by: Chuan Qin (QINCHUAN) <[email protected]>
Signed-off-by: bingwang <[email protected]>

What I did
This PR is to update the db_migrator to support generation of PORT_QOS_MAP|global.

After PR sonic-net/sonic-buildimage#10565, there will be two DSCP_TO_TC_MAP

DSCP_TO_TC_MAP|AZURE is the default map, which is used at port level and switch level
DSCP_TO_TC_MAP|AZURE_TUNNEL is used to remap the priority of tunnel traffic in dualtor deployment
To address the issue, an entry PORT_QOS_MAP|global will be added into config_db

"PORT_QOS_MAP": {
        "global": {
            "dscp_to_tc_map": "AZURE"
        }
}
To handle the upgrade from older image, db_migrator is updated to generate the entry.
There is no way to check if PORT_QOS_MAP|global is supported, so the migration is ran on all platforms. There is check in sonic-swss to check the switch capability code, so it will not cause issue.

How I did it
Update db_migrator to add a common migration step.

How to verify it
Verified by vstest
…w platform (sonic-net#2213)

What I did
Gave cisco-8000 the ability to add sub-commands under show platform <> in our downstream repo. Currently every time we want to add/remove/update a cli, we must raise a PR upstream.

How I did it
I have the cisco-8000.py module import a list of click commands that are written in a module that is located in our platform code.

How to verify it
Run show platform -h to see all commands. We will be able to see show platform inventory. This is only available on cisco devices.
…n multiasic platform (sonic-net#2258)

What I did
Function stop_sonic_service() in /usr/local/bin/reboot script doesn't handle stopping the Asic syncd# on multiasic platform. Instead, it only stops the syncd on non-multiasic platform. When issue command "sudo reboot", the below message will be shown.

admin@sonic:~$ sudo reboot
Error: No such container: syncd
Fixes sonic-net/sonic-buildimage#11377

How I did it
Add code the stop_sonic_services() to check and get NUM_ASIC. If it is multiasic, looping all asics and call the syncd_request_shutdown for each asic.

How to verify it
Issue the "sudo reboot" on the multiasic platform, the error message "Error: No such container: syncd" should not be shown.
…common API (sonic-net#2268)

* swsscommon API was changed in order to return data from DB as a tuple instead of dictionary.
* In some places vnet_route_check still was expecting data from DB in old format - as a dictionary.
* But now it is a tuple, so as a result vnet_route_check was failing with "KeyError" exeption.
* These changes fixed all the places in vnet_route_check script that used invalid data format.

Signed-off-by: Volodymyr Samotiy <[email protected]>
…et#2280)

- What I did
To fix sonic-net/sonic-buildimage#9817. Cache all counters in the same place. Created a UserCache helper class to access the cache directory.

- How I did it
Implemented UserCache class. Changed all stats commands to use new class. Adopted fast-reboot script.

- How to verify it
Run on the switch and verify counters stats command and clear commands work correctly. After config reload or cold/fast reboot counters cache is removed.

Signed-off-by: Stepan Blyschak <[email protected]>
- What I did
Allow config interface command to allow mtu only for physical ports. This has been the behavior until sometime back where a change made broke this and allowed the MTU to be passed to orchagent through port table which results in crash.

May 13 12:04:12.494964 r-tigon-20 INFO swss#buffermgrd: :- handlePortTable: Port PortChannel101: MTU updated from to 1514
May 13 12:04:12.495984 r-tigon-20 ERR swss#orchagent: :- set: switch id oid:0x0 doesn't exist
May 13 12:04:12.495984 r-tigon-20 ERR swss#orchagent: :- setPortMtu: Failed to set MTU 1536 to port pid:0, rv:-5
May 13 12:04:12.495984 r-tigon-20 ERR swss#orchagent: :- handleSaiSetStatus: Encountered failure in set operation, exiting orchagent, SAI API: SAI_API_PORT, status: SAI_STATUS

- How I did it
Blocked MTU setting if the port is not physical port.

- How to verify it
Added UT to verify it
…t#2239)

Signed-off-by: Nazarii Hnydyn [email protected]

Propagating sonic-net#2220 with resolved review comments

What I did
Since PG counters are created only if they are configured in the switch, it is not enough to relay only on the first entry in the DB when building the output table of watermarkstat script.
We need to go over all configured counters, check what is the max configured, and build the table accordingly.

How I did it
Iterate all configured PG buffers for all ports and find the max index.
Build the output table according to the max index.

How to verify it
Run test "iface_namingmode/test_iface_namingmode.py" including this PR: sonic-net/sonic-swss#2143 and observe it passes.
What I did
Add one override-config-table testcase to verify empty table removal.

How I did it
Add the testcase to verify the removal.

How to verify it
Unit test.
* Fix db_migrator version for PORT_QOS_MAP|global
- What I did
Add checking for range for CRM interval

- How I did it
Add attribute click.IntRange(1, 9999) and UT to verify it (according to CRM HLD)

- How to verify it
Run UT
Manual testing: crm config polling interval 100000000 (receive error)

- Previous command output (if the output of a command-line utility has changed)
crm config polling interval 4566466
crm config polling interval --help
Usage: crm config polling interval [OPTIONS] INTERVAL

  CRM polling interval configuration

Options:
  --help  Show this message and exit.

- New command output (if the output of a command-line utility has changed)
crm config polling interval 4566466
Usage: crm config polling interval [OPTIONS] INTERVAL
Try "crm config polling interval --help" for help.

Error: Invalid value for "INTERVAL": 4566466 is not in the valid range of 1 to 9999.

crm config polling interval --help
Usage: crm config polling interval [OPTIONS] INTERVAL

  CRM polling interval configuration in seconds (range: 1-9999)

Options:
  --help  Show this message and exit.

Signed-off-by: Andriy Yurkiv <[email protected]>
… (sonic-net#2303)

What I did
Cherry-pick sonic-net#2154
Support to enable fips for the command sonic_installer
See sonic-net/SONiC#997

How I did it
sonic-installer set-fips  [--enable-fips|--disable-fips]
sonic-installer get-fips
HLD: sonic-net/SONiC#925

#### What I did
Add CLI support for link-trainig

#### How I did it
1. portconfig: initial support for link-training config
2. config/main.py: initial support for link-training config
3. intfutil: initial support for link-training show command
4. show/interfaces/__init__.py: initial support for link-training show command

#### How to verify it
1. Manual test
2. Ran the Unit-tests to the corresponding changes

#### Previous command output (if the output of a command-line utility has changed)

#### New command output (if the output of a command-line utility has changed)

```
admin@sonic:~$ sudo config interface link-training Ethernet0 on
admin@sonic:~$ sudo config interface link-training Ethernet8 on
admin@sonic:~$ sudo config interface link-training Ethernet16 off
admin@sonic:~$ sudo config interface link-training Ethernet24 on
admin@sonic:~$ sudo config interface link-training Ethernet32 off
admin@sonic:~$ show interfaces link-training status
  Interface      LT Oper    LT Admin    Oper    Admin
-----------  -----------  ----------  ------  -------
  Ethernet0      trained          on      up       up
  Ethernet8      trained          on      up       up
 Ethernet16          off         off    down       up
 Ethernet24  not trained          on    down       up
 Ethernet32          off         off    down       up
 Ethernet40          off           -    down       up
 Ethernet48          off           -    down       up
 Ethernet56          off           -    down       up
 Ethernet64          off           -    down       up
 Ethernet72          off           -    down       up
 Ethernet80          off           -    down       up
 Ethernet88          off           -    down       up
 Ethernet96          off           -    down       up
Ethernet104          off           -    down       up
Ethernet112          off           -    down       up
Ethernet120          off           -    down       up
Ethernet128          off           -    down       up
Ethernet136          off           -    down       up
Ethernet144          off           -    down       up
Ethernet152          off           -    down       up
Ethernet160          off           -    down       up
Ethernet168          off           -    down       up
Ethernet176          off           -    down       up
Ethernet184          off           -    down       up
Ethernet192          off           -    down       up
Ethernet200          off           -    down       up
Ethernet208          off           -    down       up
Ethernet216          off           -    down       up
Ethernet224          off           -    down       up
Ethernet232          off           -    down       up
Ethernet240          off           -    down       up
Ethernet248          off           -    down       up
admin@sonic:~$
```
* Update the presence state of RJ45 port

Present/Not present => Link Up/Link Down
Use the new platform API to test whether the port is an RJ45 port

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

* Use new platform API to check whether a port is RJ45 and represent present status accordingly

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

* Adjust sfputil and testcases

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

* Adjust sfpshow

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

* Exact is_rj45_port to a common module shared between sfpshow and intfutil

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

* Fall back to old way for checking RJ45 port

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

* Move RJ45 part to platform_sfputil_helper

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

* Remove fallback mechanism in is_rj45_port

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

* Remove get_child_ports which is not used

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

* Temporarily commit

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

* Update unit test

Signed-off-by: stephens <[email protected]>

* Adjust unit test

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

* Commit missed files

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

* Add missing files

Signed-off-by: stephens <[email protected]>

* Fix typo

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

* Remove code that was committed by mistake.

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

* Fix an issue: the ports should be in nature order in sfputil show presence

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

* Fix present state for RJ45: Link Up/Down => Port Up/Down

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

* LGTM warning supression

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

* LGTM warning supression

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

* Move present state part into another PR

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

* Fix review comments

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

Co-authored-by: stephens <[email protected]>
…fore configuring it to CONFIG_DB (sonic-net#2223)

* Support FEC capability

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

* Fix review comments

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

* Adjust dump table test according to STATE_DB change

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

* Add missing field in the test

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

* Do not change dump state test

Signed-off-by: Stephen Sun <[email protected]>
What I did
Fixes sonic-net/sonic-buildimage#11576

How I did it
Add a workaround to only compare config without backend service impact.

How to verify it
Manual test on specific platform and check operation success.
…nic-net#2297)

This PR provides a capability to sonic-utilities CLI to enable/disable telemetry for ycabled.
Basically there is a periodic loop for ycabled which posts telemetry data for that configured interval of time(currently 60 sec). This PR diables this data posting, and does not call platform API calls for ycable.
This PR is required for the initiative of getting some failover/switchover not get interfered because of sonic-telemetry API calls.
The CLI for enabling/disabling telemetry is
config muxcable telemetry enable/disable

What I did
How I did it
How to verify it
Previous command output (if the output of a command-line utility has changed)
New command output (if the output of a command-line utility has changed)
Dependent on sonic-net/sonic-platform-daemons#279 and submodule update

Signed-off-by: vaibhav-dahiya <[email protected]>
Fixes sonic-net/sonic-buildimage#11622

- What I did
Convert IPv6 addresses to lowercase in apply-patch for remove op

- How I did it
python regex on 'remove' op in JSON patch input file

- How to verify it
Manual test of created bug, Unit test
lolyu and others added 26 commits July 21, 2023 01:34
…onic-net#2840)

#### What I did
Add script `dualtor_neighbor_check.py` to verify the neighbor consistency
based on the mux state. It will have the following output:
```
NEIGHBOR       MAC                PORT        MUX_STATE    IN_MUX_TOGGLE    NEIGHBOR_IN_ASIC    TUNNERL_IN_ASIC    HWSTATUS
-------------  -----------------  ----------  -----------  ---------------  ------------------  -----------------  ----------
192.168.0.2    ee:86:d8:46:7d:01  Ethernet4   standby      False            no                  yes                consistent
192.168.0.3    86:73:c2:22:bf:02  Ethernet8   standby      False            no                  yes                consistent
192.168.0.24   56:a6:bf:c5:dd:17  Ethernet92  active       False            yes                 no                 consistent
192.168.0.25   3a:18:56:f5:02:18  Ethernet96  active       False            yes                 no                 consistent
192.168.0.100  00:00:00:00:00:00  N/A         N/A          N/A              no                  yes                consistent
```

Signed-off-by: Longxiang Lyu <[email protected]>

#### How I did it
the workflow of this scripts:
1. for non-zero-mac neighbors in `APPL_DB` `NEIGH_TABLE`, use the `ASIC_DB` fdb entries to find the mux port that it belongs to.
2. check if the neighbor is consistent with mux state:
    * if mux state is `active`, the neighbor is consistent only if the neighbor is present in `ASIC_DB` but no tunnel route.
    * if mux state is `standby`, the neighbor is consistent only if the tunnel route is present in `ASIC_DB`1 but no neighbor.
3. if there are any inconsistent neighbors and the mux port is currently in-toggle, the script will have a non-zero negative return, and will write error messages to logs.


#### How to verify it
UT and verify on testbed.

#### Previous command output (if the output of a command-line utility has changed)

#### New command output (if the output of a command-line utility has changed)
…om minigraph parser (sonic-net#2890) (sonic-net#2922)

MSFT ADO: 24419953

This is to fix a bug where warm upgrade from old image (eg. 20181130) to new image (eg. 202012) does not update docker_routing_config_mode to the new config expected the target OS.

For eg., in 201811 DEVICE_METADATA.localhost.docker_routing_config_mode is set to unified.
After upgrade to 202012 the value is not changed. However, the expectation in newer images is that the value is separated.

The move from unified to separated was done as part of an old change: sonic-net/sonic-buildimage#2961

However, migration logic was not updated since then. Because of this miss, cross-branch warm-upgrade from 201811 to 2020212 to 202305 to latest will always keep the setting as unified.

How I did it
Added a common migration logic: update docker_routing_config_mode to the value from minigraph parser.

How to verify it
Added a new unit test. Updated old unit tests.
…et#2918)

Handle corner case for multi-asics:
1. when golden config file is empty for multi-asic case
2. when config format is incorrect for multi-asics, e.g. localhost or namespace is missing in golden config db
…onic-net#2919)

What I did
MSFT ADO: 24598790

Why:
RESTAPI table has certs generated from minigraph parser.
The values in RESTAPI table (cert and key names) are dependent on how they are hardcoded in minigraph parser.
Current solution works on public repo, but breaks the internal build (different naming).

What:
Do not match values for RESTAPI attributes. The test still ensures that missing table and keys are migrated.

How I did it
How to verify it
…2879)

The `sonic-clear queuecounters` command does not currently clear VOQ
counters. Fix it and add a unit test to verify that the VOQ counters
were actually cleared.

The unit test changes required some updates to the VOQ counters tests,
because on an actual DUT the VOQ counter uses fully-qualified
interface names (dut|asic|port) whereas the queue counters just use
the port name. The unit tests had kept the names the same but this
meant that the saved counters for VOQ and non-VOQ counters would
overwrite each other when the counters were cleared during the unit
tests. Qualify the interface names used in the VOQ unit tests to avoid
this.
…_config_db (sonic-net#2946)

#### What I did
Fixes sonic-net/sonic-buildimage#16164

#### How I did it
In the multi-asic devices for eg: supervisor card of a chassis, the asics are not of its own -- it is the asic present in the fabric cards in the chassis. On then -- all the fabric cards need not be present in the chassis everytime.

In that case golden_config_db.json file generated by NDM ( based on the Subdevices in the minigraph ) will not have all ASICs -- it will be for the fabric cards present in the chassis  

With the current logic, if there is an asic namespace missing -- config load_minigraph will exit with error as in the Issue #sonic-net/sonic-buildimage#16164 and not restart dockers.

Add logic to check and continue if the "asic" namespace is not present in the golden_config_db.json for multi-asic platforms.

#### How to verify it
Verified on a SUP

```
admin@str2-xxxx-sup-1:~$ sudo config load_minigraph -y --override_config 
Disabling container monitoring ...
Stopping SONiC target ...
Running command: /usr/local/bin/sonic-cfggen -H -m -j /etc/sonic/init_cfg.json   --write-to-db
Running command: /usr/local/bin/sonic-cfggen -H -m -j /etc/sonic/init_cfg.json  -n asic0 --write-to-db
Running command: /usr/local/bin/sonic-cfggen -H -m -j /etc/sonic/init_cfg.json  -n asic1 --write-to-db
Running command: /usr/local/bin/sonic-cfggen -H -m -j /etc/sonic/init_cfg.json  -n asic2 --write-to-db
Running command: /usr/local/bin/sonic-cfggen -H -m -j /etc/sonic/init_cfg.json  -n asic3 --write-to-db
Running command: /usr/local/bin/sonic-cfggen -H -m -j /etc/sonic/init_cfg.json  -n asic4 --write-to-db
Running command: /usr/local/bin/sonic-cfggen -H -m -j /etc/sonic/init_cfg.json  -n asic5 --write-to-db
Running command: /usr/local/bin/sonic-cfggen -H -m -j /etc/sonic/init_cfg.json  -n asic6 --write-to-db
Running command: /usr/local/bin/sonic-cfggen -H -m -j /etc/sonic/init_cfg.json  -n asic7 --write-to-db
Running command: /usr/local/bin/sonic-cfggen -H -m -j /etc/sonic/init_cfg.json  -n asic8 --write-to-db
Running command: /usr/local/bin/sonic-cfggen -H -m -j /etc/sonic/init_cfg.json  -n asic9 --write-to-db
Running command: /usr/local/bin/sonic-cfggen -H -m -j /etc/sonic/init_cfg.json  -n asic10 --write-to-db
Running command: /usr/local/bin/sonic-cfggen -H -m -j /etc/sonic/init_cfg.json  -n asic11 --write-to-db
Running command: /usr/local/bin/sonic-cfggen -H -m -j /etc/sonic/init_cfg.json  -n asic12 --write-to-db
Running command: /usr/local/bin/sonic-cfggen -H -m -j /etc/sonic/init_cfg.json  -n asic13 --write-to-db
Running command: /usr/local/bin/sonic-cfggen -H -m -j /etc/sonic/init_cfg.json  -n asic14 --write-to-db
Running command: /usr/local/bin/sonic-cfggen -H -m -j /etc/sonic/init_cfg.json  -n asic15 --write-to-db
Running command: /usr/local/bin/sonic-cfggen -d -y /etc/sonic/sonic_version.yml -t /usr/share/sonic/templates/sonic-environment.j2,/etc/sonic/sonic-environment
Running command: config qos reload --no-dynamic-buffer --no-delay
Buffer definition template not found at /usr/share/sonic/device/x86_64-nokia_ixrxxxxe_sup-r0/Nokia-IXRxxxxE-SUP-10/0/buffers.json.j2
Buffer definition template not found at /usr/share/sonic/device/x86_64-nokia_ixrxxxxe_sup-r0/Nokia-IXRxxxxE-SUP-10/1/buffers.json.j2
Buffer definition template not found at /usr/share/sonic/device/x86_64-nokia_ixrxxxxe_sup-r0/Nokia-IXRxxxxE-SUP-10/2/buffers.json.j2
Buffer definition template not found at /usr/share/sonic/device/x86_64-nokia_ixrxxxxe_sup-r0/Nokia-IXRxxxxE-SUP-10/3/buffers.json.j2
Buffer definition template not found at /usr/share/sonic/device/x86_64-nokia_ixrxxxxe_sup-r0/Nokia-IXRxxxxE-SUP-10/4/buffers.json.j2
Buffer definition template not found at /usr/share/sonic/device/x86_64-nokia_ixrxxxxe_sup-r0/Nokia-IXRxxxxE-SUP-10/5/buffers.json.j2
Buffer definition template not found at /usr/share/sonic/device/x86_64-nokia_ixrxxxxe_sup-r0/Nokia-IXRxxxxE-SUP-10/6/buffers.json.j2
Buffer definition template not found at /usr/share/sonic/device/x86_64-nokia_ixrxxxxe_sup-r0/Nokia-IXRxxxxE-SUP-10/7/buffers.json.j2
Buffer definition template not found at /usr/share/sonic/device/x86_64-nokia_ixrxxxxe_sup-r0/Nokia-IXRxxxxE-SUP-10/8/buffers.json.j2
Buffer definition template not found at /usr/share/sonic/device/x86_64-nokia_ixrxxxxe_sup-r0/Nokia-IXRxxxxE-SUP-10/9/buffers.json.j2
Buffer definition template not found at /usr/share/sonic/device/x86_64-nokia_ixrxxxxe_sup-r0/Nokia-IXRxxxxE-SUP-10/10/buffers.json.j2
Buffer definition template not found at /usr/share/sonic/device/x86_64-nokia_ixrxxxxe_sup-r0/Nokia-IXRxxxxE-SUP-10/11/buffers.json.j2
Buffer definition template not found at /usr/share/sonic/device/x86_64-nokia_ixrxxxxe_sup-r0/Nokia-IXRxxxxE-SUP-10/12/buffers.json.j2
Buffer definition template not found at /usr/share/sonic/device/x86_64-nokia_ixrxxxxe_sup-r0/Nokia-IXRxxxxE-SUP-10/13/buffers.json.j2
Buffer definition template not found at /usr/share/sonic/device/x86_64-nokia_ixrxxxxe_sup-r0/Nokia-IXRxxxxE-SUP-10/14/buffers.json.j2
Buffer definition template not found at /usr/share/sonic/device/x86_64-nokia_ixrxxxxe_sup-r0/Nokia-IXRxxxxE-SUP-10/15/buffers.json.j2
Running command: pfcwd start_default
Running command: config override-config-table /etc/sonic/golden_config_db.json
Removing configDB overriden table first ...
Overriding input config to configDB ...
Overriding completed. No service is restarted.
Removing configDB overriden table first ...
Overriding input config to configDB ...
Overriding completed. No service is restarted.
Override config not present for asic1                                   <<<<<<<<<<<<<<<<<<<<<
Removing configDB overriden table first ...
Overriding input config to configDB ...
Overriding completed. No service is restarted.
Removing configDB overriden table first ...
Overriding input config to configDB ...
Overriding completed. No service is restarted.
Removing configDB overriden table first ...
Overriding input config to configDB ...
Overriding completed. No service is restarted.
Removing configDB overriden table first ...
Overriding input config to configDB ...
Overriding completed. No service is restarted.
Removing configDB overriden table first ...
Overriding input config to configDB ...
Overriding completed. No service is restarted.
Removing configDB overriden table first ...
Overriding input config to configDB ...
Overriding completed. No service is restarted.
Removing configDB overriden table first ...
Overriding input config to configDB ...
Overriding completed. No service is restarted.
Removing configDB overriden table first ...
Overriding input config to configDB ...
Overriding completed. No service is restarted.
Removing configDB overriden table first ...
Overriding input config to configDB ...
Overriding completed. No service is restarted.
Removing configDB overriden table first ...
Overriding input config to configDB ...
Overriding completed. No service is restarted.
Removing configDB overriden table first ...
Overriding input config to configDB ...
Overriding completed. No service is restarted.
Removing configDB overriden table first ...
Overriding input config to configDB ...
Overriding completed. No service is restarted.
Override config not present for asic14                          <<<<<<<<<<<<<<<<<<<<<
Override config not present for asic15                          <<<<<<<<<<<<<<<<<<<<<
Restarting SONiC target ...
Enabling container monitoring ...
Reloading Monit configuration ...
Reinitializing monit daemon

```
…le (cherry-pick to 202205) (sonic-net#2950)

* Add transceiver status CLI to show output from TRANSCEIVER_STATUS table (sonic-net#2772)

* Correct Command-Reference.md

* Use double quote
…lure (sonic-net#2897)

#### What I did

When a second techsupport instance starts while one is running, the message thrown before exiting is not very user friendly. Thus updating the message for it to make more sense.
What I did
Fixes sonic-net/sonic-buildimage#16012
The show acl table command currently get the ports from host config_db on multi asic platforms.
This host config_db will not the phyiscal ports in the binding ports because the host doesnt have any front panel ports on the host. This causes the show acl table not to display the phyiscal ports in the output on multi asic devices/linecards.

The test iface_namingmode/test_iface_namingmode.py::test_show_acl_table fails because of this issue.
…2961)

* Remove SFP index usage in generating list of SFP hw error

* Consider case with multiple logical port map to same physical port

* Added test case
…grate (sonic-net#2973)

What I did
When we migrate package via sonic-package-manager in some low-performance device, getting docker image from old image via docker socket may timeout by default timeout setting (60s) client.py. This PR is to increase timeout to 120s.

How I did it
Increase docker client timeout from 60s to 120s.

How to verify it
ut passed.
Build image with INCLUDE_MACSEC, and install it, macsec image was not include. And the build image with this PR, install it. Migrate package successfully.

Signed-off-by: Yaqiang Zhu <[email protected]>
…onic-net#2985)

* Handle NotImplementedError exception while changing optoe write max

Signed-off-by: Mihir Patel <[email protected]>

* Added unit test for more coverage

* Removed unused import

---------

Signed-off-by: Mihir Patel <[email protected]>
…tom ACL table types (sonic-net#3003)

* [acl-loader] Identity ICMP v4/v6 based on IP_PROTOCOL for custom ACL table types (sonic-net#2994)

What is the motivation for this PR?
When adding ICMPv6 ACL rules in custom ACL table type, current acl-loader will incorrectly treat the ACL table as IPv4. I open this PR to fix this bug and let acl-loader identify ICMP v4 or v6 based on IP_PROTOCOL.
Also fixed some typo in UT of acl-loader to avoid confusion.

How did you do it?
In function convert_icmp, add one step to identify the rule is v4 or v6 based on IP_PROTOCOL.

How did you verify/test it?
Verified by UT.

Signed-off-by: Zhijian Li <[email protected]>

* update

---------

Signed-off-by: Zhijian Li <[email protected]>
)

* [dualtor_neighbor_check] Adjust zero-mac check condition
…-net#3051)

Cherry-pick PR sonic-net#2692 (set up test infrastructure used in later PR 2857), sonic-net#2857 (platform validator PR), sonic-net#2913 (edge case fix), sonic-net#2951, sonic-net#3018 (add support for new Mellanox HwSKU in conf file)
This change stops GCU from modifying a protected RDMA field.

Signed-off-by: Stephen Sun <[email protected]>
Co-authored-by: Stephen Sun <[email protected]>
…2463)

* Fix port breakout issue

* Address comments

* fix LGTM alerts
…led (sonic-net#3127)

The current 202205 branch build of sonic-swss-common has failing test
cases. This is blocking sonic-utilities, since this is the only build
available in that branch.

Allow using that build even though tests are failing, to unblock PRs in
this repo.

Signed-off-by: Saikrishna Arcot <[email protected]>
…3031) (sonic-net#3126)

What I did
Missing platform and mac in CONFIG_DB will result in container failure. We should make the config reload generate those info if missing.

How I did it
Add missing sys info if config_db.json doesn't contain it.

How to verify it
Unit test
… in config_db (sonic-net#2847) (sonic-net#3123)

Fixed issue: out of range sflow polling interval is accepted and stored in config_db.

Reproduce step:
```
1. Enable sflow feature:   config feature state sflow enabled
2. Enable sflow itself:   config sflow enable
3. Configure out of range polling interval:  config sflow polling-interval 1. Error message is shown as expected
4. Save config:    config save -y
5. Check "SFLOW" section inside config_db
```

As the interval is invalid, the expected behavior is that the interval is not saved to redis. But we see the invalid value was written to redis.

Change `click.echo` to `ctx.fail`

1. Manual test
2. Add a check in existing unit test case to cover the change

Co-authored-by: Junchao-Mellanox <[email protected]>
* Add teamd retry count script to 202205 image

This backports a part of sonic-net#3069 to allow upgrading from 202205 to 202305
with the teamd retry count feature.

Signed-off-by: Saikrishna Arcot <[email protected]>
…en urllib3 and requests packages (sonic-net#3328) (sonic-net#3355)

Co-authored-by: Oleksandr Ivantsiv <[email protected]>
…atchdog arm before the reboot (sonic-net#3203)

Signed-off-by: vadymhlushko-mlnx <[email protected]>
- What I did
Add back the support to call reboot -f
The support for this option was accidentally removed as part of this PR sonic-net#3203
The same PR for 202311 doesn't have this mistake - sonic-net#3204

- How I did it

- How to verify it
Call reboot -f

Signed-off-by: Jianyue Wu <[email protected]>
@mssonicbld
Copy link
Collaborator

/azp run

@azure-pipelines
Copy link

Pull request contains merge conflicts.

@linux-foundation-easycla
Copy link

linux-foundation-easycla bot commented Feb 8, 2025

CLA Not Signed

@jianyuewu jianyuewu closed this Feb 8, 2025
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.