blob: caf1e9f139ef88bf9f8eb8a4520697bc678b3c2f [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#}">
28 <step name="Netcfg.Check-Dhcp-App-Activated-${#}" delay="2"
29 exec="onos-check-apps ${OC#} drivers,openflow,proxyarp,dhcp includes"/>
30 </parallel>
31 </group>
32
Ray Milkeya0f983b2016-06-23 19:39:55 -070033 <!-- Upload the first set of config changes -->
Ray Milkeye685d7d2016-08-04 17:00:14 -070034 <step name="Netcfg.Post-1" requires="Netcfg.Check-Dhcp-App-Activated"
Ray Milkeya0f983b2016-06-23 19:39:55 -070035 exec="post-netcfg.py ${OC1} ${ONOS_SCENARIOS}/netcfg-test/dhcp-cfg1.json"/>
36
37 <group name="Query1" requires="Netcfg.Post-1">
38 <parallel var="${OC#}" starts="Netcfg.Query-1-${#}">
39 <!-- Check that the values made it into the config for the DHCP server -->
Thomas Vachuskaa7217512016-07-13 16:52:43 -070040 <step name="Netcfg.QueryDhcp-1-${#}" delay="2"
41 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 -070042 </parallel>
43 </group>
44
45 <!-- Upload the second set of config changes -->
46 <step name="Netcfg.Post-2" requires="Query1"
47 exec="post-netcfg.py ${OC1} ${ONOS_SCENARIOS}/netcfg-test/dhcp-cfg2.json"/>
48
49 <!-- Check that the values made it into the config for the DHCP server -->
50 <group name="Query2" requires="Netcfg.Post-2">
51 <parallel var="${OC#}" starts="Netcfg.Query-2-${#}">
52 <!-- Check that the values made it into the config for the DHCP server -->
Thomas Vachuskaa7217512016-07-13 16:52:43 -070053 <step name="Netcfg.QueryDhcp-2-${#}" delay="2"
54 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 -070055 </parallel>
56 </group>
57
58
59 <!-- Delete the DHCP server config -->
60 <step name="Netcfg.Delete" requires="Query2"
61 exec="delete-netcfg.py ${OC1} apps/org.onosproject.dhcp/dhcp"/>
62
63 <!-- Check that the config for the DHCP server is no longer there -->
64 <group name="Query3" requires="Netcfg.Delete">
65 <parallel var="${OC#}" starts="Netcfg.Query-3-${#}">
66 <!-- Check that the values were deleted for the config for the DHCP server -->
67 <step name="Netcfg.QueryDhcp-31-${#}" env="!" exec="check-dhcp-netcfg.py ${OC#} ttl=21"/>
68 <step name="Netcfg.QueryDhcp-32-${#}" env="!" exec="check-dhcp-netcfg.py ${OC#} lease=22"/>
69 <step name="Netcfg.QueryDhcp-33-${#}" env="!" exec="check-dhcp-netcfg.py ${OC#} renew=23"/>
70 <step name="Netcfg.QueryDhcp-34-${#}" env="!" exec="check-dhcp-netcfg.py ${OC#} rebind=24"/>
71 <step name="Netcfg.QueryDhcp-35-${#}" env="!" exec="check-dhcp-netcfg.py ${OC#} delay=25"/>
72 <step name="Netcfg.QueryDhcp-36-${#}" env="!" exec="check-dhcp-netcfg.py ${OC#} timeout=26"/>
73 </parallel>
74 </group>
75
76 <!-- Deactivate the DHCP app -->
77 <step name="Netcfg.Deactivate-Dhcp" requires="Query3"
78 exec="onos ${OC1} app deactivate org.onosproject.dhcp"/>
79
80 </group>
81</scenario>