Version information
This version is compatible with:
- Puppet Enterprise 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, 2019.8.x, 2019.7.x, 2019.5.x, 2019.4.x, 2019.3.x, 2019.2.x, 2019.1.x, 2019.0.x
- Puppet >= 6.0.0 < 8.0.0
- , , , ,
Start using this module
Add this module to your Puppetfile:
mod 'treydock-powerman', '1.1.0'
Learn more about managing modules with a PuppetfileDocumentation
puppet-module-powerman
####Table of Contents
- Setup - The basics of getting started with powerman
- Usage - Configuration options and additional functionality
- Reference - Module reference
Setup
What powerman affects
This module will install and configures powerman.
Usage
Install and configure powerman to listen on all interfaces and define devices, nodes and aliases
class { '::powerman':
listen => '0.0.0.0',
}
powerman::device { 'compute-ipmi':
driver => 'ipmipower',
endpoint => '/usr/sbin/ipmipower -D LAN_2_0 -u admin -p changeme -h bmc-compute[01-04]',
}
powerman::nodes { 'compute[01-04]':
device => 'compute-ipmi',
port => 'bmc-compute[01-04]',
}
powerman::alias { 'compute':
nodes => 'compute[01-04]',
}
To configure a system as a powerman client:
class { '::powerman':
server => false,
powerman_server => 'powerman.example.com',
}
This is an example of exporting console configurations for all physical servers:
if $facts['virtual'] == 'physical' {
@@powerman::device { "bmc-${::hostname}-ipmi":
driver => 'ipmipower',
endpoint => "/usr/sbin/ipmipower -D LAN_2_0 -u admin -p changeme -h bmc-${::hostname}-ipmi |&",
}
@@powerman::node { $::hostname:
device => "bmc-${::hostname}-ipmi",
port => "bmc-${::hostname}",
}
}
Then collect all the exported resources:
Powerman::Device <<| |>>
Powerman::Node <<| |>>
Powerman::Alias <<| |>>
Reference
Reference
Table of Contents
Classes
powerman
: Manage powerman
Defined types
powerman::alias
: Manage powerman device aliaspowerman::device
: Manage powerman devicepowerman::node
: Manage powerman node
Classes
powerman
Manage powerman
Examples
include powerman
Parameters
The following parameters are available in the powerman
class:
ensure
manage_epel
server
listen
powerman_server
powerman_port
tcpwrappers
cfgfile
driver_dir
driver_list
aliases
devices
nodes
pid_dir
user
group
ensure
Data type: Enum['present', 'absent']
Module ensure property
Default value: 'present'
manage_epel
Data type: Boolean
Boolean that determines if EPEL repo should be managed
Default value: true
server
Data type: Boolean
Boolean that sets host to act as powerman server
Default value: true
listen
Data type: Stdlib::IP::Address
Address to listen on
Default value: '127.0.0.1'
powerman_server
Data type: Stdlib::Host
Hostname of powerman server
Default value: $facts['networking']['fqdn']
powerman_port
Data type: Stdlib::Port
The port of powerman server
Default value: 10101
tcpwrappers
Data type: Optional[Boolean]
Enable tcpwrappers support
Default value: undef
cfgfile
Data type: Stdlib::Absolutepath
Path to powerman.conf
Default value: '/etc/powerman/powerman.conf'
driver_dir
Data type: Stdlib::Absolutepath
Driver directory
Default value: '/etc/powerman'
driver_list
Data type: Array
List of drivers to load
Default value: ['powerman','ipmipower']
aliases
Data type: Hash
Hash of aliases to pass to powerman::alias
Default value: {}
devices
Data type: Hash
Hash of devices to pass to powerman::device
Default value: {}
nodes
Data type: Hash
Hash of nodes to pass to powerman::node
Default value: {}
pid_dir
Data type: Stdlib::Absolutepath
Directory for PID file
Default value: '/var/run/powerman'
user
Data type: String
User running powerman service
Default value: 'daemon'
group
Data type: String
Group running powerman service
Default value: 'daemon'
Defined types
powerman::alias
Manage powerman device alias
Parameters
The following parameters are available in the powerman::alias
defined type:
nodes
Data type: String
Nodes for the alias
order
Data type: String
Order in powerman.conf
Default value: '75'
powerman::device
Manage powerman device
Parameters
The following parameters are available in the powerman::device
defined type:
driver
Data type: String
The device driver
endpoint
Data type: String
Device endpoint
flags
Data type: Optional[String]
Device flags
Default value: undef
order
Data type: String
Order in powerman.conf
Default value: '25'
powerman::node
Manage powerman node
Parameters
The following parameters are available in the powerman::node
defined type:
device
Data type: String
Node device
port
Data type: Optional[String]
Node port
Default value: undef
order
Data type: String
Order in powerman.conf
Default value: '50'
Change log
All notable changes to this project will be documented in this file. The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
v1.1.0 (2021-08-25)
Added
v1.0.0 (2021-05-21)
Changed
v0.1.0 (2019-08-16)
Changed
Added
* This Changelog was automatically generated by github_changelog_generator
Dependencies
- puppetlabs/stdlib (>= 4.25.0 <8.0.0)
- puppetlabs/concat (>= 4.0.0 <8.0.0)
- puppet/epel (>= 3.0.0 <4.0.0)