Added check for cyclic dependencies.

Changes intent test scenarios to use the key and added dependencies to make them more robust; h2h still fails intermittently due to a bug.

Increased parallelism of the smoke test scenario.

Change-Id: Ib7fed38d17d1b25c5dd854ef1cd4dc777002c5fc
diff --git a/tools/test/scenarios/net-pingall.xml b/tools/test/scenarios/net-pingall.xml
index df1ae1f..8968e0d 100644
--- a/tools/test/scenarios/net-pingall.xml
+++ b/tools/test/scenarios/net-pingall.xml
@@ -18,11 +18,14 @@
     <group name="Net-Pingall">
         <step name="Install-Apps"
               exec="onos ${OC1} app activate org.onosproject.openflow org.onosproject.proxyarp org.onosproject.fwd"/>
+        <step name="Check-Apps" requires="^"
+              exec="onos-check-apps ${OC1} drivers,openflow,proxyarp,fwd includes"/>
 
-        <step name="Check-Apps" requires="Install-Apps"
-              exec="onos-check-apps ${OC1} drivers,openflow,proxyarp,fwd"/>
+        <!-- TODO: take this out when initial pingall sweep is 100% -->
+        <step name="Initial-Ping-All" requires="Check-Apps"
+              exec="onos-mininet sendAndExpect py net.pingAll(1) --expect 600 received"/>
 
-        <step name="Ping-All-And-Verify" requires="Check-Apps"
+        <step name="Ping-All-And-Verify" requires="Check-Apps,Initial-Ping-All"
               exec="onos-mininet sendAndExpect py net.pingAll(1) --expect 600/600 received"/>
 
         <step name="Check-Summary-For-Hosts" requires="~Ping-All-And-Verify"