From e1355efb657b9104cb3f4041dea903f828387087 Mon Sep 17 00:00:00 2001
From: Claudio-Daniel Freire <claudio-daniel.freire@inria.fr>
Date: Wed, 17 Aug 2011 14:10:48 +0200
Subject: [PATCH] Add nice priority to YumDependency's yum commands. They use
 up a good amount of CPU, and on nodes with many slices concurrently running
 yum, it could affect running experiments in other slices.

---
 src/nepi/testbeds/planetlab/application.py | 14 ++++++--------
 1 file changed, 6 insertions(+), 8 deletions(-)

diff --git a/src/nepi/testbeds/planetlab/application.py b/src/nepi/testbeds/planetlab/application.py
index ac609309..b40aecb6 100644
--- a/src/nepi/testbeds/planetlab/application.py
+++ b/src/nepi/testbeds/planetlab/application.py
@@ -956,17 +956,15 @@ class YumDependency(Dependency):
         
         # download rpms and pack into a tar archive
         return (
-            "sudo -S yum -y makecache && "
+            "sudo -S nice yum -y makecache && "
             "sudo -S sed -i -r 's/keepcache *= *0/keepcache=1/' /etc/yum.conf && "
             " ( ( "
-                "sudo -S yum -y install %s ; "
+                "sudo -S nice yum -y install %s ; "
                 "rm -f ${BUILD}/packages.tar ; "
-                "( tar -C /var/cache/yum -rf ${BUILD}/packages.tar $(find /var/cache/yum -iname '*.rpm')"
-                    # Try again if it fails, some files sometimes disappear because yum deletes them
-                "  || ( rm -f ${BUILD}/packages.tar ; tar -C /var/cache/yum -rf ${BUILD}/packages.tar $(find /var/cache/yum -iname '*.rpm') ) )"
+                "tar -C /var/cache/yum -rf ${BUILD}/packages.tar $(cd /var/cache/yum ; find -iname '*.rpm')"
             " ) || /bin/true ) && "
             "sudo -S sed -i -r 's/keepcache *= *1/keepcache=0/' /etc/yum.conf && "
-            "sudo -S yum -y clean packages "
+            "sudo -S nice yum -y clean packages "
         ) % ( depends, )
     def _build_set(self, value):
         # ignore
@@ -980,8 +978,8 @@ class YumDependency(Dependency):
         # unpack cached rpms into yum cache, install, and cleanup
         return (
             "tar -k --keep-newer-files -C /var/cache/yum -xf packages.tar && "
-            "sudo -S yum -y install %s && "
-            "sudo -S yum -y clean packages "
+            "sudo -S nice yum -y install %s && "
+            "sudo -S nice yum -y clean packages "
         ) % ( depends, )
     def _install_set(self, value):
         # ignore
-- 
2.47.0