hddtemp configuration module.

Jonathan Gazeley



5,513 latest version

4.6 quality score

Version information

  • 1.0.3 (latest)
released Nov 9th 2017
This version is compatible with:
  • RedHat

Start using this module


jgazeley/hddtemp — version 1.0.3 Nov 9th 2017


Build Status

Table of Contents

  1. Overview
  2. Compatability
  3. Dependencies
  4. Examples
  5. Parameters
  6. Limitations
  7. License
  8. Development


This Puppet module is designed to facilitate the installation and configuration of hddtemp. The primary scope includes installing the package on the system and populating the init script with the appropriate devices.

At this time only sd* devices are correctly autoconfigured. IDE devices are not supported and must be manually configured.

This module is best used with heira and the "virtual_%{::is_virtual}" directive in it hierarchy configuration so it may be applied to only physical machines.


Facter 1.7 or greater is required for this module to function.

It has been tested to work with puppet versions 3.0.x and greater.

It will work with puppet 2.7 but fails if ruby is >=2.0.0.

The module is known to work on the following distributions:

  • Centos 6.x
  • SLES 11
  • Fedora 18+


  • Facter 1.7 or greater (blockdevices is absent in older versions.)
  • puppetlabs/stdlib


With traditional puppet node configuration:

class { 'hddtemp':
  service_manage      => true,
  service_enable      => true,
  service_ensue       => 'running'
  package_ensue       => 'latest'
  monitored_drives    => 'sda,sdb'
  listen_addr         => ''
  listen_port         => '7634'

With heira:

  - hddtemp

hddtemp::service_manage: true
hddtemp::service_enable: true
hddtemp::service_ensure: 'running'
hddtemp::package_ensure: 'latest'
hddtemp::monitored_drives: 'sda,sdb'
hddtemp::listen_addr: ''
hddtemp::listen_port: '7634'


All Parameters are optional, if no drives are specified the module will add all /dev/sd* devices to the list to be monitored.

Variable Default Value Description
listen_addr localhost IP Address to listen on for incoming connections.
listen_port 7634 Port to listen on.
monitored_drives none This must be specified as a comma seperated string. 'sda,sdb,sdc'
use_syslog false Log temps to syslog periodically
syslog_interval 1800 1800 seconds (30 minutes) Time in seconds to log temps to syslog.


The module only looks for /dev/sd* devices, IDE evices may be added manually, if any remain in the wild I suggest an upgrade.

Due to the init script in use in SLES 11 and other distros multiple erb templates are required.

At this time automatic configuration makes no attempt to ignore USB devices and will add them as well. Some do present S.M.A.R.T. data and so are valid, but they would still be best ignored.


GPL v2


Please report issues or submit a pull request.