<!--
  ~  Copyright 2016-present 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-uk" description="Network setup steps">
    <!-- TODO: parametrize this via recipes -->
    <!-- Customized for the UK topology -->
    <group name="Net-Setup-UK">

        <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/uk-cfg.json"/>

        <step name="Start-Mininet"
              requires="Install-Apps,Config-Topo,Push-Topos,Stop-Mininet-If-Needed"
              exec="onos-mininet start topos/topo uk-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]* 12 46 12"/>

        <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>
