From 3f1a3d0efb58a4395add825195a76e2b2e8ef8a8 Mon Sep 17 00:00:00 2001 From: Silvio Rhatto Date: Wed, 23 Feb 2011 10:58:30 -0300 Subject: Enhancing puppet-check --- files/cron.d/puppetd | 2 +- manifests/puppetd.pp | 2 +- templates/check-puppetd.sh.erb | 5 ++++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/files/cron.d/puppetd b/files/cron.d/puppetd index 3e356ae..137fa6e 100644 --- a/files/cron.d/puppetd +++ b/files/cron.d/puppetd @@ -1,2 +1,2 @@ # restart puppet once in a while and randomly delay the restart between 0 and 32 minutes -> splay puppetmaster hammering -0 22 * * */2 root /bin/bash -c "sleep `echo $RANDOM/1000*60 | bc` && /etc/init.d/puppet restart" > /dev/null +0 22 * * */2 root /usr/local/sbin/check-puppetd.sh restart > /dev/null diff --git a/manifests/puppetd.pp b/manifests/puppetd.pp index f2c6680..8265b77 100644 --- a/manifests/puppetd.pp +++ b/manifests/puppetd.pp @@ -67,7 +67,7 @@ class puppetd inherits puppet { } cron { "puppetd-check": - command => "/usr/local/sbin/check-puppetd.sh > /dev/null 2>&1", + command => "/usr/local/sbin/check-puppetd.sh > /dev/null", user => root, hour => "*/1", minute => "0", diff --git a/templates/check-puppetd.sh.erb b/templates/check-puppetd.sh.erb index 639a1d5..80ea3f6 100644 --- a/templates/check-puppetd.sh.erb +++ b/templates/check-puppetd.sh.erb @@ -3,6 +3,7 @@ # check if puppet is running # +PATH="$PATH:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin" PID="/var/run/puppet/<%= puppet_agent_name %>.pid" INIT="/etc/init.d/puppet" @@ -11,7 +12,9 @@ function puppet_start { $INIT start } -if [ ! -f "$PID" ]; then +if [ "$1" == "restart" ]; then + puppet_restart +elif [ ! -f "$PID" ]; then puppet_start else running="$(ps $(cat $PID) &> /dev/null)" -- cgit v1.2.3