Thomas Vachuska

Adding support for topology recipes and cleaning up topologies.

Cleaned-up a few STC scenarios.

Change-Id: I4ffa61953d8cf289406fa572ab7603d996e26a85
......@@ -97,6 +97,47 @@ alias sshctl='onos-ssh'
alias sshnet='onos-ssh $OCN'
# Applies the settings in the specified topology recipe file or lists current
# topo recipe definition if no topo recipe file is given.
function topo {
topo=${1:-""}
case "$topo" in
"")
env | egrep "ONOS_TOPO"
env | egrep "(OTD|OTL|OTH)="
;;
*)
[ ! -f $ONOS_ROOT/tools/test/topos/$1.recipe ] && echo "No such topo recipe: $1" >&2 && return 1
unset ONOS_TOPO OTD OTL OTH ONOS_DEVICES ONOS_HOSTS
unset $(env | sed -n 's:\(^OT[DLH][0-9]\{1,\}\)=.*:\1 :g p')
export ONOS_TOPO=$1
. $ONOS_ROOT/tools/test/topos/$1.recipe
let d=1; while [ $d -le $OTD ]; do
dev="$(printf 'of:%016x' $d)"
export OTD$d=$dev; export ONOS_DEVICES="$ONOS_DEVICES $dev"
let d=d+1;
done
let h=1; while [ $h -le $OTH ]; do
host="$(printf '00:00:00:00:00:%02x/-1' $h)"
export OTH$h=$host; export ONOS_HOSTS="$ONOS_HOSTS $host"
let h=h+1
done
topo
esac
}
# Lists available topo recipes
function topos {
for topo in $(ls -1 $ONOS_ROOT/tools/test/topos/*.recipe); do
name=$(basename $topo .recipe)
printf "%-16s %s\n" \
"$([ $name = $ONOS_TOPO ] && echo $name '*' || echo $name)" \
"$(grep '^#' $topo | head -n 1)"
done
}
# Sets the primary instance to the specified instance number.
function setPrimaryInstance {
export ONOS_INSTANCES=$(env | grep 'OC[0-9]*=' | sort | cut -d= -f2)
......@@ -132,6 +173,7 @@ function cell {
rm -f $aux
setPrimaryInstance 1 >/dev/null
onos-verify-cell
topo default >/dev/null
;;
"return")
curl -sS -X DELETE "http://$CELL_WARDEN:4321/?user=${2:-$(id -un)}"
......@@ -147,7 +189,7 @@ function cell {
env | egrep "OCI"
env | egrep "OC[0-9]+" | sort
env | egrep "OC[NT]"
env | egrep "ONOS_" | egrep -v 'ONOS_ROOT|ONOS_CELL|ONOS_INSTANCES' | sort
env | egrep "ONOS_" | egrep -v 'ONOS_ROOT|ONOS_CELL|ONOS_INSTANCES|ONOS_DEVICES|ONOS_HOSTS' | sort
;;
*)
......@@ -161,6 +203,7 @@ function cell {
. $ONOS_ROOT/tools/test/cells/$1
setPrimaryInstance 1 >/dev/null
cell
topo default >/dev/null
esac
}
......
......@@ -46,6 +46,16 @@ function _cell-opts () {
complete -F _cell-opts cell vicell
# Tab completion settings for topo recipes
function _topo-opts () {
local cur=${COMP_WORDS[COMP_CWORD]}
if [ $COMP_CWORD -eq 1 ]; then
COMPREPLY=( $( compgen -W "$(cd $ONOS_ROOT/tools/test/topos && ls -1 *.recipe | sed 's/\.recipe//g')" -- $cur ) )
fi
}
complete -F _topo-opts topo
# Tab completion settings for onos-create-app.
function _ocapp-opts () {
......
......@@ -15,62 +15,14 @@
-->
<scenario name="net-activate-fwd" description="Activate forwarding apps">
<group name="Net-Activate-Fwd">
<!-- TODO: parametrize this via recipes -->
<step name="Install-Fwd-Apps"
<step name="Activate-Fwd-Apps"
exec="onos ${OC1} app activate org.onosproject.openflow org.onosproject.proxyarp org.onosproject.fwd"/>
<step name="Check-Fwd-Apps" requires="Install-Fwd-Apps"
<step name="Check-Fwd-Apps-Activated" requires="Activate-Fwd-Apps"
exec="onos-check-apps ${OC1} drivers,openflow,proxyarp,fwd includes"/>
<step name="Check-Fwd-Flows1" requires="Check-Fwd-Apps"
exec="onos-check-ipv4-flows ${OC1} of:0000000000000001 present"/>
<step name="Check-Fwd-Flows2" requires="Check-Fwd-Apps"
exec="onos-check-ipv4-flows ${OC1} of:0000000000000002 present"/>
<step name="Check-Fwd-Flows3" requires="Check-Fwd-Apps"
exec="onos-check-ipv4-flows ${OC1} of:0000000000000003 present"/>
<step name="Check-Fwd-Flows4" requires="Check-Fwd-Apps"
exec="onos-check-ipv4-flows ${OC1} of:0000000000000004 present"/>
<step name="Check-Fwd-Flows5" requires="Check-Fwd-Apps"
exec="onos-check-ipv4-flows ${OC1} of:0000000000000005 present"/>
<step name="Check-Fwd-Flows6" requires="Check-Fwd-Apps"
exec="onos-check-ipv4-flows ${OC1} of:0000000000000006 present"/>
<step name="Check-Fwd-Flows7" requires="Check-Fwd-Apps"
exec="onos-check-ipv4-flows ${OC1} of:0000000000000007 present"/>
<step name="Check-Fwd-Flows8" requires="Check-Fwd-Apps"
exec="onos-check-ipv4-flows ${OC1} of:0000000000000008 present"/>
<step name="Check-Fwd-Flows9" requires="Check-Fwd-Apps"
exec="onos-check-ipv4-flows ${OC1} of:0000000000000009 present"/>
<step name="Check-Fwd-Flowsa" requires="Check-Fwd-Apps"
exec="onos-check-ipv4-flows ${OC1} of:000000000000000a present"/>
<step name="Check-Fwd-Flowsb" requires="Check-Fwd-Apps"
exec="onos-check-ipv4-flows ${OC1} of:000000000000000b present"/>
<step name="Check-Fwd-Flowsc" requires="Check-Fwd-Apps"
exec="onos-check-ipv4-flows ${OC1} of:000000000000000c present"/>
<step name="Check-Fwd-Flowsd" requires="Check-Fwd-Apps"
exec="onos-check-ipv4-flows ${OC1} of:000000000000000d present"/>
<step name="Check-Fwd-Flowse" requires="Check-Fwd-Apps"
exec="onos-check-ipv4-flows ${OC1} of:000000000000000e present"/>
<step name="Check-Fwd-Flowsf" requires="Check-Fwd-Apps"
exec="onos-check-ipv4-flows ${OC1} of:000000000000000f present"/>
<step name="Check-Fwd-Flows10" requires="Check-Fwd-Apps"
exec="onos-check-ipv4-flows ${OC1} of:0000000000000010 present"/>
<step name="Check-Fwd-Flows11" requires="Check-Fwd-Apps"
exec="onos-check-ipv4-flows ${OC1} of:0000000000000011 present"/>
<step name="Check-Fwd-Flows12" requires="Check-Fwd-Apps"
exec="onos-check-ipv4-flows ${OC1} of:0000000000000012 present"/>
<step name="Check-Fwd-Flows13" requires="Check-Fwd-Apps"
exec="onos-check-ipv4-flows ${OC1} of:0000000000000013 present"/>
<step name="Check-Fwd-Flows14" requires="Check-Fwd-Apps"
exec="onos-check-ipv4-flows ${OC1} of:0000000000000014 present"/>
<step name="Check-Fwd-Flows15" requires="Check-Fwd-Apps"
exec="onos-check-ipv4-flows ${OC1} of:0000000000000015 present"/>
<step name="Check-Fwd-Flows16" requires="Check-Fwd-Apps"
exec="onos-check-ipv4-flows ${OC1} of:0000000000000016 present"/>
<step name="Check-Fwd-Flows17" requires="Check-Fwd-Apps"
exec="onos-check-ipv4-flows ${OC1} of:0000000000000017 present"/>
<step name="Check-Fwd-Flows18" requires="Check-Fwd-Apps"
exec="onos-check-ipv4-flows ${OC1} of:0000000000000018 present"/>
<step name="Check-Fwd-Flows19" requires="Check-Fwd-Apps"
exec="onos-check-ipv4-flows ${OC1} of:0000000000000019 present"/>
<parallel var="${OTD#}">
<step name="Check-Fwd-Flows-${#}" requires="Check-Fwd-Apps-Activated"
exec="onos-check-ipv4-flows ${OC1} ${OTD#} present"/>
</parallel>
</group>
</scenario>
......
......@@ -15,61 +15,14 @@
-->
<scenario name="net-deactivate-fwd" description="Deactivate forwarding apps">
<group name="Net-Deactivate-Fwd">
<!-- TODO: parametrize this via recipes -->
<step name="Net-Deactivate-Fwd.Uninstall-Reactive-Forwarding"
<step name="Deactivate-Fwd-Apps"
exec="onos ${OC1} app deactivate org.onosproject.fwd org.onosproject.ifwd"/>
<step name="Net-Deactivate-Fwd.Check-Apps" requires="Net-Deactivate-Fwd.Uninstall-Reactive-Forwarding"
<step name="Check-Fwd-Apps-Deactivated" requires="Deactivate-Fwd-Apps"
exec="onos-check-apps ${OC1} fwd,ifwd excludes"/>
<step name="Check-DFwd-Flows1" requires="Net-Deactivate-Fwd.Check-Apps"
exec="onos-check-ipv4-flows ${OC1} of:0000000000000001 not-present"/>
<step name="Check-DFwd-Flows2" requires="Net-Deactivate-Fwd.Check-Apps"
exec="onos-check-ipv4-flows ${OC1} of:0000000000000002 not-present"/>
<step name="Check-DFwd-Flows3" requires="Net-Deactivate-Fwd.Check-Apps"
exec="onos-check-ipv4-flows ${OC1} of:0000000000000003 not-present"/>
<step name="Check-DFwd-Flows4" requires="Net-Deactivate-Fwd.Check-Apps"
exec="onos-check-ipv4-flows ${OC1} of:0000000000000004 not-present"/>
<step name="Check-DFwd-Flows5" requires="Net-Deactivate-Fwd.Check-Apps"
exec="onos-check-ipv4-flows ${OC1} of:0000000000000005 not-present"/>
<step name="Check-DFwd-Flows6" requires="Net-Deactivate-Fwd.Check-Apps"
exec="onos-check-ipv4-flows ${OC1} of:0000000000000006 not-present"/>
<step name="Check-DFwd-Flows7" requires="Net-Deactivate-Fwd.Check-Apps"
exec="onos-check-ipv4-flows ${OC1} of:0000000000000007 not-present"/>
<step name="Check-DFwd-Flows8" requires="Net-Deactivate-Fwd.Check-Apps"
exec="onos-check-ipv4-flows ${OC1} of:0000000000000008 not-present"/>
<step name="Check-DFwd-Flows9" requires="Net-Deactivate-Fwd.Check-Apps"
exec="onos-check-ipv4-flows ${OC1} of:0000000000000009 not-present"/>
<step name="Check-DFwd-Flowsa" requires="Net-Deactivate-Fwd.Check-Apps"
exec="onos-check-ipv4-flows ${OC1} of:000000000000000a not-present"/>
<step name="Check-DFwd-Flowsb" requires="Net-Deactivate-Fwd.Check-Apps"
exec="onos-check-ipv4-flows ${OC1} of:000000000000000b not-present"/>
<step name="Check-DFwd-Flowsc" requires="Net-Deactivate-Fwd.Check-Apps"
exec="onos-check-ipv4-flows ${OC1} of:000000000000000c not-present"/>
<step name="Check-DFwd-Flowsd" requires="Net-Deactivate-Fwd.Check-Apps"
exec="onos-check-ipv4-flows ${OC1} of:000000000000000d not-present"/>
<step name="Check-DFwd-Flowse" requires="Net-Deactivate-Fwd.Check-Apps"
exec="onos-check-ipv4-flows ${OC1} of:000000000000000e not-present"/>
<step name="Check-DFwd-Flowsf" requires="Net-Deactivate-Fwd.Check-Apps"
exec="onos-check-ipv4-flows ${OC1} of:000000000000000f not-present"/>
<step name="Check-DFwd-Flows10" requires="Net-Deactivate-Fwd.Check-Apps"
exec="onos-check-ipv4-flows ${OC1} of:0000000000000010 not-present"/>
<step name="Check-DFwd-Flows11" requires="Net-Deactivate-Fwd.Check-Apps"
exec="onos-check-ipv4-flows ${OC1} of:0000000000000011 not-present"/>
<step name="Check-DFwd-Flows12" requires="Net-Deactivate-Fwd.Check-Apps"
exec="onos-check-ipv4-flows ${OC1} of:0000000000000012 not-present"/>
<step name="Check-DFwd-Flows13" requires="Net-Deactivate-Fwd.Check-Apps"
exec="onos-check-ipv4-flows ${OC1} of:0000000000000013 not-present"/>
<step name="Check-DFwd-Flows14" requires="Net-Deactivate-Fwd.Check-Apps"
exec="onos-check-ipv4-flows ${OC1} of:0000000000000014 not-present"/>
<step name="Check-DFwd-Flows15" requires="Net-Deactivate-Fwd.Check-Apps"
exec="onos-check-ipv4-flows ${OC1} of:0000000000000015 not-present"/>
<step name="Check-DFwd-Flows16" requires="Net-Deactivate-Fwd.Check-Apps"
exec="onos-check-ipv4-flows ${OC1} of:0000000000000016 not-present"/>
<step name="Check-DFwd-Flows17" requires="Net-Deactivate-Fwd.Check-Apps"
exec="onos-check-ipv4-flows ${OC1} of:0000000000000017 not-present"/>
<step name="Check-DFwd-Flows18" requires="Net-Deactivate-Fwd.Check-Apps"
exec="onos-check-ipv4-flows ${OC1} of:0000000000000018 not-present"/>
<step name="Check-DFwd-Flows19" requires="Net-Deactivate-Fwd.Check-Apps"
exec="onos-check-ipv4-flows ${OC1} of:0000000000000019 not-present"/>
<parallel var="${OTD#}">
<step name="Check-DFwd-Flows-${#}" requires="Check-Fwd-Apps-Deactivated"
exec="onos-check-ipv4-flows ${OC1} ${OTD#} not-present"/>
</parallel>
</group>
</scenario>
......
......@@ -14,31 +14,31 @@
~ limitations under the License.
-->
<scenario name="net-link-down-up" description="Network link up-down test">
<!-- TODO: parametrize this via recipes -->
<!-- Note: This scenario is tailored using 'topo' recipe mechanism; see topos/*.recipe files -->
<group name="Net-Link-Down-Up">
<step name="Ping-1"
exec="onos-mininet sendAndExpect h1 ping -c1 h4 --expect \ 0% packet loss"/>
exec="onos-mininet sendAndExpect ${OPS} ping -c1 ${OPD} --expect \ 0% packet loss"/>
<step name="Link-1-Down" requires="~Ping-1"
exec="onos-mininet sendAndExpect link s4 s7 down --expect ."/>
exec="onos-mininet sendAndExpect link ${OPL1} down --expect ."/>
<step name="Ping-2-Prep" requires="~Link-1-Down"
exec="onos-mininet sendAndExpect h1 ping -c5 h4 --expect ."/>
exec="onos-mininet sendAndExpect ${OPS} ping -c5 ${OPD} --expect ."/>
<step name="Ping-2" requires="~Ping-2-Prep"
exec="onos-mininet sendAndExpect h1 ping -c1 h4 --expect \ 0% packet loss"/>
exec="onos-mininet sendAndExpect ${OPS} ping -c1 ${OPD} --expect \ 0% packet loss"/>
<step name="Link-2-Down" requires="~Ping-2"
exec="onos-mininet sendAndExpect link s4 s5 down --expect ."/>
exec="onos-mininet sendAndExpect link ${OPL2} down --expect ."/>
<step name="Ping-3" requires="~Link-2-Down"
exec="onos-mininet sendAndExpect h1 ping -c1 -w1 h4 --expect 100% packet loss"/>
exec="onos-mininet sendAndExpect ${OPS} ping -c1 -w1 ${OPD} --expect 100% packet loss"/>
<step name="Link-1-Up" requires="~Ping-3"
exec="onos-mininet sendAndExpect link s4 s7 up --expect ."/>
exec="onos-mininet sendAndExpect link ${OPL1} up --expect ."/>
<step name="Ping-4-Prep" requires="~Link-1-Up"
exec="onos-mininet sendAndExpect h1 ping -c5 h4 --expect ."/>
exec="onos-mininet sendAndExpect ${OPS} ping -c5 ${OPD} --expect ."/>
<step name="Ping-4" requires="~Ping-4-Prep"
exec="onos-mininet sendAndExpect h1 ping -c1 h4 --expect \ 0% packet loss"/>
exec="onos-mininet sendAndExpect ${OPS} ping -c1 ${OPD} --expect \ 0% packet loss"/>
<step name="Link-2-Up" requires="~Ping-4"
exec="onos-mininet sendAndExpect link s4 s5 up --expect ."/>
exec="onos-mininet sendAndExpect link ${OPL2} up --expect ."/>
<step name="Ping-5-Prep" requires="~Link-2-Up"
exec="onos-mininet sendAndExpect h1 ping -c5 h4 --expect ."/>
exec="onos-mininet sendAndExpect ${OPS} ping -c5 ${OPD} --expect ."/>
<step name="Ping-5" requires="~Ping-5-Prep"
exec="onos-mininet sendAndExpect h1 ping -c1 h4 --expect \ 0% packet loss"/>
exec="onos-mininet sendAndExpect ${OPS} ping -c1 ${OPD} --expect \ 0% packet loss"/>
</group>
</scenario>
......
......@@ -14,14 +14,13 @@
~ limitations under the License.
-->
<scenario name="net-pingall" description="Network pingall test">
<!-- TODO: parametrize this via recipes -->
<!-- Note: This scenario is tailored using 'topo' recipe mechanism; see topos/*.recipe files -->
<group name="Net-Pingall">
<step name="Ping-All" requires="Check-Apps"
exec="onos-mininet sendAndExpect pingall --expect 600/600 received"/>
exec="onos-mininet sendAndExpect pingall --expect ${OPALL}/${OPALL} received"/>
<step name="Check-Summary-For-Hosts" requires="~Ping-All"
exec="onos-check-summary ${OC1} [0-9]* 25 140 25"/>
exec="onos-check-summary ${OC1} [0-9]* ${OTD} ${OTL} ${OTH}"/>
</group>
</scenario>
......
......@@ -14,18 +14,16 @@
~ limitations under the License.
-->
<scenario name="net-reactive-fwd" description="Network reactive forwarding test">
<!-- TODO: parametrize this via recipes -->
<group name="Net-Reactive-Fwd">
<import file="${ONOS_SCENARIOS}/net-activate-fwd.xml" namespace="Net-Reactive-Fwd"/>
<dependency name="Net-Reactive-Fwd.Net-Activate-Fwd" requires="Net-Setup"/>
<import file="${ONOS_SCENARIOS}/net-pingall.xml" namespace="Net-Reactive-Fwd"/>
<dependency name="Net-Reactive-Fwd.Net-Pingall" requires="Net-Reactive-Fwd.Net-Activate-Fwd"/>
<import file="${ONOS_SCENARIOS}/net-link-down-up.xml" namespace="Net-Reactive-Fwd"/>
<dependency name="Net-Reactive-Fwd.Net-Link-Down-Up" requires="Net-Setup,~Net-Reactive-Fwd.Net-Pingall"/>
<dependency name="Net-Reactive-Fwd.Net-Link-Down-Up" requires="~Net-Reactive-Fwd.Net-Pingall"/>
<import file="${ONOS_SCENARIOS}/net-deactivate-fwd.xml" namespace="Net-Reactive-Fwd"/>
<dependency name="Net-Reactive-Fwd.Net-Deactivate-Fwd" requires="Net-Reactive-Fwd.Net-Link-Down-Up"/>
<dependency name="Net-Reactive-Fwd.Net-Deactivate-Fwd" requires="~Net-Reactive-Fwd.Net-Link-Down-Up"/>
</group>
</scenario>
......
<!--
~ 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-geant" 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/geantmpls-cfg.json"/>
<step name="Start-Mininet"
requires="Install-Apps,Config-Topo,Push-Topos,Stop-Mininet-If-Needed"
exec="onos-mininet start topos/topo geantmpls.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]* 31 108 31"/>
<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>
<!--
~ 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>
......@@ -14,7 +14,7 @@
~ limitations under the License.
-->
<scenario name="net-setup" description="Network setup steps">
<!-- TODO: parametrize this via recipes -->
<!-- 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}"/>
......@@ -25,11 +25,11 @@
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"/>
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 attmplsfast.py ${ONOS_INSTANCES}"/>
exec="onos-mininet start topos/topo ${ONOS_TOPO}.py ${ONOS_INSTANCES}"/>
<step name="Wait-For-Mininet" requires="Start-Mininet"
exec="onos-mininet wait 10"/>
......@@ -38,7 +38,7 @@
exec="onos-mininet sendAndExpect gratuitousArp --expect ."/>
<step name="Check-Summary" requires="ARP-Hosts"
exec="onos-check-summary ${OC1} [0-9]* 25 140 25"/>
exec="onos-check-summary ${OC1} [0-9]* ${OTD} ${OTL} ${OTH}"/>
<step name="Balance-Masters" requires="~Check-Summary" if="${OC2}"
exec="onos ${OC1} balance-masters"/>
......
......@@ -3,14 +3,6 @@
"""
"""
from mininet.topo import Topo
from mininet.net import Mininet
from mininet.node import RemoteController
from mininet.node import Node
from mininet.node import CPULimitedHost
from mininet.link import TCLink
from mininet.cli import CLI
from mininet.log import setLogLevel
from mininet.util import dumpNodeConnections
class AttMplsTopo( Topo ):
"Internet Topology Zoo Specimen."
......
# Default US MPLS topology recipe
export OTD=25
export OTL=140
export OTH=25
# Variables for the pingall scenario.
export OPALL=600
# Variables for link-up-down-up scenario.
export OPS=h1
export OPD=h4
export OPL1="s4 s7"
export OPL2="s4 s5"
\ No newline at end of file
......@@ -118,8 +118,8 @@ class GeantMplsTopo( Topo ):
self.addLink( HAM , HAM_host )
self.addLink( AMS , AMS_host )
self.addLink( STO , STO_host )
self.addLink( HEL , HEL_host )
self.addLink( OSL , OSL_host )
self.addLink( HEL , HEL_host )
# add edges between switches
self.addLink( ATH , MIL, bw=10 )
......
# GEANT & Nordnet topology recipe
export OTD=31
export OTL=108
export OTH=31
# Variables for the pingall scenario.
export OPALL=930
# Variables for link-up-down-up scenario.
export OPS=h3
export OPD=h31
export OPL1="s31 s14"
export OPL2="s31 s30"
\ No newline at end of file
# Simple UK topology recipe
export OTD=12
export OTL=46
export OTH=12
# Variables for the pingall scenario.
export OPALL=132
# Variables for link-up-down-up scenario.
export OPS=h6
export OPD=h11
export OPL1="s11 s7"
export OPL2="s11 s9"
\ No newline at end of file
......@@ -172,11 +172,11 @@ public class UiExtensionManager
new UiTopoMap("americas", "North, Central and South America", "*americas", 0.7),
new UiTopoMap("n_america", "North America", "*n_america", 0.9),
new UiTopoMap("s_america", "South America", "*s_america", 0.9),
new UiTopoMap("usa", "United States", "*continental_us", 1.0),
new UiTopoMap("usa", "United States", "*continental_us", 1.3),
new UiTopoMap("bayareaGEO", "Bay Area, California", "*bayarea", 1.0),
new UiTopoMap("europe", "Europe", "*europe", 9.0),
new UiTopoMap("europe", "Europe", "*europe", 10.0),
new UiTopoMap("italy", "Italy", "*italy", 0.8),
new UiTopoMap("uk", "United Kingdom and Ireland", "*uk", 0.6),
new UiTopoMap("uk", "United Kingdom and Ireland", "*uk", 2.0),
new UiTopoMap("japan", "Japan", "*japan", 0.8),
new UiTopoMap("s_korea", "South Korea", "*s_korea", 0.75),
new UiTopoMap("taiwan", "Taiwan", "*taiwan", 0.7),
......