############################## TEST CASE 1 Previous Image ############################## SONiC.HEAD.54-b62e120c root@sonic:~# show reboot-cause Unknown reboot cause root@sonic:~# root@sonic:~# ls -l /host/reboot-cause/ total 8 -rw-r--r-- 1 root root 21 Dec 17 14:42 previous-reboot-cause.txt -rw-r--r-- 1 root root 18 Dec 17 14:42 reboot-cause.txt root@sonic:~# root@sonic:/sys/devices/platform/SMF.512/hwmon/hwmon*# ls -l mb_poweron_reason ls: cannot access 'mb_poweron_reason': No such file or directory root@sonic:/sys/devices/platform/SMF.512/hwmon/hwmon*# ############################## TEST CASE 2 PowerCycle from old_image to image_with_fix ############################## root@sonic:~# show reboot-cause Power Loss root@sonic:~# root@sonic:~# cat /sys/devices/platform/SMF.512/hwmon/hwmon*/mb_poweron_reason 0xbb root@sonic:~# root@sonic:~# cat /host/reboot-cause/platform/reboot_reason None root@sonic:~# ############################## TEST CASE 3 Upgrade from old_image to image_with_fix ############################## root@sonic:~# root@sonic:~# show reboot-cause User issued 'reboot' command [User: admin, Time: Tue Dec 17 14:55:10 UTC 2019] root@sonic:~# root@sonic:~# cat /sys/devices/platform/SMF.512/hwmon/hwmon*/mb_poweron_reason 0xaa root@sonic:~# root@sonic:~# cat /host/reboot-cause/platform/reboot_reason None root@sonic:~# ############################## TEST CASE 4 Watchdog ############################## root@sonic:~# python Python 2.7.13 (default, Sep 26 2018, 18:42:22) [GCC 6.3.0 20170516] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> from sonic_platform.watchdog import Watchdog >>> wd = Watchdog() >>> wd.arm(30) 30 >>> root@sonic:~# show reboot-cause Watchdog root@sonic:~# root@sonic:~# cat /sys/devices/platform/SMF.512/hwmon/hwmon*/mb_poweron_reason 0xdd root@sonic:~# root@sonic:~# cat /host/reboot-cause/platform/reboot_reason None root@sonic:~# root@sonic:~# python Python 2.7.13 (default, Sep 26 2018, 18:42:22) [GCC 6.3.0 20170516] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> from sonic_platform.chassis import Chassis >>> c = Chassis() >>> c.get_reboot_cause() ('Watchdog', None) >>> ############################## TEST CASE 5 Watchdog one more time ############################## root@sonic:~# python Python 2.7.13 (default, Sep 26 2018, 18:42:22) [GCC 6.3.0 20170516] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> from sonic_platform.watchdog import Watchdog >>> w = Watchdog() >>> w.arm(30) 30 >>> root@sonic:~# show reboot-cause Watchdog root@sonic:~# root@sonic:~# cat /sys/devices/platform/SMF.512/hwmon/hwmon*/mb_poweron_reason 0xdd root@sonic:~# root@sonic:~# cat /host/reboot-cause/platform/reboot_reason None root@sonic:~# root@sonic:~# python Python 2.7.13 (default, Sep 26 2018, 18:42:22) [GCC 6.3.0 20170516] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> from sonic_platform.chassis import Chassis >>> ch = Chassis() >>> ch.get_reboot_cause() ('Watchdog', None) >>> ############################## TEST CASE 6 Fast reboot ############################## root@sonic:~# show reboot-cause User issued 'fast-reboot' command [User: admin, Time: Tue Dec 17 15:41:05 UTC 2019] root@sonic:~# root@sonic:~# cat /sys/devices/platform/SMF.512/hwmon/hwmon*/mb_poweron_reason 0xaa root@sonic:~# root@sonic:~# cat /host/reboot-cause/platform/reboot_reason None root@sonic:~# root@sonic:~# python Python 2.7.13 (default, Sep 26 2018, 18:42:22) [GCC 6.3.0 20170516] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> from sonic_platform.chassis import Chassis >>> ch = Chassis() >>> ch.get_reboot_cause() ('Non-Hardware', None) >>> ############################## TEST CASE 7 Warm reboot ############################## root@sonic:~# show reboot-cause User issued 'warm-reboot' command [User: admin, Time: Tue Dec 17 16:03:24 UTC 2019] root@sonic:~# root@sonic:~# cat /sys/devices/platform/SMF.512/hwmon/hwmon*/mb_poweron_reason 0xaa root@sonic:~# root@sonic:~# cat /host/reboot-cause/platform/reboot_reason None root@sonic:~# root@sonic:~# python Python 2.7.13 (default, Sep 26 2018, 18:42:22) [GCC 6.3.0 20170516] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> from sonic_platform.chassis import Chassis >>> c = Chassis() >>> c.get_reboot_cause() ('Non-Hardware', None) >>> ############################## TEST CASE 8 Thermal ############################## root@sonic:~# show reboot-cause Thermal Overload: ASIC root@sonic:~# root@sonic:~# cat /sys/devices/platform/SMF.512/hwmon/hwmon*/mb_poweron_reason 0xee root@sonic:~# root@sonic:~# cat /host/reboot-cause/platform/reboot_reason 33 root@sonic:~# root@sonic:~# python Python 2.7.13 (default, Sep 26 2018, 18:42:22) [GCC 6.3.0 20170516] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> from sonic_platform.chassis import Chassis >>> c = Chassis() >>> c.get_reboot_cause() ('Thermal Overload: ASIC', None) >>> ############################## TEST CASE 9 Subsequent Thermal ############################## root@sonic:~# show reboot-cause Unknown POR: 33 RST: 11 MBR: 0xee root@sonic:~# root@sonic:~# cat /sys/devices/platform/SMF.512/hwmon/hwmon*/mb_poweron_reason 0x99 root@sonic:~# root@sonic:~# cat /host/reboot-cause/platform/reboot_reason 33 root@sonic:~# ############################## TEST CASE 10 PowerCycle ############################## root@sonic:~# show reboot-cause Power Loss root@sonic:~# root@sonic:~# cat /sys/devices/platform/SMF.512/hwmon/hwmon*/mb_poweron_reason 0xbb root@sonic:~# root@sonic:~# cat /host/reboot-cause/platform/reboot_reason None root@sonic:~# root@sonic:~# python Python 2.7.13 (default, Sep 26 2018, 18:42:22) [GCC 6.3.0 20170516] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> from sonic_platform.chassis import Chassis >>> c = Chassis() >>> c.get_reboot_cause() ('Power Loss', None) >>> ############################## TEST CASE 11 Reboot ############################## root@sonic:~# show reboot-cause User issued 'reboot' command [User: admin, Time: Tue Dec 17 16:19:36 UTC 2019] root@sonic:~# root@sonic:~# cat /sys/devices/platform/SMF.512/hwmon/hwmon*/mb_poweron_reason 0xaa root@sonic:~# root@sonic:~# cat /host/reboot-cause/platform/reboot_reason None root@sonic:~# root@sonic:~# python Python 2.7.13 (default, Sep 26 2018, 18:42:22) [GCC 6.3.0 20170516] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> from sonic_platform.chassis import Chassis >>> c = Chassis() >>> c.get_reboot_cause() ('Non-Hardware', None) >>> ############################## TEST CASE 12 Kernel panic ############################## root@sonic:~# show reboot-cause Unknown software reboot root@sonic:~# root@sonic:~# cat /sys/devices/platform/SMF.512/hwmon/hwmon*/mb_poweron_reason 0x99 root@sonic:~# root@sonic:~# cat /host/reboot-cause/platform/reboot_reason None root@sonic:~# root@sonic:~# python Python 2.7.13 (default, Sep 26 2018, 18:42:22) [GCC 6.3.0 20170516] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> from sonic_platform.chassis import Chassis >>> c = Chassis() >>> c.get_reboot_cause() ('Non-Hardware', None) >>>