Ray Milkey
Committed by Gerrit Code Review

Add a scenario for multi point to single point intents

Change-Id: I0070c0baacb16d05f4cea42e904e417e478f944f
<!--
~ Copyright 2016 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-multi-to-single-intent"
description="Network single point to multi point intent connectivity test">
<!-- TODO: parametrize this via recipes -->
<group name="M2S-Intent-Connectivity">
<step name="M2S-Intent.Uninstall-Reactive-Forwarding"
exec="onos ${OC1} app deactivate org.onosproject.fwd org.onosproject.ifwd"/>
<step name="M2S-Intent.Check-Apps" requires="^"
exec="onos-check-apps ${OC1} fwd,ifwd excludes"/>
<!-- Create a single point to three points intent -->
<step name="M2S-Intent.Create-Intent-forward" requires="^"
exec="onos-create-intent ${OC1} forward multi-to-single of:0000000000000014/1 of:0000000000000002/1 of:000000000000000E/1 of:0000000000000011/1"/>
<!-- Create back links from the 3 points back to the source using a single to multi intent -->
<step name="M2S-Intent.Create-Intent-back" requires="^"
exec="onos-create-intent ${OC1} back single-to-multi of:0000000000000011/1 of:0000000000000014/1 of:0000000000000002/1 of:000000000000000E/1"/>
<!-- Make sure intents installed properly -->
<step name="M2S-Intent.Validate-Intent-forward-Installed" requires="M2S-Intent.Create-Intent-forward"
exec="onos-check-intent ${OC1} forward INSTALLED"/>
<step name="M2S-Intent.Validate-Intent-back1-Installed" requires="M2S-Intent.Create-Intent-back1"
exec="onos-check-intent ${OC1} back INSTALLED"/>
<!-- Check the connectivity of the 11 <-> 14 intent -->
<step name="M2S-Intent.Ping-1-forward"
exec="onos-mininet sendAndExpect h17 ping -c1 h20 --expect \ 0% packet loss" requires="M2S-Intent.Create-Intent-forward,
M2S-Intent.Create-Intent-back1" />
<step name="M2S-Intent.Ping-1-back"
exec="onos-mininet sendAndExpect h20 ping -c1 h17 --expect \ 0% packet loss" requires="M2S-Intent.Create-Intent-forward,
M2S-Intent.Create-Intent-back1" />
<!-- Check the connectivity of the 11 <-> 2 intent -->
<step name="M2S-Intent.Ping-2-forward"
exec="onos-mininet sendAndExpect h17 ping -c1 h2 --expect \ 0% packet loss" requires="M2S-Intent.Create-Intent-forward,
M2S-Intent.Create-Intent-back1" />
<step name="M2S-Intent.Ping-2-back"
exec="onos-mininet sendAndExpect h2 ping -c1 h17 --expect \ 0% packet loss" requires="M2S-Intent.Create-Intent-forward,
M2S-Intent.Create-Intent-back1" />
<!-- Check the connectivity of the 11 <-> E intent -->
<step name="M2S-Intent.Ping-3-forward"
exec="onos-mininet sendAndExpect h17 ping -c1 h14 --expect \ 0% packet loss" requires="M2S-Intent.Create-Intent-forward,
M2S-Intent.Create-Intent-back2" />
<step name="M2S-Intent.Ping-3-back"
exec="onos-mininet sendAndExpect h14 ping -c1 h17 --expect \ 0% packet loss" requires="M2S-Intent.Create-Intent-forward,
M2S-Intent.Create-Intent-back3" />
<!-- Clean up intents -->
<step name="M2S-Intent.Remove-Intent-forward" requires="~M2S-Intent.Ping-3-back"
exec="onos ${OC1} remove-intent -p org.onosproject.cli forward"/>
<step name="M2S-Intent.Remove-Intent-back" requires="~M2S-Intent.Ping-3-back"
exec="onos ${OC1} remove-intent -p org.onosproject.cli back"/>
</group>
</scenario>
......@@ -33,8 +33,12 @@
<dependency name="S2M-Intent-Connectivity"
requires="Net-Setup,~Reactive-Forwarding.Net-Link-Down-Up,Host-Intent-Connectivity,P2P-Intent-Connectivity"/>
<import file="${ONOS_SCENARIOS}/net-multi-to-single-intent.xml"/>
<dependency name="M2S-Intent-Connectivity"
requires="S2M-Intent-Connectivity"/>
<import file="${ONOS_SCENARIOS}/net-rest.xml"/>
<dependency name="Net-REST" requires="Net-Setup,P2P-Intent-Connectivity,S2M-Intent-Connectivity"/>
<dependency name="Net-REST" requires="Net-Setup,P2P-Intent-Connectivity,M2S-Intent-Connectivity"/>
<import file="${ONOS_SCENARIOS}/net-create-flows.xml"/>
<dependency name="Net-Create-Flows" requires="Net-Setup,P2P-Intent-Connectivity,Net-REST"/>
......