net-setup.xml 2.26 KB
<!--
  ~ Copyright 2015-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" description="Network setup steps">
    <!-- Note: This scenario is tailored using 'topo' recipe mechanism; see topos/*.recipe files -->
    <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="Clean-Mininet-If-Needed" env="~" exec="onos-mininet cleanup" requires="^"/>
        <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/${ONOS_TOPO}.json"/>

        <step name="Start-Mininet"
              requires="Install-Apps,Config-Topo,Push-Topos,Stop-Mininet-If-Needed"
              exec="onos-mininet start topos/topo ${ONOS_TOPO}.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]* ${OTD} ${OTL} ${OTH}"/>

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