Forge Home

edac

Manage EDAC utility installation and configuration

11,910 downloads

8,687 latest version

5.0 quality score

We run a couple of automated
scans to help you access a
module's quality. Each module is
given a score based on how well
the author has formatted their
code and documentation and
modules are also checked for
malware using VirusTotal.

Please note, the information below
is for guidance only and neither of
these methods should be considered
an endorsement by Puppet.

Support the Puppet Community by contributing to this module

You are welcome to contribute to this module by suggesting new features, currency updates, or fixes. Every contribution is valuable to help ensure that the module remains compatible with the latest Puppet versions and continues to meet community needs. Complete the following steps:

  1. Review the module’s contribution guidelines and any licenses. Ensure that your planned contribution aligns with the author’s standards and any legal requirements.
  2. Fork the repository on GitHub, make changes on a branch of your fork, and submit a pull request. The pull request must clearly document your proposed change.

For questions about updating the module, contact the module’s author.

Version information

  • 1.0.0 (latest)
  • 0.1.1
  • 0.1.0
  • 0.0.4
  • 0.0.3
  • 0.0.2
released Aug 23rd 2015
This version is compatible with:
  • , ,

Start using this module

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

Add this module to your Puppetfile:

mod 'treydock-edac', '1.0.0'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

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

Manually install this module globally with Puppet module tool:

puppet module install treydock-edac --version 1.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
Tags: redhat, centos, edac, ecc

Documentation

treydock/edac — version 1.0.0 Aug 23rd 2015

puppet-edac

Puppet Forge Build Status

####Table of Contents

  1. Overview
  2. Module Description
  3. Setup - The basics of getting started with puppet-edac
  1. Usage - Configuration options and additional functionality
  2. Reference - Parameter and detailed reference to all options
  1. Limitations
  2. Contributing
  3. Development
  4. TODO
  5. Further Information

Overview

This module manages installation and configuration of edac utilities for Linux kernel EDAC drivers.

Module Description

This module will install the necessary packages to use EDAC and start the necessary service. The labels used by EDAC are also managed and custom labels can be added by using the edac::label defined type.

Once this module is applied to a system the edac-util command can be used to query corrected and uncorrected memory errors. If labels exist for your host's motherboard then memory DIMMs with errors can be easily identified.

Setup

###What puppet-edac affects

  • The edac-utils package is installed - the actual name may vary depending on your Operating System
  • The labels database, /etc/edac/labels.db is populated by the default labels and any custom labels defined
  • The labels are registered with edac
  • The edac service is set to start on boot

Usage

For standard edac-utils management

class { 'edac': }

To add additional labels to labels.db

edac::label { 'H8DGU':
  content => template('supermicro/h8dgu.erb'),
}

The example above is provided by the edac::extra::supermicro class and automatically included if the parameter with_extra_labels is true.

Reference

###Classes

####Public classes

  • edac: Installs and configures necessary resources for EDAC
  • edac::extra: Includes the classes that are considered "extra" and not part of stock EDAC install
  • edac::extra::supermicro: Defines edac labels specific to Supermicro motherboards that are not a part of standard edac install

####Private classes

  • edac::params: Defines module parameter defaults based on fact values.

###Class parameters

####edac

#####ensure

This determines if the managed resources are installed and configured, or if they should be removed. Defaults to present and valid values are present and absent.

#####edac_utils_package_name

edac utils package. Default is OS specific.

#####edac_service_name

edac service name. Default is OS specific.

#####edac_service_enable

Sets the edac service enable property. Default is true.

#####labelsdb_file

Location of the edac labels database file. Default is OS specific.

#####with_extra_labels

Boolean that determines if the module provided extra labels will be installed. Defaults is true.

###Defines

####edac::label

Defines EDAC labels for the motherboard FOO.

edac::label { 'FOO':
  content => template('site_edac/foo.erb'),
}

Defines two custom EDAC labels with their order set so FOO comes before BAR when written to the edac label file.

edac::label { 'FOO':
  content => template('site_edac/foo.erb'),
  order   => '98',
}
edac::label { 'BAR':
  content => template('site_edac/bar.erb'),
  order   => '99',
}

Limitations

This module has only been tested against the following operating systems:

  • CentOS 6.x
  • Scientific Linux 6x
  • CentOS 5.9

Contributing

The best way to contribute is providing additional labels for motherboards.

Development

Testing requires the following dependencies:

  • rake
  • bundler

Install gem dependencies

bundle install

Run unit tests

bundle exec rake test

If you have Vagrant >= 1.2.0 installed you can run system tests

bundle exec rake beaker

TODO

Further Information