Allow sequential installation of ONOS in STC
- Check for ONOS_STC_SEQ_START env variable, and if set, install ONOS in
sequence instead of in parallel
Change-Id: I6c5d9d2e46293ec3c02b1de22227d3a81d48a45f
diff --git a/tools/test/scenarios/setup.xml b/tools/test/scenarios/setup.xml
index 845380e..4f45deb 100644
--- a/tools/test/scenarios/setup.xml
+++ b/tools/test/scenarios/setup.xml
@@ -19,34 +19,57 @@
<step name="Enable-Flow-Objective-Intents" if="${ONOS_USE_FOI}"
exec="onos ${OC1} cfg set org.onosproject.net.intent.impl.compiler.IntentConfigurableRegistrator useFlowObjectives true"/>
- <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#}"
- requires="Uninstall-${#}"/>
+ <group name="Cleanup">
+ <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#}"
+ requires="Uninstall-${#}"/>
+ </parallel>
+ </group>
- <step name="Install-${#}" exec="onos-install ${OC#}"
- requires="Kill-${#},Push-Bits-${#},Push-Bits"/>
+ <group name="Install">
+ <group name="Sequential-Install" if="${ONOS_STC_SEQ_START}">
+ <sequential var="${OC#}"
+ starts="Sequential-Install-${#}"
+ ends="Sequential-Install-${#-1}">
+ <step name="Sequential-Install-${#}" exec="onos-install ${OC#}"
+ requires="Push-Bits-${#},Push-Bits,Cleanup"/>
+ </sequential>
+ </group>
- <step name="Secure-SSH-${#}" requires="Install-${#}"
- exec="onos-secure-ssh -u ${ONOS_WEB_USER} -p ${ONOS_WEB_PASS} ${OC#}"/>
+ <group name="Parallel-Install" unless="${ONOS_STC_SEQ_START}">
+ <parallel var="${OC#}">
+ <step name="Parallel-Install-${#}" exec="onos-install ${OC#}"
+ requires="Push-Bits-${#},Push-Bits,Cleanup"/>
+ </parallel>
+ </group>
+ </group>
- <step name="Wait-for-Start-${#}" exec="onos-wait-for-start ${OC#}"
- requires="Install-${#},~Secure-SSH-${#}"/>
+ <group name="Verify" requires="Install">
+ <parallel var="${OC#}">
+ <step name="Secure-SSH-${#}"
+ exec="onos-secure-ssh -u ${ONOS_WEB_USER} -p ${ONOS_WEB_PASS} ${OC#}"
+ requires="Install"/>
- <step name="Check-Nodes-${#}" exec="onos-check-nodes ${OC#}" delay="3"
- requires="~Wait-for-Start-${#}"/>
- <step name="Check-Components-${#}" delay="5"
- exec="onos-check-components ${OC#}"
- requires="~Wait-for-Start-${#}"/>
+ <step name="Wait-for-Start-${#}" exec="onos-wait-for-start ${OC#}"
+ requires="~Secure-SSH-${#}"/>
- <step name="Check-Logs-${#}" exec="onos-check-logs ${OC#}"
- requires="~Check-Components-${#}"/>
- <step name="Check-Apps-${#}" exec="onos-check-apps ${OC#} ${ONOS_APPS} includes"
- requires="~Check-Components-${#}"/>
+ <step name="Check-Nodes-${#}" exec="onos-check-nodes ${OC#}" delay="3"
+ requires="~Wait-for-Start-${#}"/>
+ <step name="Check-Components-${#}" delay="5"
+ exec="onos-check-components ${OC#}"
+ requires="~Wait-for-Start-${#}"/>
- <dependency name="Enable-Flow-Objective-Intents" requires="Check-Apps-${#}"/>
- </parallel>
+ <step name="Check-Logs-${#}" exec="onos-check-logs ${OC#}"
+ requires="~Check-Components-${#}"/>
+ <step name="Check-Apps-${#}" exec="onos-check-apps ${OC#} ${ONOS_APPS} includes"
+ requires="~Check-Components-${#}"/>
+
+ <dependency name="Enable-Flow-Objective-Intents" requires="Check-Apps-${#}"/>
+ </parallel>
+ </group>
+
</group>
</scenario>