]> git.donarmstrong.com Git - dsa-puppet.git/blobdiff - modules/buildd/files/buildd-schroot-aptitude-kill
Make buildd-schroot-aptitude-kill work on jessie
[dsa-puppet.git] / modules / buildd / files / buildd-schroot-aptitude-kill
index 07f75c1de2c7c4af8019469027c6d4cce99a5ca7..5e90d77ecc9575d19707a9519b506a09b2782a18 100755 (executable)
 # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
 import os
-import psutil
+import errno
+import sys
+try:
+       import psutil
+except OSError, e:
+       # XXX: This is a hack, but since we are run from cron, it's
+       # better to handle this on the next run than to send mail.
+       if e.errno == errno.ENOENT:
+               sys.exit(0)
 
 total_mem = psutil.phymem_usage().total
 cutoff_time = 60*10
 
 for p in psutil.process_iter():
        try:
-               if p.name != 'aptitude': continue
-               parent = p.parent
+               if p.name() != 'aptitude': continue
+               parent = p.parent()
                if parent is None: continue
-               if parent.name != 'schroot': continue
+               if parent.name() != 'schroot': continue
                #
-               rootdir = os.readlink('/proc/%d/root'%(p.pid,))
+               try:
+                       rootdir = os.readlink('/proc/%d/root'%(p.pid,))
+               except OSError as e:
+                       if e.errno == errno.ENOENT:
+                               continue
+                       else:
+                               raise e
                if not rootdir.startswith('/var/lib/schroot/mount'): continue
                #
                used = p.get_memory_info().vms
@@ -46,5 +60,5 @@ for p in psutil.process_iter():
                if cputime < cutoff_time: continue
                #
                p.kill()
-       except psutil.error.NoSuchProcess:
+       except psutil.NoSuchProcess:
                pass