<!--
  ~ Copyright 2015 Open Networking Laboratory
  ~
  ~ 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" description="Network setup steps">
    <!-- TODO: parametrize this via recipes -->
    <group name="Net-Setup">
        <step name="Push-Topos" exec="onos-push-topos ${OCN}"/>

        <step name="Stop-Mininet-If-Needed" env="~" exec="onos-mininet stop"/>
        <step name="Wipe-Out-Data-Before" exec="onos-wipe-out" requires="^"/>

        <step name="Initial-Summary-Check" requires="~Wipe-Out-Data-Before"
              exec="onos-check-summary ${OC1} [0-9]* 0 0 0"/>

        <step name="Config-Topo" requires="~Initial-Summary-Check"
              exec="onos-netcfg ${OC1} ${ONOS_ROOT}/tools/test/topos/attmpls-cfg.json"/>

        <step name="Start-Mininet"
              requires="Install-Apps,Config-Topo,Push-Topos,Stop-Mininet-If-Needed"
              exec="onos-mininet start topos/topo attmplsfast.py ${ONOS_INSTANCES}"/>

        <step name="Wait-For-Mininet" requires="Start-Mininet"
              exec="onos-mininet wait 10"/>

        <step name="ARP-Hosts" requires="~Wait-For-Mininet"
              exec="onos-mininet sendAndExpect gratuitousArp --expect ."/>

        <step name="Check-Summary" requires="ARP-Hosts"
              exec="onos-check-summary ${OC1} [0-9]* 25 140 25"/>

        <step name="Balance-Masters" requires="~Check-Summary" if="${OC2}"
              exec="onos ${OC1} balance-masters"/>

        <step name="Check-Flows" requires="~Balance-Masters,~Check-Summary" delay="5"
              exec="onos-check-flows ${OC1}"/>
    </group>
</scenario>
