From 3a8d50d01fcd8639ed429909aead5ff8c002fe10 Mon Sep 17 00:00:00 2001 From: Stephen Gran Date: Fri, 12 Jun 2009 17:29:52 +0100 Subject: [PATCH] I'm getting tired of finding stuck cron daemons Signed-off-by: Stephen Gran --- files/etc/cron.d/dsa-puppet-stuff | 1 + modules/debian-org/manifests/init.pp | 5 +++++ modules/monit/files/puppet | 9 +++++++++ modules/samhain/templates/samhainrc.erb | 1 + 4 files changed, 16 insertions(+) create mode 100644 files/etc/cron.d/dsa-puppet-stuff diff --git a/files/etc/cron.d/dsa-puppet-stuff b/files/etc/cron.d/dsa-puppet-stuff new file mode 100644 index 000000000..0d16c2ceb --- /dev/null +++ b/files/etc/cron.d/dsa-puppet-stuff @@ -0,0 +1 @@ +@hourly root [ ! -d /var/cache/dsa ] || touch /var/cache/dsa/cron.alive diff --git a/modules/debian-org/manifests/init.pp b/modules/debian-org/manifests/init.pp index de1b4a6a6..ae9e504c9 100644 --- a/modules/debian-org/manifests/init.pp +++ b/modules/debian-org/manifests/init.pp @@ -1,6 +1,7 @@ class debian-org { package { "userdir-ldap": ensure => installed; "zsh": ensure => installed; + "cron": ensure => installed; "apt-utils": ensure => installed; "tcsh": ensure => installed; "pdksh": ensure => installed; @@ -62,6 +63,10 @@ class debian-org { "/etc/logrotate.d/syslog-ng": source => "puppet:///files/etc/logrotate.d/syslog-ng", ; + "/etc/cron.d/dsa-puppet-stuff": + source => "puppet:///files/etc/cron.d/dsa-puppet-stuff", + require => Package["cron"] + ; } case $hostname { handel: { diff --git a/modules/monit/files/puppet b/modules/monit/files/puppet index ab3fe14ed..589ecbcf1 100644 --- a/modules/monit/files/puppet +++ b/modules/monit/files/puppet @@ -14,3 +14,12 @@ check file puppetstate if timestamp > 90 minutes for 9 cycles then exec "/etc/init.d/puppet stop" depends on puppetd +check process cron with pidfile /var/run/crond.pid + start program = "/etc/init.d/cron start" + stop program = "/etc/init.d/cron stop" + if 5 restarts within 5 cycles then timeout + +check file cronalive + with path /var/cache/dsa/cron.alive + if timestamp > 120 minutes for 5 cycles then exec "/etc/init.d/cron stop" + depends on crond diff --git a/modules/samhain/templates/samhainrc.erb b/modules/samhain/templates/samhainrc.erb index 861e75a80..78fad9c14 100644 --- a/modules/samhain/templates/samhainrc.erb +++ b/modules/samhain/templates/samhainrc.erb @@ -299,6 +299,7 @@ file=/etc/pam.d/sudo file=/etc/monit/monitrc file=/etc/monit/monit.d/01puppet file=/etc/monit/monit.d/00debian.org +file=/etc/cron.d/dsa-puppet-stuff <%= extrafiles="" case fqdn when "spohr.debian.org": extrafiles="file=/etc/nagios3/puppetconf.d/auto-hostgroups.cfg -- 2.20.1