| <!-- |
| ~ 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 att-onos.py ${ONOS_INSTANCES}"/> |
| |
| <step name="Wait-For-Mininet" requires="Start-Mininet" |
| exec="onos-mininet wait 10"/> |
| |
| <step name="Show-Network" requires="Wait-For-Mininet" |
| exec="onos-mininet sendAndExpect net --expect ."/> |
| |
| <step name="Discover-Hosts" requires="Show-Network" |
| exec="onos-mininet sendAndExpect py [ h.cmd('arping -U -c 1 ' + h.IP()) for h in net.hosts ] --expect ."/> |
| |
| <step name="Check-Summary" requires="Discover-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> |