From: Peter Palfrader Date: Sat, 4 May 2013 11:03:44 +0000 (+0200) Subject: an aptitude killer for squeeze X-Git-Url: https://git.donarmstrong.com/?p=dsa-puppet.git;a=commitdiff_plain;h=ca002f1352e43f4ebb2c120342cdaf6ef7d65ef4 an aptitude killer for squeeze --- diff --git a/modules/buildd/files/buildd-schroot-aptitude-kill.squeeze b/modules/buildd/files/buildd-schroot-aptitude-kill.squeeze new file mode 100644 index 00000000..032c5a5c --- /dev/null +++ b/modules/buildd/files/buildd-schroot-aptitude-kill.squeeze @@ -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 diff --git a/modules/buildd/manifests/init.pp b/modules/buildd/manifests/init.pp index 02231fe5..ec575bf8 100644 --- a/modules/buildd/manifests/init.pp +++ b/modules/buildd/manifests/init.pp @@ -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", + } }