Adds RHEL support to snmpd module.
Parameterize the package name so that things work on multiple distros. Also, updates the snmpd module so that that the init script is written out on Ubuntu only (this is not required on RHEL). Change-Id: Id5868b85fc0a7a6057d9be16c76dad2efb834f0e Reviewed-on: https://review.openstack.org/23186 Reviewed-by: Jeremy Stanley <fungi@yuggoth.org> Reviewed-by: Khai Do <zaro0508@gmail.com> Reviewed-by: James E. Blair <corvus@inaugust.com> Reviewed-by: Clark Boylan <clark.boylan@gmail.com> Approved: James E. Blair <corvus@inaugust.com> Tested-by: Jenkins
This commit is contained in:
parent
dc37983643
commit
e1284910fe
|
@ -1,8 +1,12 @@
|
|||
# == Class: snmpd
|
||||
#
|
||||
class snmpd {
|
||||
|
||||
include snmpd::params
|
||||
|
||||
package { 'snmpd':
|
||||
ensure => present,
|
||||
name => $::snmpd::params::package_name,
|
||||
}
|
||||
service { 'snmpd':
|
||||
ensure => running,
|
||||
|
@ -12,19 +16,26 @@ class snmpd {
|
|||
File['/etc/init.d/snmpd'],
|
||||
],
|
||||
}
|
||||
# This file is only needed on machines pre-precise. There is a bug in
|
||||
# the previous init script versions which causes them to attempt
|
||||
# snmptrapd even if it's configured not to run, and then to report
|
||||
# failure.
|
||||
file { '/etc/init.d/snmpd':
|
||||
ensure => present,
|
||||
owner => 'root',
|
||||
group => 'root',
|
||||
mode => '0755',
|
||||
source => 'puppet:///modules/snmpd/snmpd.init',
|
||||
replace => true,
|
||||
require => Package['snmpd'],
|
||||
|
||||
if ($::operatingsystem == 'Ubuntu') {
|
||||
# This file is only needed on machines pre-precise. There is a bug in
|
||||
# the previous init script versions which causes them to attempt
|
||||
# snmptrapd even if it's configured not to run, and then to report
|
||||
# failure.
|
||||
file { '/etc/init.d/snmpd':
|
||||
ensure => present,
|
||||
owner => 'root',
|
||||
group => 'root',
|
||||
mode => '0755',
|
||||
source => 'puppet:///modules/snmpd/snmpd.init',
|
||||
replace => true,
|
||||
require => Package['snmpd'],
|
||||
}
|
||||
|
||||
File['/etc/init.d/snmpd'] -> Service['snmpd']
|
||||
|
||||
}
|
||||
|
||||
file { '/etc/snmp/snmpd.conf':
|
||||
ensure => present,
|
||||
owner => 'root',
|
||||
|
|
|
@ -0,0 +1,17 @@
|
|||
# Class: snmpd::params
|
||||
#
|
||||
# This class holds parameters that need to be
|
||||
# accessed by other classes.
|
||||
class snmpd::params {
|
||||
case $::osfamily {
|
||||
'Redhat': {
|
||||
$package_name = 'net-snmp'
|
||||
}
|
||||
'Debian', 'Ubuntu': {
|
||||
$package_name = 'snmpd'
|
||||
}
|
||||
default: {
|
||||
fail("Unsupported osfamily: ${::osfamily} The 'snmpd' module only supports osfamily Ubuntu or Redhat(slaves only).")
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue