watchdog
Table of Contents
Description
This module manages a hardware watchdog. This is usually implemented as a kernel device and optionally a userspace process to periodically reset the device to prevent it rebooting the machine.
This module ensures that the watchdog is enabled and configured to reset the machine if it has not been reset after the specified period. If a userspace process is required to reset the watchdog then this will be configured to run periodically.
Setup
Setup Requirements
This module assumes that the appropriate hardware device is already configured and accessible. This could be as simple as loading a kernel module or as complex as compiling a whole new kernel from scratch.
Beginning with watchdog
include watchdog
Usage
If you want to use something else to manage the watchdog daemon, you can do:
class { 'watchdog':
service_manage => false,
}
Reference
The reference documentation is generated with puppet-strings and the latest version of the documentation is hosted at bodgit.github.io/puppet-watchdog/ and available also in the REFERENCE.md.
Limitations
There is no standard for watchdog timeout periods so it's potentially tricky to ship a default value that works on all hardware however hopefully a period of 60 seconds should work in 99% of cases.
This module has been built on and tested against Puppet 5 and higher.
The module has been tested on:
-
RedHat Enterprise Linux 6/7
-
OpenBSD 6.7/6.8 (anything as far back as 4.9 should work)
Development
The module relies on PDK and has rspec-puppet tests. Run them with:
$ bundle exec rake spec
Please log issues or pull requests at github.