added a cleanProcessesAfter attribute to the linux::Node class, which defaults to...
[nepi.git] / src / nepi / resources / linux / node.py
index 7c8b362..b0d63c9 100644 (file)
@@ -183,6 +183,13 @@ class LinuxNode(ResourceManager):
                 default = False,
                 flags = Flags.Design)
         
+        clean_processes_after = Attribute("cleanProcessesAfter", 
+                """Kill all running processes after starting experiment
+This might be dangerous when using user root""",
+                type = Types.Bool,
+                default = True,
+                flags = Flags.Design)
+        
         tear_down = Attribute("tearDown", "Bash script to be executed before " + \
                 "releasing the resource",
                 flags = Flags.Design)
@@ -206,6 +213,7 @@ class LinuxNode(ResourceManager):
         cls._register_attribute(clean_home)
         cls._register_attribute(clean_experiment)
         cls._register_attribute(clean_processes)
+        cls._register_attribute(clean_processes_after)
         cls._register_attribute(tear_down)
         cls._register_attribute(gateway_user)
         cls._register_attribute(gateway)
@@ -406,7 +414,8 @@ class LinuxNode(ResourceManager):
         if tear_down:
             self.execute(tear_down)
 
-        self.clean_processes()
+        if self.get("cleanProcessesAfter"):
+            self.clean_processes()
 
         super(LinuxNode, self).do_release()