# Copyright (C) 2013 INRIA
#
# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
+# it under the terms of the GNU General Public License version 2 as
+# published by the Free Software Foundation;
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
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)
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)
ip = sshfuncs.gethostbyname(self.get("hostname"))
self.set("ip", ip)
except:
- msg = "Local DNS can not resolve hostname %s" % self.get("hostname")
- self.error(msg)
-
+ if self.get("gateway") is None:
+ msg = "Local DNS can not resolve hostname %s" % self.get("hostname")
+ self.error(msg)
super(LinuxNode, self).do_provision()
if tear_down:
self.execute(tear_down)
- self.clean_processes()
+ if self.get("cleanProcessesAfter"):
+ self.clean_processes()
super(LinuxNode, self).do_release()