blob: c7a5c7a8f65fb1a3370eec013eeded7dd486f5a2 [file] [log] [blame]
Ray Milkey922db302018-04-02 08:54:51 -07001<!--
2 ~ Copyright 2015-present Open Networking Foundation
3 ~
4 ~ Licensed under the Apache License, Version 2.0 (the "License");
5 ~ you may not use this file except in compliance with the License.
6 ~ You may obtain a copy of the License at
7 ~
8 ~ http://www.apache.org/licenses/LICENSE-2.0
9 ~
10 ~ Unless required by applicable law or agreed to in writing, software
11 ~ distributed under the License is distributed on an "AS IS" BASIS,
12 ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 ~ See the License for the specific language governing permissions and
14 ~ limitations under the License.
15 -->
16
17<scenario name="net-setup-trellis-hag" description="Trellis HAG network setup steps">
18
19 <group name="Trellis-Net-HAG-Setup">
20 <step name="Trellis-Net-HAG-Setup.Push-Topos" exec="onos-push-topos ${OCN}"/>
21 <step name="Trellis-Net-HAG-Setup.Push-Routing" exec="onos-push-routing ${OCN}"/>
22
23 <step name="Trellis-Net-HAG-Setup.Stop-Mininet-If-Needed" env="~" exec="onos-mininet stop"/>
24 <step name="Trellis-Net-HAG-Setup.Clean-Mininet-If-Needed" env="~" exec="onos-mininet cleanup" requires="^"/>
25 <step name="Trellis-Net-HAG-Setup.Wipe-Out-Data-Before" exec="onos-wipe-out" requires="^"/>
26
27 <!-- Make sure that there is no data in the system -->
28 <step name="Trellis-Net-HAG-Setup.Initial-Summary-Check" requires="~Trellis-Net-HAG-Setup.Wipe-Out-Data-Before"
29 exec="onos-check-summary ${OC1} [0-9]* 0 0 0"/>
30
31 <!-- Deactivate unneeded apps -->
32 <group name="Trellis-Net-HAG-Setup.Deactivate-Apps" requires="Trellis-Net-HAG-Setup.Initial-Summary-Check">
33 <step name="App-Deactivate-PathPainter"
34 exec="onos ${OCI} app deactivate org.onosproject.pathpainter"
35 requires="Trellis-Net-HAG-Setup.Initial-Summary-Check"/>
36 <step name="App-Deactivate-Mobility"
37 exec="onos ${OCI} app deactivate org.onosproject.mobility"
38 requires="Trellis-Net-HAG-Setup.Initial-Summary-Check"/>
39 <step name="App-Deactivate-ProxyArp"
40 exec="onos ${OCI} app deactivate org.onosproject.proxyarp"
41 requires="Trellis-Net-HAG-Setup.Initial-Summary-Check"/>
42 <step name="App-Deactivate-RouteService"
43 exec="onos ${OCI} app deactivate org.onosproject.route-service"
44 requires="Trellis-Net-HAG-Setup.Initial-Summary-Check"/>
45 </group>
46
47 <!-- Active required apps -->
48 <group name="Trellis-Net-HAG-Setup.Activate-Apps" requires="Trellis-Net-HAG-Setup.Deactivate-Apps">
49 <step name="App-Activate-Openflow"
50 exec="onos ${OCI} app activate org.onosproject.openflow"
51 requires="Trellis-Net-HAG-Setup.Deactivate-Apps"/>
52 <step name="App-Activate-SegmentRouting"
53 exec="onos ${OCI} app activate org.onosproject.segmentrouting"
54 requires="Trellis-Net-HAG-Setup.Deactivate-Apps"/>
55 <step name="App-Activate-Fpm"
56 exec="onos ${OCI} app activate org.onosproject.fpm"
57 requires="Trellis-Net-HAG-Setup.Deactivate-Apps"/>
58 <step name="App-Activate-DhcpRelay"
59 exec="onos ${OCI} app activate org.onosproject.dhcprelay"
60 requires="Trellis-Net-HAG-Setup.Deactivate-Apps"/>
61 <step name="App-Activate-NetCfgHostProvider"
62 exec="onos ${OCI} app activate org.onosproject.netcfghostprovider"
63 requires="Trellis-Net-HAG-Setup.Deactivate-Apps"/>
64 <step name="App-Activate-RouterAdvertisement"
65 exec="onos ${OCI} app activate org.onosproject.routeradvertisement"
66 requires="Trellis-Net-HAG-Setup.Deactivate-Apps"/>
67 <step name="App-Activate-Mcast"
68 exec="onos ${OCI} app activate org.onosproject.mcast"
69 requires="Trellis-Net-HAG-Setup.Deactivate-Apps"/>
70 </group>
71
72 <!-- set up the trellis environment -->
73 <step name="Trellis-Net-HAG-Setup.Set-Up-Trellis" exec="set-up-trellis-hag ${OCN}" requires="Trellis-Net-HAG-Setup.Activate-Apps"/>
74
75 <!-- configure the trellis topology in ONOS -->
76 <step name="Trellis-Net-HAG-Setup.Config-Topo"
77 requires="Trellis-Net-HAG-Setup.Set-Up-Trellis,Trellis-Net-HAG-Setup.Push-Topos,Trellis-Net-HAG-Setup.Push-Routing"
78 exec="onos-netcfg ${OC1} ${routing}/trellis/trellis_hag.json"/>
79
80 <!-- Bring up mininet -->
81 <step name="Trellis-Net-HAG-Setup.Start-Mininet"
82 requires="Trellis-Net-HAG-Setup.Config-Topo,Trellis-Net-HAG-Setup.Push-Topos,Trellis-Net-HAG-Setup.Stop-Mininet-If-Needed"
83 exec="mininet-trellis ${ONOS_INSTANCES}"/>
84 <step name="Trellis-Net-HAG-Setup.Wait-For-Mininet" requires="Trellis-Net-HAG-Setup.Start-Mininet"
85 exec="onos-mininet wait 10"/>
86
87 <!-- clean up local routing repo if necessary -->
88 <step name="Trellis-Net-HAG-Setup.Clean-Routing"
89 requires="Trellis-Net-HAG-Setup.Start-Mininet"
90 exec="onos-clean-routing ${routing_root}"/>
91 </group>
92</scenario>