| <!-- |
| ~ 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="netcfg" |
| description="Network configuration REST API test"> |
| |
| <group name="Netcfg"> |
| |
| <!-- Activate the DHCP app --> |
| <step name="Netcfg.Activate-Dhcp" |
| exec="onos ${OC1} app activate org.onosproject.dhcp"/> |
| |
| <!-- Check that the activation was successful --> |
| <group name="Netcfg.Check-Dhcp-App-Activated" requires="Netcfg.Activate-Dhcp"> |
| <parallel var="${OC#}"> |
| <step name="Netcfg.Check-Dhcp-App-Activated-${#}" |
| exec="onos-check-apps ${OC#} gui,drivers,openflow,proxyarp,dhcp includes"/> |
| <step name="Netcfg.Check-Dhcp-Component-Active-${#}" |
| exec="onos-check-component ${OC#} org.onosproject.dhcp.impl.DhcpManager ACTIVE"/> |
| </parallel> |
| </group> |
| |
| <!-- Upload the first set of config changes --> |
| <step name="Netcfg.Post-1" requires="Netcfg.Check-Dhcp-App-Activated" |
| exec="post-netcfg.py ${OC1} ${ONOS_SCENARIOS}/netcfg-test/dhcp-cfg1.json"/> |
| |
| <group name="Query1" requires="Netcfg.Post-1"> |
| <parallel var="${OC#}" starts="Netcfg.Query-1-${#}"> |
| <!-- Check that the values made it into the config for the DHCP server --> |
| <step name="Netcfg.QueryDhcp-1-${#}" |
| exec="check-dhcp-netcfg.py ${OC#} ttl=1 lease=2 renew=3 rebind=4 delay=5 timeout=6"/> |
| </parallel> |
| </group> |
| |
| <!-- Upload the second set of config changes --> |
| <step name="Netcfg.Post-2" requires="Query1" |
| exec="post-netcfg.py ${OC1} ${ONOS_SCENARIOS}/netcfg-test/dhcp-cfg2.json"/> |
| |
| <!-- Check that the values made it into the config for the DHCP server --> |
| <group name="Query2" requires="Netcfg.Post-2"> |
| <parallel var="${OC#}" starts="Netcfg.Query-2-${#}"> |
| <!-- Check that the values made it into the config for the DHCP server --> |
| <step name="Netcfg.QueryDhcp-2-${#}" delay="2" |
| exec="check-dhcp-netcfg.py ${OC#} ttl=21 lease=22 renew=23 rebind=24 delay=25 timeout=26"/> |
| </parallel> |
| </group> |
| |
| |
| <!-- Delete the DHCP server config --> |
| <step name="Netcfg.Delete" requires="Query2" |
| exec="delete-netcfg.py ${OC1} apps/org.onosproject.dhcp/dhcp"/> |
| |
| <!-- Check that the config for the DHCP server is no longer there --> |
| <group name="Query3" requires="Netcfg.Delete"> |
| <parallel var="${OC#}" starts="Netcfg.Query-3-${#}"> |
| <!-- Check that the values were deleted for the config for the DHCP server --> |
| <step name="Netcfg.QueryDhcp-31-${#}" env="!" exec="check-dhcp-netcfg.py ${OC#} ttl=21" delay="2"/> |
| <step name="Netcfg.QueryDhcp-32-${#}" env="!" exec="check-dhcp-netcfg.py ${OC#} lease=22" delay="2"/> |
| <step name="Netcfg.QueryDhcp-33-${#}" env="!" exec="check-dhcp-netcfg.py ${OC#} renew=23" delay="2"/> |
| <step name="Netcfg.QueryDhcp-34-${#}" env="!" exec="check-dhcp-netcfg.py ${OC#} rebind=24" delay="2"/> |
| <step name="Netcfg.QueryDhcp-35-${#}" env="!" exec="check-dhcp-netcfg.py ${OC#} delay=25" delay="2"/> |
| <step name="Netcfg.QueryDhcp-36-${#}" env="!" exec="check-dhcp-netcfg.py ${OC#} timeout=26" delay="2"/> |
| </parallel> |
| </group> |
| |
| <!-- Deactivate the DHCP app --> |
| <step name="Netcfg.Deactivate-Dhcp" requires="Query3" |
| exec="onos ${OC1} app deactivate org.onosproject.dhcp"/> |
| |
| </group> |
| </scenario> |