net-host-intent.xml 2.87 KB
<!--
  ~ 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-host-intent" description="Network host intent connectivity test">
    <!-- TODO: parametrize this via recipes -->
    <group name="Host-Intent-Connectivity">
        <step name="Host-Intent.Uninstall-Reactive-Forwarding"
              exec="onos ${OC1} app deactivate org.onosproject.fwd org.onosproject.ifwd"/>
        <step name="Host-Intent.Check-Apps" requires="^"
              exec="onos-check-apps ${OC1} fwd,ifwd excludes"/>

        <step name="Host-Intent.Find-Host-1" requires="^"
              exec="onos-mininet sendAndExpect h1 ping -c1 -w1 h4 --expect ."/>
        <step name="Host-Intent.Find-Host-2" requires="^"
              exec="onos-mininet sendAndExpect h4 ping -c1 -w1 h1 --expect ."/>

        <step name="Host-Intent.Create-Intent" requires="^"
              exec="onos-create-intent ${OC1} h2h host 00:00:00:00:00:01/-1 00:00:00:00:00:04/-1"/>
        <step name="Host-Intent.Validate-Intent-Installed" requires="Host-Intent.Create-Intent"
              exec="onos-check-intent ${OC1} h2h INSTALLED"/>

        <import file="${ONOS_SCENARIOS}/net-link-down-up.xml" namespace="Host-Intent"/>
        <dependency name="Host-Intent.Net-Link-Down-Up"
                    requires="Host-Intent.Validate-Intent-Installed"/>

        <step name="Host-Intent.Validate-Intent-Installed-Still" requires="Host-Intent.Link-1-Down"
              exec="onos-check-intent ${OC1} h2h INSTALLED"/>

        <dependency name="Host-Intent.Link-2-Down"
                    requires="~Host-Intent.Validate-Intent-Installed-Still" />

        <step name="Host-Intent.Validate-Intent-Failed" requires="Host-Intent.Link-2-Down"
              exec="onos-check-intent ${OC1} h2h FAILED"/>

        <dependency name="Host-Intent.Link-1-Up"
                    requires="~Host-Intent.Validate-Intent-Failed" />

        <step name="Host-Intent.Validate-Intent-Installed-Again" requires="Host-Intent.Link-1-Up"
              exec="onos-check-intent ${OC1} h2h INSTALLED"/>

        <dependency name="Host-Intent.Ping-4"
                    requires="~Host-Intent.Validate-Intent-Installed-Again" />

        <step name="Host-Intent.Remove-Intent" requires="~Host-Intent.Net-Link-Down-Up"
              exec="onos ${OC1} remove-intent -p org.onosproject.cli h2h"/>
    </group>
</scenario>