This commit is contained in:
Udo Waechter
2013-05-28 17:25:10 +02:00
parent eb58ca1320
commit 6ca8255ef8
4 changed files with 111 additions and 91 deletions

View File

@@ -1,18 +1,18 @@
import "defines/*.pp"
import 'defines/*.pp'
class puppet (
$ensure = "present",
$ensure = 'present',
$norunifloggedin = false,
$daemonize = true,
$run_hour = "*/1",
$run_minute = "10",
$run_if_ipmatch = "") {
$run_hour = '*/1',
$run_minute = '10',
$run_if_ipmatch = '') {
$puppet_service = $kernel ? {
"Darwin" => "org.macports.puppet",
"FreeBSD" => "puppetd",
default => "puppet"
'Darwin' => 'org.macports.puppet',
'FreeBSD' => 'puppetd',
default => 'puppet'
}
$factpath = "/var/lib/puppet/lib/facter"
$factpath = '/var/lib/puppet/lib/facter'
require 'puppet::common'
@@ -24,113 +24,113 @@ class puppet (
# "$fqdn") }
case $kernel {
"Linux" : {
$puppetpkgs = ["puppet", "puppet-common"]
'Linux' : {
$puppetpkgs = ['puppet', 'puppet-common']
Package {
provider => "apt" }
provider => 'apt' }
}
default : {
$puppetpkgs = "puppet"
$puppetpkgs = 'puppet'
}
}
$puppet_linuxversion_real = $::PUPPET_VERSION_LINUX ? {
"" => "latest",
'' => 'latest',
default => $::PUPPET_VERSION_LINUX,
}
package { $puppetpkgs:
ensure => $ensure ? {
"present" => $kernel ? {
"Linux" => $puppet_linuxversion_real,
$pkg_ens = $ensure ? {
'present' => $::kernel ? {
'Linux' => $puppet_linuxversion_real,
default => $ensure,
} },
notify => Service["${puppet_service}"],
},
default => $ensure,
}
package { $puppetpkgs:
ensure => $pkg_ens,
notify => Service[$puppet_service],
}
service { "${puppet_service}":
service { $puppet_service:
hasstatus => true,
enable => "${daemonize}",
ensure => "${daemonize}",
enable => $daemonize,
ensure => $daemonize,
}
$cron_real = $daemonize ? {
false => "present",
true => "absent",
false => 'present',
true => 'absent',
default => $ensure,
}
notice("${fqdn} PUPPET-CRON: cron_real: ${cron_real}, daemonize: ${daemonize}, running: ${service_running}"
)
cron { 'puppetrun':
command => "/usr/local/sbin/puppetd_run.sh",
user => root,
command => '/usr/local/sbin/puppetd_run.sh',
user => 'root',
minute => $run_minute,
hour => $run_hour,
ensure => "${cron_real}",
ensure => $cron_real,
}
$maxsleep = 6400
file { "/usr/local/sbin/puppetd_run.sh":
content => template("puppet/puppetd_run.sh.erb"),
mode => 0700,
alias => "puppetd_run.sh",
file { '/usr/local/sbin/puppetd_run.sh':
content => template('puppet/puppetd_run.sh.erb'),
mode => '0700',
alias => 'puppetd_run.sh',
ensure => $ensure;
"/var/log/puppet":
'/var/log/puppet':
mode => '0750',
owner => 'puppet',
group => 'puppet';
}
case $::kernel {
"Darwin" : {
file { "/Library/LaunchDaemons/org.macports.puppet.plist":
source => "puppet:///modules/puppet/org.macports.puppet.plist",
before => Service["${puppet_service}"],
'Darwin' : {
file { '/Library/LaunchDaemons/org.macports.puppet.plist':
source => 'puppet:///modules/puppet/org.macports.puppet.plist',
before => Service[$puppet_service],
}
file { "/opt/local/lib/ruby/site_ruby/1.8/puppet/provider/package/appdmg.rb"
: ensure => "absent", }
}
"Linux" : {
# replace { "enable_puppet":
# file => "/etc/default/puppet",
# pattern => "START=no",
# replacement => "START=yes",
# before => Service["${puppet_service}"],
'Linux' : {
# replace { 'enable_puppet':
# file => '/etc/default/puppet',
# pattern => 'START=no',
# replacement => 'START=yes',
# before => Service[$puppet_service],
# }
if defined(Class['monit']) {
monit::process { "puppet":
start => "/etc/init.d/puppet start",
stop => "/etc/init.d/puppet stop",
pidfile => "/var/run/puppet/agent.pid",
additional => "if totalmem > 400 Mb for 10 cycles then RESTART",
monit::process { 'puppet':
start => '/etc/init.d/puppet start',
stop => '/etc/init.d/puppet stop',
pidfile => '/var/run/puppet/agent.pid',
additional => 'if totalmem > 400 Mb for 10 cycles then RESTART',
ensure => $daemonize ? {
"true" => "present",
default => "absent",
true => 'present',
default => 'absent',
},
}
}
}
}
$puppet_user = $operatingsystem ? {
"Darwin" => $adm,
default => "puppet",
'Darwin' => $adm,
default => 'puppet',
}
$puppet_group = $operatingsystem ? {
"Darwin" => "wheel",
default => "puppet",
'Darwin' => 'wheel',
default => 'puppet',
}
# "FreeBSD" => "/usr/local/etc/puppet/puppet.conf",
# 'FreeBSD' => '/usr/local/etc/puppet/puppet.conf',
$puppetconf = $operatingsystem ? {
default => "/etc/puppet/puppet.conf",
default => '/etc/puppet/puppet.conf',
}
file { $puppetconf:
content => template("puppet/puppet.conf.erb"),
mode => 0644,
ensure => $ensure,
content => template('puppet/puppet.conf.erb'),
mode => '0644',
owner => $puppet_user,
ensure => "${ensure}",
# require => [ Package["puppet"] ],
}