update to dashboard repo, update to pupppet-run
This commit is contained in:
@@ -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"
|
||||||
|
|||||||
@@ -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 -%>
|
||||||
|
|||||||
Reference in New Issue
Block a user