Enhancing STC

Change-Id: Ibb8a001f5c6550860c4ade97378af7e97876a0ab
diff --git a/tools/test/bin/onos-check-apps b/tools/test/bin/onos-check-apps
index 9760a41..db5a473 100755
--- a/tools/test/bin/onos-check-apps
+++ b/tools/test/bin/onos-check-apps
@@ -13,7 +13,8 @@
 cut -c7- $aux | cut -d\  -f1 | sort > $aux.1
 
 # Normalize the expected apps
-apps=${ONOS_APPS:-drivers,openflow}
+apps=${2:-$ONOS_APPS}
+apps=${apps:-drivers,openflow}
 (for app in ${apps//,/ }; do echo org.onosproject.$app; done) | sort > $aux.2
 
 # Check for differences
diff --git a/tools/test/bin/onos-check-nodes b/tools/test/bin/onos-check-nodes
new file mode 100755
index 0000000..983d1e6
--- /dev/null
+++ b/tools/test/bin/onos-check-nodes
@@ -0,0 +1,21 @@
+#!/bin/bash
+# -----------------------------------------------------------------------------
+# Checks whether all and only the ONOS instances configured active.
+# -----------------------------------------------------------------------------
+
+aux=/tmp/stc-$$.log
+trap "rm -f $aux $aux.1 $aux.2 2>/dev/null" EXIT
+
+onos ${1:-$OCI} "onos:nodes" > $aux
+cat $aux
+
+# Normalize the nodes
+cut -d= -f3 $aux | cut -d: -f1 | sort > $aux.1
+
+# Normalize the expected apps
+ONOS_NODES=$(env | egrep "OC[0-9]*=" | cut -d= -f2 | sort)
+nodes=${2:-$ONOS_NODES}
+(for node in $nodes; do echo $node; done) | sort > $aux.2
+
+# Check for differences
+diff $aux.1 $aux.2
diff --git a/tools/test/bin/onos-untar-and-run b/tools/test/bin/onos-untar-and-run
new file mode 100755
index 0000000..74ce559
--- /dev/null
+++ b/tools/test/bin/onos-untar-and-run
@@ -0,0 +1,22 @@
+#!/bin/bash
+# -----------------------------------------------------------------------------
+# Untars ONOS tar.gz on the remote machine and runs ONOS.
+# -----------------------------------------------------------------------------
+
+[ ! -d "$ONOS_ROOT" ] && echo "ONOS_ROOT is not defined" >&2 && exit 1
+. $ONOS_ROOT/tools/build/envDefaults
+
+node=${1:-$OCI}
+remote=$ONOS_USER@$node
+
+ssh $remote "
+    [ -d $ONOS_INSTALL_DIR/bin ] && echo \"ONOS is already installed\" && exit 1
+    cd /tmp && rm -fr /tmp/$ONOS_BITS
+    tar zxf /tmp/$ONOS_BITS.tar.gz
+
+    cd /tmp/$ONOS_BITS
+    bin/onos-service server 1>/tmp/onos.out 2>/tmp/onos.err &
+
+    # Setup a symlink to allow other tools to work
+    sudo ln -s /tmp/$ONOS_BITS $ONOS_INSTALL_DIR
+"