update to dashboard repo, update to pupppet-run

This commit is contained in:
do
2013-02-02 20:26:53 +01:00
parent aa3fa40310
commit aaea443943
2 changed files with 186 additions and 218 deletions

View File

@@ -1,5 +1,6 @@
# $Id: init.pp 4425 2011-06-17 11:42:17Z uwaechte $ # $Id: init.pp 4425 2011-06-17 11:42:17Z uwaechte $
class puppet ($ensure = "present", class puppet (
$ensure = "present",
$norunifloggedin = false, $norunifloggedin = false,
$daemonize = true, $daemonize = true,
$run_hour = "*/1", $run_hour = "*/1",
@@ -11,14 +12,13 @@ class puppet ($ensure = "present",
default => "puppet" default => "puppet"
} }
$factpath = "/var/lib/puppet/lib/facter" $factpath = "/var/lib/puppet/lib/facter"
case $kernel { case $kernel {
"Linux" : { "Linux" : {
$puppetpkgs = ["puppet", "puppet-common"] $puppetpkgs = ["puppet", "puppet-common"]
Package {
provider => "apt"
}
#Package["puppet-common"]{ before => Package["puppet"] }
Package {
provider => "apt" }
} }
default : { default : {
$puppetpkgs = "puppet" $puppetpkgs = "puppet"
@@ -28,31 +28,19 @@ class puppet ($ensure = "present",
"" => "latest", "" => "latest",
default => $PUPPET_VERSION_LINUX, default => $PUPPET_VERSION_LINUX,
} }
# case $kernel {
# "Linux": { package { $puppetpkgs:
# exec{"apt-get install -y puppet=$PUPPET_VERSION_LINUX puppet-common=${PUPPET_VERSION_LINUX}":
# onlyif => "apt-show-versions -a puppet |tail -1 |grep -q upgradeable",
# }
# }
# default: {
package {
$puppetpkgs :
ensure => $ensure ? { ensure => $ensure ? {
"present" => $kernel ? { "present" => $kernel ? {
"Linux" => $puppet_linuxversion_real, "Linux" => $puppet_linuxversion_real,
default => $ensure, default => $ensure,
} } },
},
notify => Service["${puppet_service}"], notify => Service["${puppet_service}"],
} }
# }
# } package { ["facter"]: ensure => "${ensure}", }
package {
["facter"] : service { "${puppet_service}":
ensure => "${ensure}",
}
service {
"${puppet_service}" :
hasstatus => true, hasstatus => true,
enable => "${daemonize}", enable => "${daemonize}",
ensure => "${daemonize}", ensure => "${daemonize}",
@@ -63,8 +51,8 @@ class puppet ($ensure = "present",
default => $ensure, default => $ensure,
} }
notice("${fqdn} PUPPET-CRON: cron_real: ${cron_real}, daemonize: ${daemonize}, running: ${service_running}") notice("${fqdn} PUPPET-CRON: cron_real: ${cron_real}, daemonize: ${daemonize}, running: ${service_running}")
cron {
puppetrun : cron { puppetrun:
command => "/usr/local/sbin/puppetd_run.sh", command => "/usr/local/sbin/puppetd_run.sh",
user => root, user => root,
minute => $run_minute, minute => $run_minute,
@@ -72,41 +60,36 @@ class puppet ($ensure = "present",
ensure => "${cron_real}", ensure => "${cron_real}",
} }
$maxsleep = 6400 $maxsleep = 6400
file {
"/usr/local/sbin/puppetd_run.sh" : file { "/usr/local/sbin/puppetd_run.sh":
content => template("puppet/puppetd_run.sh.erb"), content => template("puppet/puppetd_run.sh.erb"),
mode => 0700, mode => 0700,
alias => "puppetd_run.sh", alias => "puppetd_run.sh",
ensure => "${ensure}", ensure => "${ensure}",
} }
case $kernel { case $kernel {
"Darwin" : { "Darwin" : {
file { file { "/Library/LaunchDaemons/org.macports.puppet.plist":
"/Library/LaunchDaemons/org.macports.puppet.plist" : source => "puppet:///modules/puppet/org.macports.puppet.plist",
source =>
"puppet:///modules/puppet/org.macports.puppet.plist",
before => Service["${puppet_service}"], before => Service["${puppet_service}"],
} }
file {
"/opt/local/lib/ruby/site_ruby/1.8/puppet/provider/package/appdmg.rb" : file { "/opt/local/lib/ruby/site_ruby/1.8/puppet/provider/package/appdmg.rb": ensure => "absent", }
ensure => "absent",
}
} }
"Linux" : { "Linux" : {
replace { replace { "enable_puppet":
"enable_puppet" :
file => "/etc/default/puppet", file => "/etc/default/puppet",
pattern => "START=no", pattern => "START=no",
replacement => "START=yes", replacement => "START=yes",
before => Service["${puppet_service}"], before => Service["${puppet_service}"],
} }
monit::process {
"puppet" : monit::process { "puppet":
start => "/etc/init.d/puppet start", start => "/etc/init.d/puppet start",
stop => "/etc/init.d/puppet stop", stop => "/etc/init.d/puppet stop",
pidfile => "/var/run/puppet/agent.pid", pidfile => "/var/run/puppet/agent.pid",
additional => additional => "if totalmem > 400 Mb for 10 cycles then RESTART",
"if totalmem > 400 Mb for 10 cycles then RESTART",
ensure => $daemonize ? { ensure => $daemonize ? {
"true" => "present", "true" => "present",
default => "absent", default => "absent",
@@ -122,12 +105,12 @@ class puppet ($ensure = "present",
"Darwin" => "wheel", "Darwin" => "wheel",
default => "puppet", default => "puppet",
} }
#"FreeBSD" => "/usr/local/etc/puppet/puppet.conf", # "FreeBSD" => "/usr/local/etc/puppet/puppet.conf",
$puppetconf = $operatingsystem ? { $puppetconf = $operatingsystem ? {
default => "/etc/puppet/puppet.conf", default => "/etc/puppet/puppet.conf",
} }
file {
$puppetconf : file { $puppetconf:
content => template("puppet/puppet.conf.erb"), content => template("puppet/puppet.conf.erb"),
mode => 0644, mode => 0644,
owner => $puppet_user, owner => $puppet_user,
@@ -135,45 +118,39 @@ class puppet ($ensure = "present",
# require => [ Package["puppet"] ], # require => [ Package["puppet"] ],
} }
#add facter variable to custom facts. # add facter variable to custom facts.
file { file { "/etc/profile.d/puppet.sh":
"/etc/profile.d/puppet.sh" :
content => "export FACTERLIB=\"${factpath}\"\n", content => "export FACTERLIB=\"${factpath}\"\n",
ensure => $ensure, ensure => $ensure,
} }
} }
@@puppet::puppetmaster::privatedir {
$fqdn : @@puppet::puppetmaster::privatedir { $fqdn: l_fqdn => generate('/usr/bin/env', 'perl', '-e', '$_=shift;tr/[A-Z]/[a-z]/;print $_',
l_fqdn => generate('/usr/bin/env', 'perl', '-e', "$fqdn") }
'$_=shift;tr/[A-Z]/[a-z]/;print $_', "$fqdn")
}
class puppet::puppet-dashboard ($ensure = "present") { class puppet::puppet-dashboard ($ensure = "present") {
package { package { ["libjson-ruby", "puppet-dashboard"]:
["libjson-ruby", "puppet-dashboard"] :
ensure => $ensure, ensure => $ensure,
require => Apt::Repository["puppet-dashboard"], require => Apt::Repository["puppet-dashboard"],
} }
apt::repository {
"puppet-dashboard" : apt::repository { "puppet-dashboard":
key => "8347A27F", key => "8347A27F",
repository => repository => "deb http://apt.puppetlabs.com ${lsbdistcodename} main\n",
"deb http://apt.puppetlabs.com/ubuntu lucid main\ndeb-src http://apt.puppetlabs.com/ubuntu lucid main\n",
ensure => $ensure, ensure => $ensure,
} }
cron {
"purge-reports" : cron { "purge-reports":
command => command => "cd /usr/share/puppet-dashboard && rake RAILS_ENV=production reports:prune upto=14 unit=day",
"cd /usr/share/puppet-dashboard && rake RAILS_ENV=production reports:prune upto=14 unit=day",
user => "www-data", user => "www-data",
hour => "23", hour => "23",
minute => "2", minute => "2",
monthday => "*/14", monthday => "*/14",
ensure => $ensure, ensure => $ensure,
} }
cron {
"purge-optimizedb" : cron { "purge-optimizedb":
command => command => "cd /usr/share/puppet-dashboard && rake RAILS_ENV=production db:raw:optimize",
"cd /usr/share/puppet-dashboard && rake RAILS_ENV=production db:raw:optimize",
user => "www-data", user => "www-data",
hour => "23", hour => "23",
minute => "20", minute => "20",
@@ -181,46 +158,37 @@ class puppet::puppet-dashboard ($ensure = "present") {
ensure => $ensure, ensure => $ensure,
} }
} }
class puppet::puppetmaster ($ensure = "present",
$puppetqd = true) { class puppet::puppetmaster ($ensure = "present", $puppetqd = false) {
if $puppetqd { if $puppetqd {
class { class { "activemq": ensure => $ensure }
"activemq" :
ensure => $ensure package { "libnet-arp-perl": ensure => $ensure }
}
package { service { "stompserver":
"libnet-arp-perl" :
ensure => $ensure
}
service {
"stompserver" :
ensure => false, ensure => false,
enable => false, enable => false,
before => Class["activemq"], before => Class["activemq"],
} }
service {
"puppetqd" : service { "puppetqd":
ensure => running, ensure => running,
pattern => "puppet queue queue", pattern => "puppet queue queue",
enable => true, enable => true,
} }
} }
Ganglia::Gmetric::Cron { Ganglia::Gmetric::Cron {
source => "puppet/ganglia", source => "puppet/ganglia",
ensure => "${ensure}", ensure => "${ensure}",
} }
ganglia::gmetric::cron {
"puppetmaster.rb" :
runwhen => "5",
}
ganglia::gmetric::cron {
"puppetmaster_compiletime.rb" :
runwhen => "60",
}
### remove disk reports from time to time ganglia::gmetric::cron { "puppetmaster.rb": runwhen => "5", }
tidy {
"${puppet_vardir}/reports" : ganglia::gmetric::cron { "puppetmaster_compiletime.rb": runwhen => "60", }
# ## remove disk reports from time to time
tidy { "${puppet_vardir}/reports":
age => "1d", age => "1d",
recurse => true, recurse => true,
backup => false, backup => false,
@@ -229,6 +197,5 @@ class puppet::puppetmaster ($ensure = "present",
# create [private] directories # create [private] directories
# file { $puppet_privdir: ensure => directory } # file { $puppet_privdir: ensure => directory }
# Puppet::Puppetmaster::Privatedir <<| |>> # Puppet::Puppetmaster::Privatedir <<| |>>
} }
import "defines/*.pp" import "defines/*.pp"

View File

@@ -12,8 +12,9 @@
export FACTERLIB="<%= scope.lookupvar("factpath") %>" export FACTERLIB="<%= scope.lookupvar("factpath") %>"
PATH="/opt/local/bin:/opt/local/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" PATH="/opt/local/bin:/opt/local/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
PUPPET=$(which puppetd) PUPPET=$(which puppet)
[[ -e ${PUPPET} ]] || exit 1 [[ -e ${PUPPET} ]] || exit 1
PUPPET="${PUPPET} agent"
<% if run_if_ipmatch != "" -%> <% if run_if_ipmatch != "" -%>
ISUNIIP=$(ifconfig |grep -c -e "<%= run_if_ipmatch %>") ISUNIIP=$(ifconfig |grep -c -e "<%= run_if_ipmatch %>")
<% else -%> <% else -%>