From ca002f1352e43f4ebb2c120342cdaf6ef7d65ef4 Mon Sep 17 00:00:00 2001 From: Peter Palfrader Date: Sat, 4 May 2013 13:03:44 +0200 Subject: [PATCH] an aptitude killer for squeeze --- .../files/buildd-schroot-aptitude-kill.squeeze | 14 ++++++++++++++ modules/buildd/manifests/init.pp | 9 +++++++-- 2 files changed, 21 insertions(+), 2 deletions(-) create mode 100644 modules/buildd/files/buildd-schroot-aptitude-kill.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", + } } -- 2.39.2