]> git.donarmstrong.com Git - dsa-puppet.git/commitdiff
an aptitude killer for squeeze
authorPeter Palfrader <peter@palfrader.org>
Sat, 4 May 2013 11:03:44 +0000 (13:03 +0200)
committerPeter Palfrader <peter@palfrader.org>
Sat, 4 May 2013 11:03:52 +0000 (13:03 +0200)
modules/buildd/files/buildd-schroot-aptitude-kill.squeeze [new file with mode: 0644]
modules/buildd/manifests/init.pp

diff --git a/modules/buildd/files/buildd-schroot-aptitude-kill.squeeze b/modules/buildd/files/buildd-schroot-aptitude-kill.squeeze
new file mode 100644 (file)
index 0000000..032c5a5
--- /dev/null
@@ -0,0 +1,14 @@
+#!/bin/bash
+
+schroots=$(pgrep -x -u 0 schroot -d ',')
+pgrep -x -u 0 -P "$schroots" aptitude | xargs ps h -o 'pid,vsz,cputime' | while read pid vsz cputime; do
+  mb=$((vsz/1024))
+  [ "$mb" -lt 250 ] && continue
+  hours=${vsz%%:*}
+  nohours=${vsz#*:}
+  mins=${nohours%:*}
+
+  if [ "$hours" -gt 0 ] || [ "$mins" -gt 15 ]; then
+    kill $pid
+  fi
+done
index 02231fe5ea5baf576e4b12cb7e871d2f8577a0d8..ec575bf8470b7b51d91e5a37f4ce1834903827a8 100644 (file)
@@ -85,8 +85,13 @@ class buildd ($ensure=present) {
                        source  => 'puppet:///modules/buildd/buildd-schroot-aptitude-kill',
                        mode    => '0555',
                }
-               file { '/etc/cron.d/puppet-buildd-aptitude':
-                       content => "*/5 * * * * root /usr/local/sbin/buildd-schroot-aptitude-kill\n",
+       } else {
+               file { '/usr/local/sbin/buildd-schroot-aptitude-kill':
+                       source  => 'puppet:///modules/buildd/buildd-schroot-aptitude-kill.squeeze',
+                       mode    => '0555',
                }
        }
+       file { '/etc/cron.d/puppet-buildd-aptitude':
+               content => "*/5 * * * * root /usr/local/sbin/buildd-schroot-aptitude-kill\n",
+       }
 }