[ONOS-7876] Initial STC implementation for ODTN
Change-Id: I51a22348cc73c576c5d10551e84ca8ac2f2a2040
diff --git a/tools/test/scenarios/net-setup-odtn.xml b/tools/test/scenarios/net-setup-odtn.xml
new file mode 100644
index 0000000..78987a2
--- /dev/null
+++ b/tools/test/scenarios/net-setup-odtn.xml
@@ -0,0 +1,93 @@
+<!--
+ ~ Copyright 2015-present Open Networking Foundation
+ ~
+ ~ 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="net-setup-odtn" description="ODTN network setup steps">
+
+ <group name="ODTN-Net-Setup">
+
+ <!-- Clean -->
+ <step name="ODTN-Net-Setup.Wipe-Out-Data-Before" exec="onos-wipe-out"/>
+
+ <!-- Make sure that there is no data in the system -->
+ <step name="ODTN-Net-Setup.Initial-Summary-Check" requires="~ODTN-Net-Setup.Wipe-Out-Data-Before"
+ exec="onos-check-summary ${OC1} [0-9]* 0 0 0"/>
+
+ <!-- Deactivate unneeded apps -->
+ <group name="ODTN-Net-Setup.Deactivate-Apps" requires="ODTN-Net-Setup.Initial-Summary-Check">
+ <step name="App-Deactivate-fwd"
+ exec="onos ${OCI} app deactivate org.onosproject.fwd"
+ requires="ODTN-Net-Setup.Initial-Summary-Check"/>
+ <step name="App-Deactivate-Openflow"
+ exec="onos ${OCI} app deactivate org.onosproject.openflow"
+ requires="ODTN-Net-Setup.Initial-Summary-Check"/>
+ <step name="App-Deactivate-Drivers"
+ exec="onos ${OCI} app deactivate org.onosproject.drivers"
+ requires="ODTN-Net-Setup.Initial-Summary-Check"/>
+ <step name="App-Deactivate-Mobility"
+ exec="onos ${OCI} app deactivate org.onosproject.mobility"
+ requires="ODTN-Net-Setup.Initial-Summary-Check"/>
+ <step name="App-Deactivate-ProxyArp"
+ exec="onos ${OCI} app deactivate org.onosproject.proxyarp"
+ requires="ODTN-Net-Setup.Initial-Summary-Check"/>
+ <step name="App-Deactivate-RouteService"
+ exec="onos ${OCI} app deactivate org.onosproject.route-service"
+ requires="ODTN-Net-Setup.Initial-Summary-Check"/>
+ </group>
+
+ <!-- Active required apps and yang models-->
+ <group name="ODTN-Net-Setup.Activate-Apps" requires="ODTN-Net-Setup.Deactivate-Apps">
+ <step name="App-Activate-Odtn-Service"
+ exec="onos ${OCI} app activate org.onosproject.odtn-service"
+ requires="ODTN-Net-Setup.Deactivate-Apps"/>
+ </group>
+
+ <group name="ODTN-Net-Setup.Verify-Apps" requires="ODTN-Net-Setup.Activate-Apps" delay="40">
+ <parallel var="${OC#}">
+ <step name="Check-Apps-${#}" exec="onos-check-apps ${OC#} optical-model,yang,config,configsync,faultmanagement,
+ netconf,configsync-netconf,drivers,drivers.netconf,drivers.optical,restconf,protocols.restconfserver,
+ odtn-api,drivers.odtn-driver,odtn-service,models.tapi,models.ietf,models.openconfig,models.openconfig-infinera,
+ models.openconfig-odtn includes"
+ requires="ODTN-Net-Setup.Activate-Apps"/>
+ </parallel>
+ </group>
+
+ <group name="ODTN-Net-Setup.Verify-Logs" requires="ODTN-Net-Setup.Verify-Apps">
+ <parallel var="${OC#}">
+ <step name="Check-Logs-${#}" exec="onos-check-logs ${OC#}"/>
+ </parallel>
+ </group>
+
+ <step name="ODTN-Net-Setup.Tapi-context" requires="ODTN-Net-Setup.Verify-Logs"
+ exec="execute-tapi-context-get-call.py ${OC1} empty"/>
+
+ <group name="ODTN-Net-Setup.Verify-Logs-2" requires="ODTN-Net-Setup.Tapi-context">
+ <parallel var="${OC#}">
+ <step name="Check-Logs-2-${#}" exec="onos-check-logs ${OC#}"/>
+ </parallel>
+ </group>
+
+ <!-- Verify empty connectivity service -->
+
+ <step name="ODTN-Net-Setup.Tapi-connectivity" requires="ODTN-Net-Setup.Tapi-context"
+ exec="execute-tapi-post-call.py ${OC1} tapi-connectivity:get-connectivity-service-list empty"/>
+
+ <!--TODO include check for empty connectivity service-->
+ <!--TODO include 2 or more docker emulators to setup the network for phase 1.0-->
+ <!--TODO push netcfg links between emulated devices -->
+ <!--TODO push emulated links between emulated devices -->
+ <!--TODO check logs -->
+ </group>
+</scenario>