run tests on nodes in offline mode
diff --git a/wally/run_test.py b/wally/run_test.py
index d578349..d4b33bf 100755
--- a/wally/run_test.py
+++ b/wally/run_test.py
@@ -2,7 +2,6 @@
 
 import os
 import sys
-import time
 import Queue
 import pprint
 import logging
@@ -78,23 +77,26 @@
 
 
 def test_thread(test, node, barrier, res_q):
+    exc = None
     try:
         logger.debug("Run preparation for {0}".format(node.get_conn_id()))
-        test.pre_run(node.connection)
+        test.pre_run()
         logger.debug("Run test for {0}".format(node.get_conn_id()))
-        test.run(node.connection, barrier)
+        test.run(barrier)
     except Exception as exc:
         logger.exception("In test {0} for node {1}".format(test, node))
-        res_q.put(exc)
 
     try:
-        test.cleanup(node.connection)
+        test.cleanup()
     except:
         msg = "Duringf cleanup - in test {0} for node {1}"
         logger.exception(msg.format(test, node))
 
+    if exc is not None:
+        res_q.put(exc)
 
-def run_tests(test_block, nodes):
+
+def run_tests(test_block, nodes, test_uuid):
     tool_type_mapper = {
         "io": IOPerfTest,
         "pgbench": PgBenchTest,
@@ -124,8 +126,8 @@
             if not os.path.exists(dr):
                 os.makedirs(dr)
 
-            test = tool_type_mapper[name](params, res_q.put, dr,
-                                          node=node.get_conn_id())
+            test = tool_type_mapper[name](params, res_q.put, test_uuid, node,
+                                          log_directory=dr)
             th = threading.Thread(None, test_thread, None,
                                   (test, node, barrier, res_q))
             threads.append(th)
@@ -313,10 +315,13 @@
 
                 if not cfg['no_tests']:
                     for test_group in config.get('tests', []):
-                        ctx.results.extend(run_tests(test_group, ctx.nodes))
+                        test_res = run_tests(test_group, ctx.nodes,
+                                             cfg['run_uuid'])
+                        ctx.results.extend(test_res)
         else:
             if not cfg['no_tests']:
-                ctx.results.extend(run_tests(group, ctx.nodes))
+                test_res = run_tests(group, ctx.nodes, cfg['run_uuid'])
+                ctx.results.extend(test_res)
 
 
 def shut_down_vms_stage(cfg, ctx):