diff options
-rw-r--r-- | files/check-puppetd.sh | 1 | ||||
-rw-r--r-- | files/cron.d/puppetd | 3 | ||||
-rw-r--r-- | files/cron.d/puppetmaster | 3 | ||||
-rw-r--r-- | manifests/puppetd.pp | 7 | ||||
-rw-r--r-- | manifests/puppetmasterd.pp | 8 |
5 files changed, 22 insertions, 0 deletions
diff --git a/files/check-puppetd.sh b/files/check-puppetd.sh index c886ea3..10d6bc1 100644 --- a/files/check-puppetd.sh +++ b/files/check-puppetd.sh @@ -11,6 +11,7 @@ if [ ! -f "$PID" ]; then else running="$(ps $(cat $PID) &> /dev/null)" if [ "$?" != "0" ]; then + sleep `echo $RANDOM/2000*60 | bc` $INIT start fi fi diff --git a/files/cron.d/puppetd b/files/cron.d/puppetd new file mode 100644 index 0000000..5a45875 --- /dev/null +++ b/files/cron.d/puppetd @@ -0,0 +1,3 @@ +# restart puppet once in a while and randomly delay the restart between 0 and 32 minutes -> splay puppetmaster hammering +0 22 * * */2 root sleep `echo $RANDOM/1000*60 | bc` && /etc/init.d/puppet restart > /dev/null + diff --git a/files/cron.d/puppetmaster b/files/cron.d/puppetmaster new file mode 100644 index 0000000..4ea0b66 --- /dev/null +++ b/files/cron.d/puppetmaster @@ -0,0 +1,3 @@ +# we restart puppetmaster twice a day to avoid memory problems +58 11 * * * root /etc/init.d/puppetmaster restart > /dev/null + diff --git a/manifests/puppetd.pp b/manifests/puppetd.pp index c098142..66edf43 100644 --- a/manifests/puppetd.pp +++ b/manifests/puppetd.pp @@ -74,4 +74,11 @@ class puppetd inherits puppet { require => File["/usr/local/sbin/check-puppetd.sh"], ensure => present, } + + file { "/etc/cron.d/puppetd": + source => "puppet://$server/modules/puppet/cron.d/puppetd", + owner => root, + group => root, + mode => 0644; + } } diff --git a/manifests/puppetmasterd.pp b/manifests/puppetmasterd.pp index d574c8d..67ec4b4 100644 --- a/manifests/puppetmasterd.pp +++ b/manifests/puppetmasterd.pp @@ -106,6 +106,14 @@ class puppetmasterd { ensure => absent, } + # restart the master from time to time to avoid memory problems + file { "/etc/cron.d/puppetmaster": + source => "puppet://$server/modules/puppet/cron.d/puppetmaster", + owner => root, + group => root, + mode => 0644; + } + # and the script to the cron-job above file { "/usr/local/sbin/update-puppet-conf.sh": source => "puppet://$server/modules/puppet/update-puppet-conf.sh", |