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 'mindhive-ipmi', '4.5.0'
Learn more about managing modules with a PuppetfileDocumentation
Puppet ipmi Module
Overview
Manages BMC using ipmitool with optional Foreman integration.
Description
Forked from jhoblitt-ipmi with much thanks to the original author.
- Installs the OpemIPMI package and service
- Provides IPMI LAN and user facts
- Adding/updating/disabling of IPMI users
- Purging users beyond those wanted
- Setting of IPMI LAN network settings
- LAN facts automatically will add/update BMC NIC interface in Foreman
- User credentials from Foreman BMC interface can be applied to an IPMI user
Usage
Examples
include ipmi
Manage IPMI users:
class { ipmi:
purge_users => true,
foreman_user => true,
users => [
{
username => 'ADMIN',
password => 'secret',
},
],
}
Reference
Table of Contents
Classes
ipmi
: == Class: ipmi Please refer to https://github.com/jhoblitt/puppet-ipmi#usage for parameter documentation.ipmi::params
: == Class: ipmi::params This class should be considered private.
Defined types
ipmi::network
: == Defined resource type: ipmi::networkipmi::snmp
: == Defined resource type: ipmi::snmpipmi::user
: == Defined resource type: ipmi::user
Classes
ipmi
== Class: ipmi
Please refer to https://github.com/jhoblitt/puppet-ipmi#usage for parameter documentation.
Parameters
The following parameters are available in the ipmi
class.
ensure
Data type: Enum[present, absent]
Default value: present
ipmievd_service_ensure
Data type: Enum[running, stopped]
Default value: stopped
watchdog
Data type: Boolean
Default value: false
users
Data type: Array[Hash]
Default value: []
purge_users
Data type: Boolean
Default value: false
foreman_user
Data type: Variant[Boolean, Enum[optional]]
Default value: false
foreman_user_privilege
Data type: Integer[1, 4]
Default value: 4
network
Data type: Optional[Hash]
Default value: undef
snmp
Data type: Optional[String]
Default value: undef
ipmi::params
== Class: ipmi::params
This class should be considered private.
Defined types
ipmi::network
== Defined resource type: ipmi::network
Parameters
The following parameters are available in the ipmi::network
defined type.
ip
Data type: Stdlib::IP::Address::V4::Nosubnet
Default value: '0.0.0.0'
netmask
Data type: Stdlib::IP::Address::V4::Nosubnet
Default value: '255.255.255.0'
gateway
Data type: Stdlib::IP::Address::V4::Nosubnet
Default value: '0.0.0.0'
type
Data type: Enum[dhcp, static]
Default value: dhcp
channel
Data type: Integer[1]
Default value: 1
ipmi::snmp
== Defined resource type: ipmi::snmp
Parameters
The following parameters are available in the ipmi::snmp
defined type.
snmp
Data type: String
Default value: 'public'
channel
Data type: Integer[1]
Default value: 1
ipmi::user
== Defined resource type: ipmi::user
Parameters
The following parameters are available in the ipmi::user
defined type.
id
Data type: Integer[1]
ensure
Data type: Enum[present, enabled, absent, disabled]
Default value: present
username
Data type: String
Default value: $title
password
Data type: Optional[String]
Default value: undef
privilege
Data type: Integer[1, 4]
Default value: 4
channel
Data type: Integer[1]
Default value: 1
Changelog
All notable changes after forking will be documented in this file.
Release 4.5.0
Features
- Full typing for
users
andnetwork
onipmi
Release 4.4.0
Features
- Allow
stdlib
up to version < 9.0.0
Release 4.3.0
Features
- Allow Puppet 7
Release 4.1.0
Features
- Use
ensure_packages
to avoid package conflicts
Release 4.0.0
Features
- Simplify sub-resources passed to
ipmi
class users
passed toipmi
can have their id allocated:- to an existing id if username's match
- otherwise, a new, unused id
Release 3.0.0
Features
- Apply user specified in Foreman BMC interface
- Purge (disable) unspecified
users
ensure => disabled
to disable usersensure => absent
to remove packages
Internal
- Converted to PDK
- Allow
stdlib
up to version < 7.0.0
Limitations
- Simplifying by restricting to channel 1 only
Dependencies
- puppetlabs/augeas_core (>= 1.0.4 < 2.0.0)
- puppetlabs/stdlib (>= 4.6.0 < 9.0.0)
Copyright (C) 2012-2016 Joshua Hoblitt <josh@hoblitt.com> Copyright (C) 2013-2014 Mike Arnold <mike@razorsedge.org> Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.