X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=src%2Fneco%2Fresources%2Flinux%2Fnode.py;h=39107cb541defa74be33cd0a9e75f8a3032a0a91;hb=7a9e71714aa04620778742135637c9f1ed8c499b;hp=4907c21f7eb3ece7ecc1bd4e40729c03df2b4ffe;hpb=6337302c0db631641b3e6a47c6e57c4864711acc;p=nepi.git diff --git a/src/neco/resources/linux/node.py b/src/neco/resources/linux/node.py index 4907c21f..39107cb5 100644 --- a/src/neco/resources/linux/node.py +++ b/src/neco/resources/linux/node.py @@ -18,6 +18,7 @@ import threading reschedule_delay = "0.5s" + @clsinit class LinuxNode(ResourceManager): _rtype = "LinuxNode" @@ -79,18 +80,16 @@ class LinuxNode(ResourceManager): @property def home(self): - return self.get("home") or "/tmp" + return self.get("home") or "" @property - def exp_dir(self): - exp_dir = os.path.join(self.home, self.ec.exp_id) - return exp_dir if exp_dir.startswith('/') or \ - exp_dir.startswith("~/") else "~/" + def exp_home(self): + return os.path.join(self.home, self.ec.exp_id) @property def node_home(self): node_home = "node-%d" % self.guid - return os.path.join(self.exp_dir, node_home) + return os.path.join(self.exp_home, node_home) @property def os(self): @@ -197,10 +196,15 @@ class LinuxNode(ResourceManager): def clean_home(self): self.info("Cleaning up home") - - cmd = ("cd %s ; " % self.home + - "find . -maxdepth 1 \( -name '.cache' -o -name '.local' -o -name '.config' -o -name 'nepi-*' \)"+ - " -execdir rm -rf {} + ") + + cmd = ( + # "find . -maxdepth 1 \( -name '.cache' -o -name '.local' -o -name '.config' -o -name 'nepi-*' \)" + + "find . -maxdepth 1 -name 'nepi-*' " + + " -execdir rm -rf {} + " + ) + + if self.home: + cmd = "cd %s ; " % self.home + cmd out = err = "" (out, err), proc = self.execute(cmd, with_lock = True) @@ -511,7 +515,7 @@ class LinuxNode(ResourceManager): def run(self, command, home = None, - create_home = True, + create_home = False, pidfile = "pid", stdin = None, stdout = 'stdout',