Skip to content

[SONiC Application Extension] support warm/fast reboot for extension packages#29

Closed
stepanblyschak wants to merge 31 commits intomasterfrom
sae_p2_warm
Closed

[SONiC Application Extension] support warm/fast reboot for extension packages#29
stepanblyschak wants to merge 31 commits intomasterfrom
sae_p2_warm

Conversation

@stepanblyschak
Copy link
Owner

@stepanblyschak stepanblyschak commented Mar 30, 2021

Why I did it

I made this change to support warm/fast reboot for SONiC extension packages as per HLD sonic-net/SONiC#682.

How I did it

I extended manifest.json.j2 with new warm/fast reboot related fields and also extended sonic_debian_extension.j2 script template to generate the shutdown order files for warm and fast reboot.

How to verify it

There is an open example extension I pushed to Docker Hub stepanblischak/cpu-report:warm.
It can be installed on the switch:

admin@sonic:~$ sudo sonic-package-manager show package manifest --from-repository stepanblischak/cpu-report:warm | grep warm -A 6
        "warm-shutdown": {
            "after": [
                "swss"
            ],
            "before": [
                "syncd"
            ]
admin@sonic;~$ sudo sonic-package-manager install --from-repository stepanblischak/cpu-report:warm -y -v DEBUG

Then perform warm-reboot and observe that cpu-report is stopped at the right place in shutdown sequence:

admin@sonic:~$ sudo warm-reboot -v
sudo warm-reboot -v
Wed 31 Mar 2021 12:54:10 PM UTC Saving counters folder before warmboot...
Wed 31 Mar 2021 12:54:13 PM UTC Prepare MLNX ASIC to fastfast-reboot: install new FW if required
Wed 31 Mar 2021 12:54:15 PM UTC Pausing orchagent ...
Wed 31 Mar 2021 12:54:15 PM UTC Collecting logs to check ssd health before fastfast-reboot...
Wed 31 Mar 2021 12:54:15 PM UTC Stopping lldp ...
Wed 31 Mar 2021 12:54:17 PM UTC Stopped lldp
Wed 31 Mar 2021 12:54:17 PM UTC Stopping nat ...
Dumping conntrack entries failed
Wed 31 Mar 2021 12:54:18 PM UTC Stopped nat
Wed 31 Mar 2021 12:54:18 PM UTC Stopping radv ...
Wed 31 Mar 2021 12:54:18 PM UTC Stopped radv
Wed 31 Mar 2021 12:54:18 PM UTC Stopping sflow ...
Wed 31 Mar 2021 12:54:18 PM UTC Stopped sflow
Wed 31 Mar 2021 12:54:18 PM UTC Stopping bgp ...
Wed 31 Mar 2021 12:54:22 PM UTC Stopped bgp
Wed 31 Mar 2021 12:54:22 PM UTC Stopping swss ...
Wed 31 Mar 2021 12:54:31 PM UTC Stopped swss
Wed 31 Mar 2021 12:54:31 PM UTC Initialize pre-shutdown ...
Wed 31 Mar 2021 12:54:31 PM UTC Requesting pre-shutdown ...
Wed 31 Mar 2021 12:54:32 PM UTC Waiting for pre-shutdown ...
Wed 31 Mar 2021 12:54:41 PM UTC Pre-shutdown succeeded, state: pre-shutdown-succeeded ...
Wed 31 Mar 2021 12:54:41 PM UTC Backing up database ...
Wed 31 Mar 2021 12:54:41 PM UTC Stopping cpu-report...
Wed 31 Mar 2021 12:54:41 PM UTC Stopped cpu-report
Wed 31 Mar 2021 12:54:41 PM UTC Stopping teamd ...
Wed 31 Mar 2021 12:54:48 PM UTC Stopped teamd
Wed 31 Mar 2021 12:54:48 PM UTC Stopping syncd ...
Wed 31 Mar 2021 12:54:51 PM UTC Stopped syncd
Wed 31 Mar 2021 12:54:51 PM UTC Stopping all remaining containers ...
Wed 31 Mar 2021 12:54:53 PM UTC Stopped all remaining containers ...
Wed 31 Mar 2021 12:54:55 PM UTC Enabling Watchdog before fastfast-reboot
Watchdog armed for 180 seconds
Wed 31 Mar 2021 12:54:56 PM UTC Rebooting with /sbin/kexec -e to SONiC-OS-master.0-ae9ccf39 ...

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

  • 201811
  • 201911
  • 202006
  • 202012

Description for the changelog

Support warm/fast reboot for SONiC extension packages

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

stepanblyschak and others added 30 commits November 16, 2020 22:27
Previously all docker images built into SONiC binary were tagged with
SONiC version string. With the introduction of container upgrades and
SONiC extension framework all docker images should have their own
version numbers that do not relate with SONiC version. All dockers are
tagged with version 1.0.0 in this PR. Whenever changes are introduced to
a docker image that require a version change, the docker image
maintainer should update the version number.

Signed-off-by: Stepan Blyschak <stepanb@nvidia.com>
Previously all docker images built into SONiC binary were tagged with
SONiC version string. With the introduction of container upgrades and
SONiC extension framework all docker images should have their own
version numbers that do not relate with SONiC version. All dockers are
tagged with version 1.0.0 in this PR. Whenever changes are introduced to
a docker image that require a version change, the docker image
maintainer should update the version number.

Signed-off-by: Stepan Blyschak <stepanb@nvidia.com>
Signed-off-by: Stepan Blyshchak <stepanb@nvidia.com>
Signed-off-by: Stepan Blyshchak <stepanb@nvidia.com>
Signed-off-by: Stepan Blyshchak <stepanb@nvidia.com>
…rs_manifest

Signed-off-by: Stepan Blyshchak <stepanb@nvidia.com>
…rs_version_tags

Signed-off-by: Stepan Blyshchak <stepanb@nvidia.com>
…rs_manifest

Signed-off-by: Stepan Blyshchak <stepanb@nvidia.com>
Signed-off-by: Stepan Blyshchak <stepanb@nvidia.com>
Signed-off-by: Stepan Blyshchak <stepanb@nvidia.com>
…c-buildimage into dockers_manifest

Signed-off-by: Stepan Blyshchak <stepanb@nvidia.com>
Signed-off-by: Stepan Blyshchak <stepanb@nvidia.com>
Signed-off-by: Stepan Blyshchak <stepanb@nvidia.com>
Signed-off-by: Stepan Blyshchak <stepanb@nvidia.com>
Signed-off-by: Stepan Blyschak <stepanb@nvidia.com>
Signed-off-by: Stepan Blyschak <stepanb@nvidia.com>
Signed-off-by: Stepan Blyshchak <stepanb@nvidia.com>
…rs_manifest

Signed-off-by: Stepan Blyschak <stepanb@nvidia.com>
Signed-off-by: Stepan Blyschak <stepanb@nvidia.com>
Signed-off-by: Stepan Blyschak <stepanb@nvidia.com>
Signed-off-by: Stepan Blyschak <stepanb@nvidia.com>
Signed-off-by: Stepan Blyschak <stepanb@nvidia.com>
…ildimage into dockers_manifest

Signed-off-by: Stepan Blyschak <stepanb@nvidia.com>
Signed-off-by: Stepan Blyschak <stepanb@nvidia.com>
Signed-off-by: Stepan Blyschak <stepanb@nvidia.com>
@stepanblyschak stepanblyschak changed the title Sae p2 warm [SONiC Application Extension] support warm/fast reboot for extension packages Mar 31, 2021
@stepanblyschak stepanblyschak changed the base branch from dockers_manifest to master April 2, 2021 10:43
stepanblyschak pushed a commit that referenced this pull request Apr 2, 2021
* 3b330db4a 2021-01-18 | [build]: Fix build error when compiling for armhf (32-bit) (#30) (HEAD, origin/master, origin/HEAD, master) [dflynn-Nokia]
* 56aaa225b 2021-01-16 | [ci]: add pipeline for armhf and arm64 (#29) [lguohan]
* 90da6141c 2021-01-12 | [ci]: propagate the correct error code the next step (#27) [lguohan]

Signed-off-by: Guohan Lu <lguohan@gmail.com>
stepanblyschak pushed a commit that referenced this pull request Jun 30, 2021
Advance submodule update with the following changes:
4475750 Config reload fix (#29)
cf60d5e [ci]: add proper azp (#26)
f0fbfe7 [CI] Set up CI with Azure Pipelines (#25)
879d7bd Include port default fec configuration to be included in ZTP configuration (#24)
a6ae955 Add a pre-defined plugin to download a list of files (#23)
6f0305b [MultiDB] Add multidb support to sonic-ztp (#16)
stepanblyschak pushed a commit that referenced this pull request Jan 25, 2023


advance dhcp relay for 202211

4bf1868 - (HEAD, origin/master, origin/HEAD, master) fix relay-reply dhcpv6 packet counter issue (add support for a7050 qx32 platform #29) (2 weeks ago) [jcaiMR]
9b30690 - fix handleSwssNotification crash in dhcp6relay (Add libnl-nf-3-200 to docker-team #28) (4 weeks ago) [jcaiMR]
047afb7 - Fix multiple vlan issue (Failure trying to run: chroot /sonic-buildimage/fsroot mount -t proc proc /proc #27) (4 weeks ago) [jcaiMR]
ff6bec3 - Made the Error log informative (add python-tenjin as build dependency for p4-switch #22) (5 weeks ago) [Vivek]
2fbe729 - disable cfg dynamic change (p4: fix build dependency for python-p4c-bm #25) (6 weeks ago) [jcaiMR]
13d0805 - Use github code scanning instead of LGTM (Removed sx-libnl from Mellanox containers dependencies. #26) (6 weeks ago) [Liu Shilong]
1e846f6 - Fix packet range check for relay-reply packets (update sonic-swss and p4-switch submodule to fix docker sonic p4 bug #21) (7 weeks ago) [kellyyeh]
4d19e13 - Add unittest infrastructure (Cavium customization for docker containers #5) (8 weeks ago) [kellyyeh]
7f4fdab - fix packet range check issue (Makefile: add build dependency for python-p4c-bm #20) (9 weeks ago) [jcaiMR]
257ecdf - Add client packet UDP header length check (change port_config.ini directory for s6000 #19) (2 months ago) [kellyyeh]
stepanblyschak pushed a commit that referenced this pull request Feb 1, 2023
Update dhcprelay submodule to include the following commits
4bf1868 fix relay-reply dhcpv6 packet counter issue (#29)
stepanblyschak pushed a commit that referenced this pull request Feb 13, 2023
Why I did it
Advance sonic-dhcp-relay submodule head on 202012 branch

How I did it
Added the following commits:
a4b15d8 jcaiMR Thu Dec 29 14:18:28 2022 +0800 fix relay-reply dhcpv6 packet counter issue (#29)
677543f jcaiMR Sat Dec 17 00:24:32 2022 +0800 fix handleSwssNotification crash in dhcp6relay (#28)
ed86546 jcaiMR Wed Dec 14 14:08:58 2022 +0800 Fix multiple vlan issue (#27)
5ec1f5b Vivek Thu Dec 8 09:44:15 2022 -0800 Made the Error log informative (#22)
063d41b jcaiMR Wed Nov 30 14:41:53 2022 +0800 disable cfg dynamic change (#25)
d4a51f6 kellyyeh Tue Jan 31 18:09:08 2023 -0800 Add unittest infrastructure (#5) (#31)

How to verify it
Ran full dhcpv6 test suite on lab device
stepanblyschak pushed a commit that referenced this pull request May 20, 2025
…tomatically (sonic-net#800)

#### Why I did it
src/sonic-linux-kernel
```
* a1e9e0d - (HEAD -> 202412, origin/HEAD, origin/202412) [code sync] Merge code from sonic-net/sonic-linux-kernel:202411 to 202412 (#29) (21 hours ago) [mssonicbld]
```
#### How I did it
#### How to verify it
#### Description for the changelog
stepanblyschak pushed a commit that referenced this pull request May 20, 2025
…omatically (sonic-net#828)

#### Why I did it
src/sonic-swss-common
```
* 3c72691 - (HEAD -> 202412, origin/HEAD, origin/202412) [FC] remove FLEX_COUNTER_DELAY_STATUS_FIELD (sonic-net#982) (#29) (23 hours ago) [mssonicbld]
```
#### How I did it
#### How to verify it
#### Description for the changelog
stepanblyschak pushed a commit that referenced this pull request Oct 1, 2025
…#23531)

Why I did it
Cherry-pick PR sonic-net#22849 to update the Nokia PMON submodule
Update Nokia sonic-platform submodule which includes the commits in branch 202405 and 202503.
Include commits:
05abbf6 [IXR7220-D4] Add port leds functionality
d4f4e4d Update Fan Drawer index in cpld and fix fan target speed
4800083 [mackinac] warnings in general build
c5b3a14 [mackinac] adding prom programming spidev; incidental c++ changes without functional impact
fb37c5a [mackinac] working drivers, pcon, sets devices
0c56adf [x3b]Change access permissions for syseeprom
30cbed3 Using PcieUtil utility to check PCIE status
2b41e41 [x1b] modprobe.d/cpuctl.conf
f234d5a [x3b] wait for pcon driver sysfs ready
054d682 [x3b]Fix PSU status check issue (#31)
f6cb50e [X1b] Add support for Nokia X1b platform (#30)
921f9dd Adds CI to build the debian (#29)
7728ef2 [x4][x1b] consolidating shared cpuctl.ko source code from working x3b version
9f73cf4 Fix the reboot-cause fro upgrading from MFG image
7e057f9 [x3b]Update PSU code to adapt the I2C driver modification
c64aba4 Fixed Watchdog and Others reboot-cause
39215bf moving platform_init script output into journal/syslog
4755411 [x3b] combined write/read
3a13b63 Adding bridge code for x3b x1b x4
53a0696 [x3b]Update fan module and thermal algorithm
8052488 [x3b] adds spi bus
0aac79f [x3b]Fix and update fan and thermal modules
169e0d8 Fix reboot-cause for Kernel Panic when kudmp is enabled
dd003e1 [IXR7220-D4] FW Upgrades Support
e143b5f Revert "Reduce traffic loss when the IMM reboots ungracefully"
f7eec2c Revert "Add dependency for IMM ungracefyl reboot service"
b345006 [Chassis] Conditionalize stuffing QFPGA into reset based on kernel AER setting
4652166 [Chassis] Delete FP ports shutdown at LC ungraceful reset time

Work item tracking
Microsoft ADO (number only):
How I did it
Update Nokia sonic-platform submodule which includes the commits in branch 202405 and 202503.
Include commits:
05abbf6 [IXR7220-D4] Add port leds functionality
d4f4e4d Update Fan Drawer index in cpld and fix fan target speed
4800083 [mackinac] warnings in general build
c5b3a14 [mackinac] adding prom programming spidev; incidental c++ changes without functional impact
fb37c5a [mackinac] working drivers, pcon, sets devices
0c56adf [x3b]Change access permissions for syseeprom
30cbed3 Using PcieUtil utility to check PCIE status
2b41e41 [x1b] modprobe.d/cpuctl.conf
f234d5a [x3b] wait for pcon driver sysfs ready
054d682 [x3b]Fix PSU status check issue (#31)
f6cb50e [X1b] Add support for Nokia X1b platform (#30)
921f9dd Adds CI to build the debian (#29)
7728ef2 [x4][x1b] consolidating shared cpuctl.ko source code from working x3b version
9f73cf4 Fix the reboot-cause fro upgrading from MFG image
7e057f9 [x3b]Update PSU code to adapt the I2C driver modification
c64aba4 Fixed Watchdog and Others reboot-cause
39215bf moving platform_init script output into journal/syslog
4755411 [x3b] combined write/read
3a13b63 Adding bridge code for x3b x1b x4
53a0696 [x3b]Update fan module and thermal algorithm
8052488 [x3b] adds spi bus
0aac79f [x3b]Fix and update fan and thermal modules
169e0d8 Fix reboot-cause for Kernel Panic when kudmp is enabled
dd003e1 [IXR7220-D4] FW Upgrades Support
e143b5f Revert "Reduce traffic loss when the IMM reboots ungracefully"
f7eec2c Revert "Add dependency for IMM ungracefyl reboot service"
b345006 [Chassis] Conditionalize stuffing QFPGA into reset based on kernel AER setting
4652166 [Chassis] Delete FP ports shutdown at LC ungraceful reset time

Signed-off-by: mlok <marty.lok@nokia.com>
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.

2 participants