<!--
  ~ 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="Start-Mininet"
              requires="Install-Apps,Initial-Summary-Check,Push-Topos,Stop-Mininet-If-Needed"
              exec="onos-mininet start topos/topo att-onos.py ${ONOS_INSTANCES}"/>

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

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

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

        <step name="Pause-For-Masters" requires="Balance-Masters" if="${OC2}"
              exec="sleep 10"/>

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