nhc

pdk
NHC Puppet module

10,464 downloads

178 latest version

5.0 quality score

Version information

  • 6.0.0 (latest)
  • 5.0.0
  • 4.0.0
  • 3.1.0
  • 3.0.0
  • 2.0.3
  • 2.0.0
  • 1.1.0
  • 1.0.2
  • 1.0.1
  • 1.0.0
released Oct 14th 2024
This version is compatible with:
  • Puppet Enterprise 2025.3.x, 2025.2.x, 2025.1.x, 2023.8.x, 2023.7.x, 2023.6.x, 2023.5.x, 2023.4.x, 2023.3.x, 2023.2.x, 2023.1.x, 2023.0.x, 2021.7.x, 2021.6.x, 2021.5.x, 2021.4.x, 2021.3.x, 2021.2.x, 2021.1.x, 2021.0.x
  • Puppet >= 7.0.0 < 9.0.0
  • RedHat
    ,
    Rocky
    ,
    AlmaLinux
    ,
    Debian
    ,
    Ubuntu

Start using this module

  • r10k or Code Manager
  • Bolt
  • Manual installation
  • Direct download

Add this module to your Puppetfile:

mod 'treydock-nhc', '6.0.0'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add treydock-nhc
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install treydock-nhc --version 6.0.0

Direct download is not typically how you would use a Puppet module to manage your infrastructure, but you may want to download the module in order to inspect the code.

Download

Documentation

treydock/nhc — version 6.0.0 Oct 14th 2024

puppet-module-nhc

Puppet Forge CI Status

Table of Contents

  1. Overview
  2. Usage - Configuration options
  3. Reference - Parameter and detailed reference to all options
  4. Limitations - OS compatibility, etc.
  5. Development - Guide for contributing to the module

Overview

This module manages the installation and configuration of LBNL Node Health CHeck (NHC).

Usage

Class: nhc

Configure a host with NHC.

include nhc

This is an example of using Hiera to define the default checks installed with NHC.

nhc::checks:
  - 'check_fs_mount_rw /tmp'
  - 'check_fs_mount_rw /'
  - 'check_fs_mount_rw /dev/pts '/(none|devpts)/' devpts'
  - 'check_ps_daemon sshd root'
  - 'check_ps_daemon provisiond root'
  - 'check_ps_daemon wulfd root'
  - 'check_ps_unauth_users log syslog'
  - 'check_ps_userproc_lineage log syslog'
  - 'check_ps_kswapd 1800000 100 log syslog'
  - 'check_hw_cpuinfo 2 8 8'
  - 'check_hw_physmem 1024 1073741824'
  - 'check_hw_swap 1 1073741824'
  - 'check_hw_mem 1024 1073741824'
  - 'check_hw_physmem_free 1'
  - 'check_hw_swap_free 1'
  - 'check_hw_mem_free 1'
  - 'check_hw_ib 40'
  - 'check_hw_gm myri0'
  - 'check_hw_eth eth1'

A Hash can also be used to define checks

nhc::checks:
  '*':
    - 'check_fs_mount_rw /tmp'
    - 'check_fs_mount_rw /'
    - 'check_fs_mount_rw /dev/pts '/(none|devpts)/' devpts'
  'foo.baz':
    - 'check_ps_daemon sshd root'
    - 'check_ps_daemon provisiond root'
    - 'check_ps_daemon wulfd root'
    - 'check_ps_unauth_users log syslog'
    - 'check_ps_userproc_lineage log syslog'
    - 'check_ps_kswapd 1800000 100 log syslog'
  'foo.bar':
    - 'check_hw_cpuinfo 2 8 8'
    - 'check_hw_physmem 1024 1073741824'
    - 'check_hw_swap 1 1073741824'
    - 'check_hw_mem 1024 1073741824'
    - 'check_hw_physmem_free 1'
    - 'check_hw_swap_free 1'
    - 'check_hw_mem_free 1'
    - 'check_hw_ib 40'
    - 'check_hw_gm myri0'
    - 'check_hw_eth eth1'

Defining settings that are for all hosts and a specific host:

nhc::settings:
  DF_FLAGS: '"-Tkal -xgpfs -xfuse"'
  DFI_FLAGS: '"-Tkal -xgpfs -xfuse"'
  MAX_SYS_UID: '999'
  NHC_RM: 'slurm'
nhc::settings_host:
  'c0001':
    PATH: '"$PATH:/some/other/sbin"'

This is an example of using a local yum repository to install NHC.

nhc::install_method: repo
nhc::repo_name: local-repo

This is an other example of using a custom package URL.

nhc::install_method: package
nhc::package_url: "https://example.com/lbnl-nhc-1.4.3-1.el7.custom.noarch.rpm"
nhc::package_name: "lbnl-nhc-1.4.3-1.el7.custom.noarch.rpm"

It's possible to install from source (this is default behavior for all but RedHat based systems):

nhc::install_method: source

Reference

http://treydock.github.io/puppet-module-nhc/