]> gitweb.fluxo.info Git - puppet-puppet.git/commitdiff
Restart puppet and puppetmaster from time to time
authorSilvio Rhatto <rhatto@riseup.net>
Sat, 19 Feb 2011 21:09:19 +0000 (19:09 -0200)
committerSilvio Rhatto <rhatto@riseup.net>
Sat, 19 Feb 2011 21:09:19 +0000 (19:09 -0200)
files/check-puppetd.sh
files/cron.d/puppetd [new file with mode: 0644]
files/cron.d/puppetmaster [new file with mode: 0644]
manifests/puppetd.pp
manifests/puppetmasterd.pp

index c886ea312e8bc15949c3ee58d2557a72296cce06..10d6bc1e692f96cc5f43b59fac4a548caaf210ac 100644 (file)
@@ -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 (file)
index 0000000..5a45875
--- /dev/null
@@ -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 (file)
index 0000000..4ea0b66
--- /dev/null
@@ -0,0 +1,3 @@
+# we restart puppetmaster twice a day to avoid memory problems
+58 11 * * * root /etc/init.d/puppetmaster restart > /dev/null
+
index c098142348180cec867de46e291ff26cfac038f4..66edf434821d3a4cd5a41f19032113a1fc7b6f6d 100644 (file)
@@ -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;
+  }
 }
index d574c8d4678a5dc9c460238a01be77a01dd94ada..67ec4b4911300fe3bbfd9cdc50b0e5414d752e8b 100644 (file)
@@ -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",