| <!-- |
| ~ Copyright 2016-present Open Networking Foundation |
| ~ |
| ~ 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="meta-apps" |
| description="Openflow provider activate/deactivate test"> |
| <group name="Meta-App"> |
| <step name="InitialDeactivateOpenflowMetaApp" |
| exec="onos ${OCI} onos:app deactivate org.onosproject.openflow org.onosproject.hostprovider org.onosproject.lldpprovider org.onosproject.openflow-base"/> |
| <step name="InitialActivateOpenflowMetaApp" requires="InitialDeactivateOpenflowMetaApp" |
| exec="onos ${OCI} onos:app activate org.onosproject.openflow"/> |
| |
| <!-- Check initial state of openflow apps --> |
| <group name="MetaAppInitialVerification" requires="InitialActivateOpenflowMetaApp"> |
| <parallel var="${OC#}" starts="MetaAppTest.FindOpenflowInitial-${#}" ends="MetaAppTest.CheckLldpProviderInitial-${#-1}"> |
| <step name="MetaAppTest.FindOpenflowInitial-${#}" |
| exec="onos-find-app ${OC#} org.onosproject.openflow openflowAppInitial" /> |
| <step name="MetaAppTest.CheckOpenflowInitial-${#}" requires="MetaAppTest.FindOpenflowInitial-${#}" |
| exec="test '${openflowAppInitialState}' == 'active'"/> |
| |
| <step name="MetaAppTest.FindOpenflowBaseInitial-${#}" |
| exec="onos-find-app ${OC#} org.onosproject.openflow-base openflowBaseInitial" /> |
| <step name="MetaAppTest.CheckOpenflowBaseInitial-${#}" requires="MetaAppTest.FindOpenflowBaseInitial-${#}" |
| exec="test '${openflowBaseInitialState}' == 'active'"/> |
| |
| <step name="MetaAppTest.FindHostProviderInitial-${#}" |
| exec="onos-find-app ${OC#} org.onosproject.hostprovider hostProviderInitial" /> |
| <step name="MetaAppTest.CheckHostProviderInitial-${#}" requires="MetaAppTest.FindHostProviderInitial-${#}" |
| exec="test '${hostProviderInitialState}' == 'active'"/> |
| |
| <step name="MetaAppTest.FindLldpProviderInitial-${#}" |
| exec="onos-find-app ${OC#} org.onosproject.lldpprovider lldpProviderInitial" /> |
| <step name="MetaAppTest.CheckLldpProviderInitial-${#}" requires="MetaAppTest.FindLldpProviderInitial-${#}" |
| exec="test '${lldpProviderInitialState}' == 'active'"/> |
| </parallel> |
| </group> |
| |
| <!-- Deactivate openflow meta app --> |
| <step name="MetaAppTest.DeactivateOpenflowMetaApp" requires="MetaAppInitialVerification" |
| exec="onos ${OCI} onos:app deactivate org.onosproject.openflow"/> |
| |
| <!-- Check that openflow apps are no longer active --> |
| <group name="MetaAppInactive" requires="MetaAppTest.DeactivateOpenflowMetaApp,MetaAppInitialVerification"> |
| <parallel var="${OC#}" starts="MetaAppTest.FindOpenflowInactive-${#}" ends="MetaAppTest.CheckLldpProviderInactive-${#-1}"> |
| <step name="MetaAppTest.FindOpenflowInactive-${#}" |
| exec="onos-find-app ${OC#} org.onosproject.openflow openflowAppInactive" /> |
| <step name="MetaAppTest.CheckOpenflowInactive-${#}" requires="^" |
| exec="test '${openflowAppInactiveState}' == 'inactive'"/> |
| |
| <step name="MetaAppTest.FindOpenflowBaseInactive-${#}" requires="^" |
| exec="onos-find-app ${OC#} org.onosproject.openflow-base openflowBaseInactive" /> |
| <step name="MetaAppTest.CheckOpenflowBaseInactive-${#}" requires="^" |
| exec="test '${openflowBaseInactiveState}' == 'inactive'"/> |
| |
| <step name="MetaAppTest.FindHostProviderInactive-${#}" requires="^" |
| exec="onos-find-app ${OC#} org.onosproject.hostprovider hostProviderInactive" /> |
| <step name="MetaAppTest.CheckHostProviderInactive-${#}" requires="^" |
| exec="test '${hostProviderInactiveState}' == 'inactive'"/> |
| |
| <step name="MetaAppTest.FindLldpProviderInactive-${#}" requires="^" |
| exec="onos-find-app ${OC#} org.onosproject.lldpprovider lldpProviderInactive" /> |
| <step name="MetaAppTest.CheckLldpProviderInactive-${#}" requires="^" |
| exec="test '${lldpProviderInactiveState}' == 'inactive'"/> |
| </parallel> |
| </group> |
| |
| <!-- Reactivate openflow meta app --> |
| <step name="MetaAppTest.ReactivateOpenflowMetaApp" requires="MetaAppInactive" |
| exec="onos ${OCI} onos:app activate org.onosproject.openflow"/> |
| |
| <!-- Check that openflow apps are now active again --> |
| <group name="MetaAppReactivated" requires="MetaAppTest.ReactivateOpenflowMetaApp,MetaAppInactive,MetaAppInitialVerification"> |
| <parallel var="${OC#}" starts="MetaAppTest.FindOpenflowReactivated-${#}" ends="MetaAppTest.CheckLldpProviderRectivated-${#-1}"> |
| <step name="MetaAppTest.FindOpenflowReactivated-${#}" |
| exec="onos-find-app ${OC#} org.onosproject.openflow openflowAppReactivated" /> |
| <step name="MetaAppTest.CheckOpenflowReactivated-${#}" requires="^" |
| exec="test '${openflowAppReactivatedState}' == 'active'"/> |
| |
| <step name="MetaAppTest.FindOpenflowBaseReactivated-${#}" requires="^" |
| exec="onos-find-app ${OC#} org.onosproject.openflow-base openflowBaseReactivated" /> |
| <step name="MetaAppTest.CheckOpenflowBaseReactivated-${#}" requires="^" |
| exec="test '${openflowBaseReactivatedState}' == 'active'"/> |
| |
| <step name="MetaAppTest.FindHostProviderReactivated-${#}" requires="^" |
| exec="onos-find-app ${OC#} org.onosproject.hostprovider hostProviderReactivated" /> |
| <step name="MetaAppTest.CheckHostProviderReactivated-${#}" requires="^" |
| exec="test '${hostProviderReactivatedState}' == 'active'"/> |
| |
| <step name="MetaAppTest.FindLldpProviderReactivated-${#}" requires="^" |
| exec="onos-find-app ${OC#} org.onosproject.lldpprovider lldpProviderReactivated" /> |
| <step name="MetaAppTest.CheckLldpProviderReactivated-${#}" requires="^" |
| exec="test '${lldpProviderReactivatedState}' == 'active'"/> |
| </parallel> |
| </group> |
| |
| </group> |
| |
| </scenario> |