| <!-- |
| ~ 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-trellis-hag" description="Trellis HAG network setup steps"> |
| |
| <group name="Trellis-Net-HAG-Setup"> |
| <step name="Trellis-Net-HAG-Setup.Push-Topos" exec="onos-push-topos ${OCN}"/> |
| <step name="Trellis-Net-HAG-Setup.Push-Routing" exec="onos-push-routing ${OCN}"/> |
| |
| <step name="Trellis-Net-HAG-Setup.Stop-Mininet-If-Needed" env="~" exec="onos-mininet stop"/> |
| <step name="Trellis-Net-HAG-Setup.Clean-Mininet-If-Needed" env="~" exec="onos-mininet cleanup" requires="^"/> |
| <step name="Trellis-Net-HAG-Setup.Wipe-Out-Data-Before" exec="onos-wipe-out" requires="^"/> |
| |
| <!-- Make sure that there is no data in the system --> |
| <step name="Trellis-Net-HAG-Setup.Initial-Summary-Check" requires="~Trellis-Net-HAG-Setup.Wipe-Out-Data-Before" |
| exec="onos-check-summary ${OC1} [0-9]* 0 0 0"/> |
| |
| <!-- Deactivate unneeded apps --> |
| <group name="Trellis-Net-HAG-Setup.Deactivate-Apps" requires="Trellis-Net-HAG-Setup.Initial-Summary-Check"> |
| <step name="App-Deactivate-PathPainter" |
| exec="onos ${OCI} app deactivate org.onosproject.pathpainter" |
| requires="Trellis-Net-HAG-Setup.Initial-Summary-Check"/> |
| <step name="App-Deactivate-Mobility" |
| exec="onos ${OCI} app deactivate org.onosproject.mobility" |
| requires="Trellis-Net-HAG-Setup.Initial-Summary-Check"/> |
| <step name="App-Deactivate-ProxyArp" |
| exec="onos ${OCI} app deactivate org.onosproject.proxyarp" |
| requires="Trellis-Net-HAG-Setup.Initial-Summary-Check"/> |
| <step name="App-Deactivate-RouteService" |
| exec="onos ${OCI} app deactivate org.onosproject.route-service" |
| requires="Trellis-Net-HAG-Setup.Initial-Summary-Check"/> |
| </group> |
| |
| <!-- Active required apps --> |
| <group name="Trellis-Net-HAG-Setup.Activate-Apps" requires="Trellis-Net-HAG-Setup.Deactivate-Apps"> |
| <step name="App-Activate-Openflow" |
| exec="onos ${OCI} app activate org.onosproject.openflow" |
| requires="Trellis-Net-HAG-Setup.Deactivate-Apps"/> |
| <step name="App-Activate-SegmentRouting" |
| exec="onos ${OCI} app activate org.onosproject.segmentrouting" |
| requires="Trellis-Net-HAG-Setup.Deactivate-Apps"/> |
| <step name="App-Activate-Fpm" |
| exec="onos ${OCI} app activate org.onosproject.fpm" |
| requires="Trellis-Net-HAG-Setup.Deactivate-Apps"/> |
| <step name="App-Activate-DhcpRelay" |
| exec="onos ${OCI} app activate org.onosproject.dhcprelay" |
| requires="Trellis-Net-HAG-Setup.Deactivate-Apps"/> |
| <step name="App-Activate-NetCfgHostProvider" |
| exec="onos ${OCI} app activate org.onosproject.netcfghostprovider" |
| requires="Trellis-Net-HAG-Setup.Deactivate-Apps"/> |
| <step name="App-Activate-RouterAdvertisement" |
| exec="onos ${OCI} app activate org.onosproject.routeradvertisement" |
| requires="Trellis-Net-HAG-Setup.Deactivate-Apps"/> |
| <step name="App-Activate-Mcast" |
| exec="onos ${OCI} app activate org.onosproject.mcast" |
| requires="Trellis-Net-HAG-Setup.Deactivate-Apps"/> |
| </group> |
| |
| <!-- set up the trellis environment --> |
| <step name="Trellis-Net-HAG-Setup.Set-Up-Trellis" exec="set-up-trellis ${OCN}" requires="Trellis-Net-HAG-Setup.Activate-Apps"/> |
| |
| <!-- configure the trellis topology in ONOS --> |
| <step name="Trellis-Net-HAG-Setup.Config-Topo" |
| requires="Trellis-Net-HAG-Setup.Set-Up-Trellis,Trellis-Net-HAG-Setup.Push-Topos,Trellis-Net-HAG-Setup.Push-Routing" |
| exec="onos-netcfg ${OC1} ${routing}/trellis/trellis_hag.json"/> |
| |
| <!-- Bring up mininet --> |
| <step name="Trellis-Net-HAG-Setup.Start-Mininet" |
| requires="Trellis-Net-HAG-Setup.Config-Topo,Trellis-Net-HAG-Setup.Push-Topos,Trellis-Net-HAG-Setup.Stop-Mininet-If-Needed" |
| exec="mininet-trellis ${ONOS_INSTANCES}"/> |
| <step name="Trellis-Net-HAG-Setup.Wait-For-Mininet" requires="Trellis-Net-HAG-Setup.Start-Mininet" |
| exec="onos-mininet wait 10"/> |
| |
| <!-- clean up local routing repo if necessary --> |
| <step name="Trellis-Net-HAG-Setup.Clean-Routing" |
| requires="Trellis-Net-HAG-Setup.Start-Mininet" |
| exec="onos-clean-routing ${routing_root}"/> |
| </group> |
| </scenario> |