watchdog

Puppet Module for managing hardware watchdogs

Matt Dainty

bodgit

9,677 downloads

5,530 latest version

4.3 quality score

Version information

  • 1.1.0 (latest)
  • 1.0.0
released Oct 2nd 2016
This version is compatible with:
  • Puppet Enterprise >=3.7.0 <2015.4.0
  • Puppet >=3.0.0 <5.0.0
  • RedHat
    ,
    CentOS
    ,
    OracleLinux
    ,
    Scientific
    ,
    OpenBSD

Start using this module

Tags: tco, watchdog

Documentation

bodgit/watchdog — version 1.1.0 Oct 2nd 2016

watchdog

Tested with Travis CI

Build Status Coverage Status Puppet Forge Dependency Status

Table of Contents

  1. Overview
  2. Module Description - What the module does and why it is useful
  3. Setup - The basics of getting started with watchdog
  4. Usage - Configuration options and additional functionality
  5. Reference - An under-the-hood peek at what the module is doing and how
  6. Limitations - OS compatibility, etc.
  7. Development - Guide for contributing to the module

Overview

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.

Module Description

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

What watchdog affects

  • The package containing the watchdog daemon.
  • The service controlling the watchdog daemon.

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

Classes and Defined Types

Class: watchdog

Parameters within watchdog:

manage_package

Whether to manage the package resource or not.

package_ensure

Intended state of the package providing the watchdog daemon.

package_name

The package name that provides the watchdog daemon.

period

The watchdog timeout period. If it has not been reset after this period then the machine is rebooted.

service_enable

Whether to enable the watchdog service.

service_ensure

Intended state of the watchdog service.

service_manage

Whether to manage the watchdog service or not.

service_name

The name of the watchdog service.

Examples

If you want to use something else to manage the watchdog daemon, you can do: can do:

class { '::watchdog':
  service_manage => false,
}

If you are on a platform that doesn't require a userspace process to reset the watchdog, you can do:

class { '::watchdog':
  service_ensure => stopped,
  service_enable => false,
}

Reference

Classes

Public Classes

  • watchdog: Main class for installing the watchdog.

Private Classes

  • watchdog::config: Main class for watchdog configuration/management.
  • watchdog::install: Handles package installation.
  • watchdog::params: Different configuration data for different systems.
  • watchdog::service: Handles the watchdog service.

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 3.0 and higher.

The module has been tested on:

  • RedHat Enterprise Linux 5/6/7
  • OpenBSD 5.6/5.7/5.8/5.9 (anything as far back as 4.9 should work)

Testing on other platforms has been light and cannot be guaranteed.

Development

Please log issues or pull requests at github.