diff --git a/configs/usb_hdd.yaml b/configs/usb_hdd.yaml
index c0d1086..47f759b 100644
--- a/configs/usb_hdd.yaml
+++ b/configs/usb_hdd.yaml
@@ -17,7 +17,7 @@
         prefill_files: false
         params:
             FILENAME: /media/koder/a5230078-4c27-4c3b-99aa-26148e78b2e7/xxx.bin
-            NUM_ROUNDS: 3
+            NUM_ROUNDS: 1
 
 logging:
     extra_logs: 1
\ No newline at end of file
diff --git a/requirements.txt b/requirements.txt
index 6c0f07e..e619460 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,17 +1,19 @@
-oktest
-priest
+decorator
+futures
 GChartWrapper==0.8
-decorator==3.4.0
-futures==2.2.0
 iso8601==0.1.10
-netaddr==0.7.13
+netaddr
+oktest
 paramiko==1.15.2
-petname==1.7
+petname
+prest
 prettytable==0.7.2
 pyOpenSSL==0.14
 python-cinderclient
 python-glanceclient
 python-keystoneclient
 python-novaclient
-requests==2.2.1
-simplejson==3.6.5
+PyYAML
+requests
+simplejson
+texttable
diff --git a/wally/suits/io/agent.py b/wally/suits/io/agent.py
index 1982e35..c012950 100644
--- a/wally/suits/io/agent.py
+++ b/wally/suits/io/agent.py
@@ -249,8 +249,8 @@
     except KeyError:
         pass
 
-    is_sync = config.get("sync", "0") == "1"
-    is_direct = config.get("direct", "0") == "1"
+    is_sync = str(config.get("sync", "0")) == "1"
+    is_direct = str(config.get("direct", "0")) == "1"
 
     if is_sync and is_direct:
         return 'x'
@@ -270,9 +270,9 @@
 
     sync_mode = get_test_sync_mode(params)
     th_count = params.get('numjobs')
+
     if th_count is None:
-        th_count = params.get('concurence', '1')
-    th_count = int(th_count)
+        th_count = params.get('concurence', 1)
 
     return "{0}{1}{2}th{3}".format(rw,
                                    sync_mode,
diff --git a/wally/suits/itest.py b/wally/suits/itest.py
index 0062569..0b8a131 100644
--- a/wally/suits/itest.py
+++ b/wally/suits/itest.py
@@ -2,6 +2,7 @@
 import time
 import os.path
 import logging
+import datetime
 
 from wally.ssh_utils import copy_paths, run_over_ssh, delete_file
 from wally.utils import ssize_to_b, open_for_append_or_create, sec_to_str
@@ -195,8 +196,16 @@
         try:
             timeout = int(exec_time * 1.2 + 300)
             if barrier.wait():
-                templ = "Test should takes about {0}. Will wait at most {1}"
-                logger.info(templ.format(exec_time_str, sec_to_str(timeout)))
+                templ = "Test should takes about {0}." + \
+                        " Should finish at {1}," + \
+                        " will wait at most till {2}"
+                now_dt = datetime.datetime.now()
+                end_dt = now_dt + datetime.timedelta(0, exec_time)
+                wait_till = now_dt + datetime.timedelta(0, timeout)
+
+                logger.info(templ.format(exec_time_str,
+                                         end_dt.strftime("%H:%M:%S"),
+                                         wait_till.strftime("%H:%M:%S")))
 
             out_err = run_over_ssh(conn, cmd,
                                    stdin_data=self.raw_cfg,
