From c76edec913dbdd847d6d5229d8b8cef090084cef Mon Sep 17 00:00:00 2001 From: Sander Vrijders Date: Fri, 16 Jun 2017 17:58:40 +0200 Subject: rumba: Better placement of files created by Rumba Temporary files such as ssh_info, the rspecs, logs, ... are now created in /tmp/rumba to avoid too many files being created and never removed. The VM images and jFed CLI are kept in ~/.cache/rumba to avoid redownloading every reboot. Closes #18, #19 --- rumba/model.py | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) (limited to 'rumba/model.py') diff --git a/rumba/model.py b/rumba/model.py index affdcbf..f4f98d1 100644 --- a/rumba/model.py +++ b/rumba/model.py @@ -22,10 +22,25 @@ import abc import rumba.log as log - +import os +import stat logger = log.get_logger(__name__) +tmp_dir = '/tmp/rumba' +try: + os.mkdir(tmp_dir) + os.chmod(tmp_dir, stat.S_IRWXU | stat.S_IRWXG | stat.S_IRWXO) +except OSError: + # Already there, nothing to do + pass + +cache_dir = os.path.join(os.path.expanduser("~"), '.cache/rumba/') +try: + os.mkdir(cache_dir) +except OSError: + # Already there, nothing to do + pass # Represents generic testbed info # @@ -222,8 +237,6 @@ class Node: s += ", ".join(rl) s += " ]\n" - s += " Policies: [ " - return s def __hash__(self): @@ -628,7 +641,7 @@ class Experiment: break def dump_ssh_info(self): - f = open('ssh_info', 'w') + f = open(os.path.join(tmp_dir, 'ssh_info'), 'w') for node in self.nodes: f.write("%s;%s;%s;%s;%s\n" % (node.name, self.testbed.username, -- cgit v1.2.3