Skip to content

watchdogd v3.0

Compare
Choose a tag to compare
@troglobit troglobit released this 10 Feb 14:56
· 296 commits to master since this release

This release includes major changes to both the build system and the watchdogd command line interface, making it incompatible with previous versions. Therefore the major version number has been bumped.

Application writes can now ask pkg-config for CFLAGS and LIBS to use the process supervisor interface in libwdog.so

Reset cause is now queried and saved in /var/lib/watchdogd.state at boot. Use the new watchdogctl tool to interact with and query status from the daemon.

A configuration file, /etc/watchdogd.conf, with many more options for the health monitor plugins, the process supervisor, and the reset cause.

Changes

  • A configuration file, /etc/watchdogd.conf, has been added
  • A new tool, watchdogctl, to interact with daemon has been added
  • New official Watch Dog Detective logo, courtesy of Ron Leishman, licensed for use with the watchdogd project
  • New or updated manual pages for daemon, ctrl tool, and the .conf file
  • Health monitor plugins now support running external script instead of default reboot action
  • Health monitor plugins no longer need critical/reboot level set, only warning is required to enable a monitor
  • Completely overhauled watchdogd command line options and arguments. Some options in previous releases were not options but optional arguments, while others were useless options for a daemon:
    • Watchdog device node is now an argument not a -d option
    • No more --logfile=FILE option, redirect stderr instead
    • -n now prevents the daemon from forking to the background
    • -f is now used by the --config file option
    • When running in the foreground, output syslog also to stderr, unless the -s, or --syslog, option is given
    • -l, --loglevel replaces --verbose option
    • Use BusyBox options -T and -t for WDT timeout and kick, this replaces the previous -w and -k options
  • No more support for attaching an external supervisor process using SIGUSR1 and SIGUSR2
  • Conversion to GNU Configure and Build system
  • Native support for building Debian packages
  • Default install prefix changed, from /usr/local to /
  • Added pkg-config support to libwdog
  • Save reset cause in /var/lib/watchdogd.state, by default disabled enable with the .conf file
  • Possible to disble default reset cause backend and plug in your own. See src/rc.h for the API required of your own backend
  • Updates to libwdog API, including a compatiblity mode for current customer(s) using watchdogd 2.0 with a supervisor patch
  • Added libwdog example clients
  • Added customer specific compat /var/run/supervisor.status
  • Support for delayed reboot in user API, wdog_reset_timeout()
  • Fully integrated with Finit, PID 1. Both reboot(1) and reset via watchdogd, e.g. watchdogctl reset, is delegated via Finit to properly shut down the system, sync and unmount all file systems before delegating the actual reset to the WDT.