blob: e13705bddac2860ff4113f048c68dc1ff357c05a [file] [log] [blame]
Ray Milkeya0f983b2016-06-23 19:39:55 -07001<!--
2 ~ Copyright 2016-present Open Networking Laboratory
3 ~
4 ~ Licensed under the Apache License, Version 2.0 (the "License");
5 ~ you may not use this file except in compliance with the License.
6 ~ You may obtain a copy of the License at
7 ~
8 ~ http://www.apache.org/licenses/LICENSE-2.0
9 ~
10 ~ Unless required by applicable law or agreed to in writing, software
11 ~ distributed under the License is distributed on an "AS IS" BASIS,
12 ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 ~ See the License for the specific language governing permissions and
14 ~ limitations under the License.
15 -->
16<scenario name="netcfg"
17 description="Network configuration REST API test">
18
19 <group name="Netcfg">
20
21 <!-- Activate the DHCP app -->
22 <step name="Netcfg.Activate-Dhcp"
23 exec="onos ${OC1} app activate org.onosproject.dhcp"/>
24
Ray Milkeye685d7d2016-08-04 17:00:14 -070025 <!-- Check that the activation was successful -->
26 <group name="Netcfg.Check-Dhcp-App-Activated" requires="Netcfg.Activate-Dhcp">
27 <parallel var="${OC#}">
Ray Milkeyba82c0d2016-08-30 12:45:27 -070028 <step name="Netcfg.Check-Dhcp-App-Activated-${#}"
Ray Milkeye685d7d2016-08-04 17:00:14 -070029 exec="onos-check-apps ${OC#} drivers,openflow,proxyarp,dhcp includes"/>
Ray Milkeyba82c0d2016-08-30 12:45:27 -070030 <step name="Netcfg.Check-Dhcp-Component-Active-${#}"
31 exec="onos-check-component ${OC#} org.onosproject.dhcp.impl.DhcpManager ACTIVE"/>
Ray Milkeye685d7d2016-08-04 17:00:14 -070032 </parallel>
33 </group>
34
Ray Milkeya0f983b2016-06-23 19:39:55 -070035 <!-- Upload the first set of config changes -->
Ray Milkeye685d7d2016-08-04 17:00:14 -070036 <step name="Netcfg.Post-1" requires="Netcfg.Check-Dhcp-App-Activated"
Ray Milkeya0f983b2016-06-23 19:39:55 -070037 exec="post-netcfg.py ${OC1} ${ONOS_SCENARIOS}/netcfg-test/dhcp-cfg1.json"/>
38
39 <group name="Query1" requires="Netcfg.Post-1">
40 <parallel var="${OC#}" starts="Netcfg.Query-1-${#}">
41 <!-- Check that the values made it into the config for the DHCP server -->
Ray Milkeyba82c0d2016-08-30 12:45:27 -070042 <step name="Netcfg.QueryDhcp-1-${#}"
Thomas Vachuskaa7217512016-07-13 16:52:43 -070043 exec="check-dhcp-netcfg.py ${OC#} ttl=1 lease=2 renew=3 rebind=4 delay=5 timeout=6"/>
Ray Milkeya0f983b2016-06-23 19:39:55 -070044 </parallel>
45 </group>
46
47 <!-- Upload the second set of config changes -->
48 <step name="Netcfg.Post-2" requires="Query1"
49 exec="post-netcfg.py ${OC1} ${ONOS_SCENARIOS}/netcfg-test/dhcp-cfg2.json"/>
50
51 <!-- Check that the values made it into the config for the DHCP server -->
52 <group name="Query2" requires="Netcfg.Post-2">
53 <parallel var="${OC#}" starts="Netcfg.Query-2-${#}">
54 <!-- Check that the values made it into the config for the DHCP server -->
Ray Milkeyba82c0d2016-08-30 12:45:27 -070055 <step name="Netcfg.QueryDhcp-2-${#}"
Thomas Vachuskaa7217512016-07-13 16:52:43 -070056 exec="check-dhcp-netcfg.py ${OC#} ttl=21 lease=22 renew=23 rebind=24 delay=25 timeout=26"/>
Ray Milkeya0f983b2016-06-23 19:39:55 -070057 </parallel>
58 </group>
59
60
61 <!-- Delete the DHCP server config -->
62 <step name="Netcfg.Delete" requires="Query2"
63 exec="delete-netcfg.py ${OC1} apps/org.onosproject.dhcp/dhcp"/>
64
65 <!-- Check that the config for the DHCP server is no longer there -->
66 <group name="Query3" requires="Netcfg.Delete">
67 <parallel var="${OC#}" starts="Netcfg.Query-3-${#}">
68 <!-- Check that the values were deleted for the config for the DHCP server -->
69 <step name="Netcfg.QueryDhcp-31-${#}" env="!" exec="check-dhcp-netcfg.py ${OC#} ttl=21"/>
70 <step name="Netcfg.QueryDhcp-32-${#}" env="!" exec="check-dhcp-netcfg.py ${OC#} lease=22"/>
71 <step name="Netcfg.QueryDhcp-33-${#}" env="!" exec="check-dhcp-netcfg.py ${OC#} renew=23"/>
72 <step name="Netcfg.QueryDhcp-34-${#}" env="!" exec="check-dhcp-netcfg.py ${OC#} rebind=24"/>
73 <step name="Netcfg.QueryDhcp-35-${#}" env="!" exec="check-dhcp-netcfg.py ${OC#} delay=25"/>
74 <step name="Netcfg.QueryDhcp-36-${#}" env="!" exec="check-dhcp-netcfg.py ${OC#} timeout=26"/>
75 </parallel>
76 </group>
77
78 <!-- Deactivate the DHCP app -->
79 <step name="Netcfg.Deactivate-Dhcp" requires="Query3"
80 exec="onos ${OC1} app deactivate org.onosproject.dhcp"/>
81
82 </group>
83</scenario>