Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Mellanox] Fix issue: watchdogutil command does not work (#16091) - Why I did it watchdogutil uses platform API watchdog instance to control/query watchdog status. In Nvidia watchdog status, it caches "armed" status in a object member "WatchdogImplBase.armed". This is not working for CLI infrastructure because each CLI will create a new watchdog instance, the status cached in previous instance will totally lose. Consider following commands: admin@sonic:~$ sudo watchdogutil arm -s 100 =====> watchdog instance1, armed=True Watchdog armed for 100 seconds admin@sonic:~$ sudo watchdogutil status ======> watchdog instance2, armed=False Status: Unarmed admin@sonic:~$ sudo watchdogutil disarm =======> watchdog instance3, armed=False Failed to disarm Watchdog - How I did it Use sysfs to query watchdog status - How to verify it Manual test Unit test Conflicts: platform/mellanox/mlnx-platform-api/sonic_platform/watchdog.py platform/mellanox/mlnx-platform-api/tests/test_watchdog.py #189

Closed
wants to merge 1 commit into from

Commits on Aug 24, 2023

  1. [Mellanox] Fix issue: watchdogutil command does not work (sonic-net#1…

    …6091)
    
    - Why I did it
    watchdogutil uses platform API watchdog instance to control/query watchdog status. In Nvidia watchdog status, it caches "armed" status in a object member "WatchdogImplBase.armed". This is not working for CLI infrastructure because each CLI will create a new watchdog instance, the status cached in previous instance will totally lose. Consider following commands:
    
    admin@sonic:~$ sudo watchdogutil arm -s 100      =====> watchdog instance1, armed=True
    Watchdog armed for 100 seconds
    admin@sonic:~$ sudo watchdogutil status             ======> watchdog instance2, armed=False
    Status: Unarmed
    admin@sonic:~$ sudo watchdogutil disarm            =======> watchdog instance3, armed=False
    Failed to disarm Watchdog
    
    - How I did it
    Use sysfs to query watchdog status
    
    - How to verify it
    Manual test
    Unit test
    Conflicts:
    	platform/mellanox/mlnx-platform-api/sonic_platform/watchdog.py
    	platform/mellanox/mlnx-platform-api/tests/test_watchdog.py
    Junchao-Mellanox committed Aug 24, 2023
    Configuration menu
    Copy the full SHA
    b83e462 View commit details
    Browse the repository at this point in the history