Manages the OpenIPMI package
Installs the OpemIPMI package,
provides IPMI facts in a format compatible with
The Foreman's
BMC features
and enables the ipmi
service. The latter loads the kernel drivers
needed for communicating with the BMC from user space.
See REFERENCE
include ipmi
Create a user with admin privileges (default):
ipmi::user { 'newuser1':
user => 'newuser1',
password => 'password1',
user_id => 4,
}
Create a user with operator privileges:
ipmi::user { 'newuser2':
user => 'newuser2',
password => 'password2',
priv => 3,
user_id => 5,
}
Create a user with user privileges on a specific channel:
ipmi::user { 'newuser3':
user => 'newuser3',
password => 'password3',
priv => 2,
user_id => 6,
channel => 3,
}
Configure a static ip on IPMI lan channel 1:
ipmi::network { 'lan1':
type => 'static',
ip => '192.168.1.10',
netmask => '255.255.255.0',
gateway => '192.168.1.1',
}
Configure IPMI lan channel 1 to DHCP:
ipmi::network { 'dhcp': }
Configure IPMI snmp string on lan channel 1:
ipmi::snmp { 'lan1':
snmp => 'secret',
lan_channel => 1,
}
ipmi
# defaults
class { 'ipmi':
service_ensure => 'running', # default is 'running'
ipmievd_service_ensure => 'running', # default is 'stopped'
watchdog => true, # default is false
}
ipmi::user
# defaults
ipmi::user { 'newuser':
user => 'root',
priv => 4, # Administrator
user_id => 3,
}
ipmi::network
# defaults
ipmi::network { 'lan1':
type => 'dhcp',
ip => '0.0.0.0',
netmask => '255.255.255.0',
gateway => '0.0.0.0',
lan_channel => 1,
}
ipmi::snmp
# defaults
ipmi::snmp { 'lan1':
snmp => 'public',
lan_channel => 1,
}
This module provides additional facts for Facter with the following formats:
ipmi => {
default => {
channel => 1,
gateway => 192.168.10.1,
ipaddress => 192.168.10.201,
ipaddress_source => Static Address,
macaddress => 00:30:48:c9:64:2a,
subnet_mask => 255.255.255.0,
users => {
1 => {
id => 1,
name => '',
privilege => 'NO ACCESS',
},
2 => {
id => 2,
name => 'admin',
privilege => 'ADMINISTRATOR',
}
},
},
1 => {
channel => 1,
gateway => 192.168.10.1,
ipaddress => 192.168.10.201,
ipaddress_source => Static Address,
macaddress => 00:30:48:c9:64:2a,
subnet_mask => 255.255.255.0,
users => {
1 => {
id => 1,
name => '',
privilege => 'NO ACCESS',
},
2 => {
id => 2,
name => 'admin',
privilege => 'ADMINISTRATOR',
}
},
},
}
ipmi1_gateway => 192.168.10.1
ipmi1_ipaddress => 192.168.10.201
ipmi1_ipaddress_source => Static Address
ipmi1_macaddress => 00:30:48:c9:64:2a
ipmi1_subnet_mask => 255.255.255.0
where the 1 in ipmi1
corresponds to the channel according to
ipmitool lan print
.
Additionally for compatibility with The Foreman, the first IPMI
interface (i.e. the one from ipmi lan print 1
) gets all facts
repeated as just ipmi_foo
:
ipmi_gateway => 192.168.10.1
ipmi_ipaddress => 192.168.10.201
ipmi_ipaddress_source => Static Address
ipmi_macaddress => 00:30:48:c9:64:2a
ipmi_subnet_mask => 255.255.255.0
At present, only support for RedHat and Debian distributions has been implemented.
Adding other Linux distrubtions should be trivial.
This module is versioned according to the Semantic Versioning 2.0.0 specification.
Please log tickets and issues at github
feature/mousetrap
bundle exec rake lint
Rspec-puppet
unit tests are not broken and coverage is added for newbundle exec rake spec
beaker
acceptance tests should be run and potentiallybundle exec rake beaker
master
branch