<!--
  ~ 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-hag ${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>
