When executing a server control file, make sure we run it inside a copy of the provided namespace. Otherwise objects created inside the control file may leave references lying around and never be cleaned up. Since we rely on SSHHost.__del__ to clean up logging processes, this can be a big problem.
From: John Admanski <jadmanski@google.com>
Signed-off-by: Martin J. Bligh <mbligh@google.com>
git-svn-id: http://test.kernel.org/svn/autotest/trunk@850 592f7852-d20e-0410-864c-8624ca9c26a4
diff --git a/server/server_job.py b/server/server_job.py
index a449b7d..027aada 100755
--- a/server/server_job.py
+++ b/server/server_job.py
@@ -105,6 +105,9 @@
def run(self, machines, reboot = False, namespace = {}):
+ # use a copy so changes don't affect the original dictionary
+ namespace = namespace.copy()
+
namespace['machines'] = machines
namespace['args'] = self.args
namespace['job'] = self