Enhancing STC

Change-Id: Ibb8a001f5c6550860c4ade97378af7e97876a0ab
diff --git a/tools/test/scenarios/tar-setup.xml b/tools/test/scenarios/tar-setup.xml
new file mode 100644
index 0000000..964c83e
--- /dev/null
+++ b/tools/test/scenarios/tar-setup.xml
@@ -0,0 +1,66 @@
+<!--
+  ~ Copyright 2015 Open Networking Laboratory
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~     http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+<scenario name="tar-setup" description="ONOS cluster setup via onos.tar.gz">
+    <group name="Setup-Instances">
+        <step name="Push-Bits" exec="onos-push-bits-through-proxy" if="${OCT}"/>
+
+        <parallel var="${OC#}">
+            <step name="Push-Bits-${#}" exec="onos-push-bits ${OC#}"
+                  unless="${OCT}"/>
+            <step name="Uninstall-${#}" exec="onos-uninstall ${OC#}"/>
+            <step name="Kill-${#}" env="~" exec="onos-kill ${OC#}"/>
+
+            <step name="Untar-And-Run-${#}" exec="onos-untar-and-run ${OC#}"
+                  requires="Uninstall-${#},Push-Bits-${#},Push-Bits"/>
+
+            <step name="Wait-for-Start-${#}" exec="onos-wait-for-start ${OC#}"
+                  requires="Untar-And-Run-${#}"/>
+
+            <step name="Check-Logs-${#}" exec="onos-check-logs ${OC#}"
+                  requires="~Wait-for-Start-${#}"/>
+            <step name="Check-Components-${#}"
+                  exec="onos-check-components ${OC#}"
+                  requires="~Wait-for-Start-${#}"/>
+            <step name="Check-Apps-${#}" exec="onos-check-apps ${OC#} drivers"
+                  requires="~Wait-for-Start-${#}"/>
+
+            <step name="Check-Nodes-${#}" exec="onos-check-nodes ${OC#} ${OC#}"
+                  requires="~Wait-for-Start-${#}"/>
+        </parallel>
+    </group>
+
+    <group name="Setup-Cluster" requires="Setup-Instances" unless="${NO_CLUSTER}">
+        <step name="Form-Cluster" exec="onos-form-cluster cell"/>
+        <parallel var="${OC#}">
+            <step name="Wait-for-Start-Again-${#}"
+                  exec="onos-wait-for-start ${OC#}"
+                  requires="Form-Cluster"/>
+
+            <step name="Check-Logs-Again-${#}" exec="onos-check-logs ${OC#}"
+                  requires="~Wait-for-Start-Again-${#}"/>
+            <step name="Check-Components-Again-${#}"
+                  exec="onos-check-components ${OC#}"
+                  requires="~Wait-for-Start-Again-${#}"/>
+            <step name="Check-Apps-Again-${#}"
+                  exec="onos-check-apps ${OC#} drivers"
+                  requires="~Wait-for-Start-Again-${#}"/>
+
+            <step name="Check-Nodes-Again-${#}" exec="onos-check-nodes ${OC#}"
+                  requires="~Wait-for-Start-Again-${#}"/>
+        </parallel>
+    </group>
+
+</scenario>