diff --git a/scripts/run_test.sh b/scripts/run_test.sh
index b6d9ac8..a4351ce 100644
--- a/scripts/run_test.sh
+++ b/scripts/run_test.sh
@@ -1,13 +1,14 @@
 function get_arguments() {
-    export FUEL_MASTER_IP=${1:-172.16.52.108}
-    export FUEL_MASTER_PASSWD=${2:-test37}
-    export EXTERNAL_IP=${3:-172.16.55.2}
-    export KEY_FILE_NAME=${4:-disk_io_perf.pem}
-    export FILE_TO_TEST=${5:-file.txt}
-    export RESULT_FILE=${6:-results.txt}
-    export TIMEOUT=${7:-60}
 
-    if [ $KEY_FILE_NAME does not exist ];
+    export FUEL_MASTER_IP=${1:-172.16.52.108} # << FIXME
+    export FUEL_MASTER_PASSWD=${2:-test37}
+    export EXTERNAL_IP=${3:-172.16.55.2}  # << FIXME .....
+    export KEY_FILE_NAME=${4:-disk_io_perf.pem}
+    export FILE_TO_TEST=$5 # << FIXME
+    export RESULT_FILE=$6
+    export TIMEOUT=${7:-360}
+
+    if [ $KEY_FILE_NAME does not exist ];  # << FIXME
     then
        echo "File $KEY_FILE_NAME does not exist."
     fi
@@ -104,18 +105,27 @@
     echo 'AUTH_URL: "$OS_AUTH_URL"'
 }
 
+# CHECK
+shift
+get_arguments $@
 
-get_arguments $1 $2 $3 $4 $5 $6 $6 $7
 echo "getting openrc from controller node"
 get_openrc
+
 echo "openrc has been activated on your machine"
 get_floating_ip
+
 echo "floating ip has been found"
 bash prepare.sh
 echo "Image has been sended to glance"
 wait_image_active
 echo "Image has been saved"
-VOL_ID=$(boot_vm)
+
+BOOT_LOG_FILE=`tempfile`
+boot_vm | tee "$BOOT_LOG_FILE"
+VOL_ID=$(cat "$BOOT_LOG_FILE" | grep "VOL_ID=" | sed 's/VOL_ID=//')
+rm "$BOOT_LOG_FILE"
+
 echo "VM has been booted"
 wait_floating_ip
 echo "Floating IP has been obtained"
diff --git a/scripts/run_vm.sh b/scripts/run_vm.sh
index 2f0f888..dfd6fb3 100644
--- a/scripts/run_vm.sh
+++ b/scripts/run_vm.sh
@@ -62,21 +62,27 @@
 	nova floating-ip-associate $VM_NAME $VM_IP
 
 	nova volume-attach $VM_NAME $VOL_ID $VOLUME_DEVICE >/dev/null
-	echo $VOL_ID
+	echo "VOL_ID=$VOL_ID"
 }
 
 function prepare_vm() {
-	scp -i "$KEY_FILE_NAME" -r ../io_scenario ubuntu@${VM_IP}:/tmp >/dev/null
 	echo "Copy io scenario folded"
-	scp -i "$KEY_FILE_NAME" $DEBS ubuntu@${VM_IP}:/tmp >/dev/null
+	scp -i "$KEY_FILE_NAME" -r ../io_scenario ubuntu@${VM_IP}:/tmp >/dev/null
+
 	echo "Copy DEBS packages"
-	scp -i "$KEY_FILE_NAME" single_node_test_short.sh ubuntu@${VM_IP}:/tmp >/dev/null
+	scp -i "$KEY_FILE_NAME" $DEBS ubuntu@${VM_IP}:/tmp >/dev/null
+
 	echo "Copy single_node_test_short"
-	ssh $SSH_OPTS -i "$KEY_FILE_NAME" ubuntu@${VM_IP} sudo dpkg -i $DEBS >/dev/null
+	scp -i "$KEY_FILE_NAME" single_node_test_short.sh ubuntu@${VM_IP}:/tmp >/dev/null
+
     echo "dpkg on vm"
+	ssh $SSH_OPTS -i "$KEY_FILE_NAME" ubuntu@${VM_IP} sudo dpkg -i $DEBS >/dev/null
 }
 
 function prepare_node() {
+	# set -e
+	# set -o pipefail
+
 	COMPUTE_NODE=$($SSH_OVER_MASTER fuel node | grep compute | awk '-F|' '{gsub(" ", "", $5); print $5}')
 
 	sshpass -p${FUEL_PASSWD} scp -r ../io_scenario root@${MASTER_IP}:/tmp
