aboutsummaryrefslogtreecommitdiff
path: root/rumba/model.py
diff options
context:
space:
mode:
authorSander Vrijders <sander.vrijders@ugent.be>2017-06-16 17:58:40 +0200
committerSander Vrijders <sander.vrijders@ugent.be>2017-06-19 11:35:38 +0200
commitc76edec913dbdd847d6d5229d8b8cef090084cef (patch)
treefc25bb188d954b8ea79e6270aab50236e389b355 /rumba/model.py
parent67288b3505dab7e9ea74fc87d139301e945b4a78 (diff)
downloadrumba-c76edec913dbdd847d6d5229d8b8cef090084cef.tar.gz
rumba-c76edec913dbdd847d6d5229d8b8cef090084cef.zip
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
Diffstat (limited to 'rumba/model.py')
-rw-r--r--rumba/model.py21
1 files changed, 17 insertions, 4 deletions
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,