Puppet: hpilo module to manage HP Integrated Lights Out on Centos/RHEL

I just finished a major refactor of Corey Osman’s hpilo puppet module. This module can be used to configure Hewlett Packard’s Integrated Lights Out (aka iLO) embedded card. It is now compatible with hiera either through use of create_resources(‘class’, {‘hpilo’ => $params}), or by loading it in puppet 3.0. You can grab the module from github at https://github.com/logicminds/hpilo


hpilo

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 [Modulename]
  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

hpilo configures Hewlett-Packard’s iLO card by creating ilosettings.xml and then using the
HP application hponcfg to load the settings file to the iLO.

Integrated Lights-Out, or iLO, is an embedded server management technology exclusive to
Hewlett-Packard but similar in functionality to the Lights out management (LOM) technology
of other vendors, for example Sun/Oracle’s ILOM, Dell DRAC and the IBM Remote Supervisor Adapter.

Tested with PE 2.8.1 and should work w/ Puppet 3.

Module Description

hpilo can setup iLO to use dhcp, user-selected static IP, or assign a static IP automatically
based on the system’s IP.

Setup

What hpilo affects

  • creates/modifies /etc/ilosettings.xml and /tmp/ilosettings.log
  • installs /sbin/hponcfg from HP Proliant support repo.

Setup Requirements

You will need the repo from http://downloads.linux.hp.com/SDR/downloads/ProLiantSupportPack/
The hpilo module will install hponcfg from this repo.

Beginning with hpilo

class {'hpilo':  }

Usage

You can easily configure many parameters of iLo.

For DHCP:

class { 'hpilo': 
  dhcp => true,
  ilouser => 'admin',
  ilouserpass => 'password'
}

For static:

class { 'hpilo':
  dns => '192.168.1.1',
  gw => '192.168.1.1',
  ip => '192.168.1.10',
  netmask => '255.255.255.0',
  shared => true,
  ilouser => 'admin',
  ilouserpass => 'password',
}

For autoip (Take $::ipaddress fact and sub 3rd octet with hpilo::ilonet value,
fx if ipaddress of system is 192.168.2.10 ilo will get 192.168.3.10:

class { 'hpilo':
  autoip => true,
  ilonet => '3',
  shared => true,
  ilouser => 'admin',
  ilouserpass => 'password',
}

To configure with yaml in hiera for Puppet 3:

hpilo::autoip: false

hpilo::dhcp: false

hpilo::dns: ‘192.168.1.1’

hpilo::gw: ‘192.168.1.1’

hpilo::gwbit: ‘240’

hpilo::ilonet: ‘3’

hpilo::ilouser: ‘admin’

hpilo::ilouserpass: ‘password’

hpilo::ip: ‘192.168.1.2’

hpilo::logfile: ‘/tmp/ilosettings.log’

hpilo::netmask: ‘255.255.255.0’

hpilo::settingsfile : ‘/etc/ilosettings.xml’

hpilo::shared: true

Reference

Limitations

If you modify network settings but not the user after the initial run, hponcfg
will return an error exit code for trying to create a user that already exists,
but will still apply the new network settings.

Only tested on Centos 6.4 with Puppet Enterprise 2.8.1. Should probably work on RHEL and SuSE.

Contributors

2 thoughts on “Puppet: hpilo module to manage HP Integrated Lights Out on Centos/RHEL

  1. Rajasekhar

    Hi, happy to know that there is a Puppet module for HP ILO management.
    So using ILO management , can we trigger OS installations also..???
    If not could you please direct me the Puppet modules which helps in triggering OS installations and configurations.

    thanks a lot for your time and help.

    Reply
  2. ski Post author

    While you can’t directly use Puppet to install an OS…you can use something like Razor or Cobbler (network boot loaders) to install an OS and install puppet on that OS, then use Puppet to do post-install config.

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *