2 Documentation Test suite to verify fitration operation on different models.
3 ... Before test starts, configurational file have to be rewriten to change listners registration datastore type from CONFIGURATION to OPERATIONAL.
4 ... Need for this change is also a reason why main feature (odl-topoprocessing-framework) is installed after file change and not during boot.
5 ... Tests themselves install feature required for specific model, clear karaf logs for futher synchronization, send configurational xmls and verify output.
6 ... Topology-id on the end of each urls must match topology-id from xml. Yang models of components in topology are defined in xmls.
8 Library RequestsLibrary
11 Variables ../../../variables/topoprocessing/TopologyRequests.py
12 Variables ../../../variables/topoprocessing/TargetFields.py
13 Variables ../../../variables/Variables.py
14 Resource ../../../libraries/KarafKeywords.robot
15 Resource ../../../libraries/Utils.robot
16 Resource ../../../libraries/TopoprocessingKeywords.robot
18 Suite Setup Setup Environment
19 Suite Teardown Clean Environment
20 Test Setup SetupUtils.Setup_Test_With_Logging_And_Without_Fast_Failing
21 Test Teardown Delete Overlay Topology
25 Filtration IPV4 Network Topology Model
26 [Documentation] Test of ipv4 type of filtration operation on Network Topology model
27 ${request} Prepare Filtration Topology Request
29 ... network-topology-model
32 ${request} Insert Filter ${request} ${FILTER_IPV4} ${ISIS_NODE_TE_ROUTER_ID_IPV4}
33 ${request} Set IPV4 Filter ${request} 192.168.1.1/24
34 Basic Request Put ${request} ${OVERLAY_TOPO_URL}
35 ${resp} Wait Until Keyword Succeeds
38 ... Output Topo Should Be Complete
40 ... supporting-node_count=2
44 Check Filtered Nodes in Topology ${resp.content} 3 bgp:1 bgp:2
46 Filtration IPV4 Inventory Model
47 [Documentation] Test of ipv4 type of filtration operation on Inventory model
48 ${request} Prepare Filtration Topology Request
50 ... opendaylight-inventory-model
53 ${request} Insert Filter ${request} ${FILTER_IPV4} ${OPENFLOW_NODE_IP_ADDRESS}
54 ${request} Set IPV4 Filter ${request} 192.168.1.1/24
55 Basic Request Put ${request} ${OVERLAY_TOPO_URL}
56 ${resp} Wait Until Keyword Succeeds
59 ... Output Topo Should Be Complete
61 ... supporting-node_count=3
65 Check Filtered Nodes in Topology ${resp.content} 8 of-node:1 of-node:2 of-node:3
67 Filtration Range Number Network Topology Model
68 [Documentation] Test of range number type of filtration operation on Network Topology model
69 ${request} Prepare Filtration Topology Request
71 ... network-topology-model
74 ${request} Insert Filter ${request} ${FILTER_RANGE_NUMBER} ${OVSDB_OVS_VERSION}
75 ${request} Set Range Number Filter ${request} 20 25
76 Basic Request Put ${request} ${OVERLAY_TOPO_URL}
77 ${resp} Wait Until Keyword Succeeds
80 ... Output Topo Should Be Complete
82 ... supporting-node_count=4
86 Check Filtered Nodes in Topology ${resp.content} 5 bgp:7 bgp:8 bgp:9 bgp:10
88 Filtration Range Number Inventory Model
89 [Documentation] Test of range number type of filtration operation on Inventory model
90 ${request} Prepare Filtration Topology Request
92 ... opendaylight-inventory-model
95 ${request} Insert Filter ${request} ${FILTER_RANGE_NUMBER} ${OPENFLOW_NODE_SERIAL_NUMBER}
96 ${request} Set Range Number Filter ${request} 20 25
97 Basic Request Put ${request} ${OVERLAY_TOPO_URL}
98 ${resp} Wait Until Keyword Succeeds
101 ... Output Topo Should Be Complete
103 ... supporting-node_count=3
107 Check Filtered Nodes in Topology ${resp.content} 0 of-node:8 of-node:9 of-node:10
109 Filtration Specific String Network Topology Model
110 [Documentation] Test of specific string type of filtration operation on Network Topology model
111 ${request} Prepare Filtration Topology Request
113 ... network-topology-model
116 ${request} Insert Filter ${request} ${FILTER_SPECIFIC_STRING} ${OVSDB_OVS_VERSION}
117 ${request} Set Specific String Filter ${request} 25
118 Basic Request Put ${request} ${OVERLAY_TOPO_URL}
119 ${resp} Wait Until Keyword Succeeds
122 ... Output Topo Should Be Complete
124 ... supporting-node_count=2
128 Check Filtered Nodes in Topology ${resp.content} 2 bgp:9 bgp:10
130 Filtration Specific String Inventory Model
131 [Documentation] Test of specific string type of filtration operation on Inventory model
132 ${request} Prepare Filtration Topology Request
134 ... opendaylight-inventory-model
137 ${request} Insert Filter ${request} ${FILTER_SPECIFIC_STRING} ${OPENFLOW_NODE_SERIAL_NUMBER}
138 ${request} Set Specific String Filter ${request} 21
139 Basic Request Put ${request} ${OVERLAY_TOPO_URL}
140 ${resp} Wait Until Keyword Succeeds
143 ... Output Topo Should Be Complete
145 ... supporting-node_count=2
149 Check Filtered Nodes in Topology ${resp.content} 0 of-node:8 of-node:9
151 Filtration Range String Network Topology Model
152 [Documentation] Test of range string type of filtration operation on Network Topology model
153 ${request} Prepare Filtration Topology Request
155 ... network-topology-model
158 ${request} Insert Filter ${request} ${FILTER_RANGE_STRING} ${OVSDB_OVS_VERSION}
159 ${request} Set Range String Filter ${request} 20 25
160 Basic Request Put ${request} ${OVERLAY_TOPO_URL}
161 ${resp} Wait Until Keyword Succeeds
164 ... Output Topo Should Be Complete
166 ... supporting-node_count=4
170 Check Filtered Nodes in Topology ${resp.content} 5 bgp:7 bgp:8 bgp:9 bgp:10
172 Filtration Range String Inventory Model
173 [Documentation] Test of range string type of filtration operation on Inventory model
174 ${request} Prepare Filtration Topology Request
176 ... opendaylight-inventory-model
179 ${request} Insert Filter ${request} ${FILTER_RANGE_STRING} ${OPENFLOW_NODE_SERIAL_NUMBER}
180 ${request} Set Range String Filter ${request} 20 25
181 Basic Request Put ${request} ${OVERLAY_TOPO_URL}
182 ${resp} Wait Until Keyword Succeeds
185 ... Output Topo Should Be Complete
187 ... supporting-node_count=3
191 Check Filtered Nodes in Topology ${resp.content} 0 of-node:8 of-node:9 of-node:10
193 Filtration IPV6 Network Topology Model
194 [Documentation] Test of ipv6 type of filtration operation on Network Topology model
195 ${request} Prepare Filtration Topology Request
197 ... network-topology-model
200 ${request} Insert Filter ${request} ${FILTER_IPV6} ${ISIS_NODE_TE_ROUTER_ID_IPV6}
201 ${request} Set IPV6 Filter ${request} fe80:0:0:0:0:0:c0a8:101/120
202 Basic Request Put ${request} ${OVERLAY_TOPO_URL}
203 ${resp} Wait Until Keyword Succeeds
206 ... Output Topo Should Be Complete
208 ... supporting-node_count=2
212 Check Filtered Nodes in Topology ${resp.content} 1 bgp:11 bgp:12
214 Filtration IPV6 Inventory Model
215 [Documentation] Test of ipv6 type of filtration operation on Inventory model
216 ${request} Prepare Filtration Topology Request
218 ... opendaylight-inventory-model
221 ${request} Insert Filter ${request} ${FILTER_IPV6} ${OPENFLOW_NODE_IP_ADDRESS}
222 ${request} Set IPV6 Filter ${request} fe80:0:0:0:0:0:c0a8:201/120
223 Basic Request Put ${request} ${OVERLAY_TOPO_URL}
224 ${resp} Wait Until Keyword Succeeds
227 ... Output Topo Should Be Complete
229 ... supporting-node_count=3
233 Check Filtered Nodes in Topology ${resp.content} 0 of-node:12 of-node:14 of-node:15
235 Filtration Script Network Topology Model
236 [Documentation] Test of script type of filtration operation on Network Topology model
237 ${request} Prepare Filtration Topology Request
239 ... network-topology-model
242 ${request} Insert Filter ${request} ${FILTER_SCRIPT} ${ISIS_NODE_TE_ROUTER_ID_IPV4}
243 ${script} Set Variable
244 ... if (node.getValue().indexOf("192.168.1") > -1 ) {filterOut.setResult(true);} else {filterOut.setResult(false);}
245 ${request} Set Script Filter ${request} javascript ${script}
246 Basic Request Put ${request} ${OVERLAY_TOPO_URL}
247 ${resp} Wait Until Keyword Succeeds
250 ... Output Topo Should Be Complete
252 ... supporting-node_count=3
256 Check Filtered Nodes in Topology ${resp.content} 5 bgp:3 bgp:4 bgp:5
258 Filtration Script Inventory Model
259 [Documentation] Test of script type of filtration operation on Inventory model
260 ${request} Prepare Filtration Topology Request
262 ... opendaylight-inventory-model
265 ${request} Insert Filter ${request} ${FILTER_SCRIPT} ${OPENFLOW_NODE_IP_ADDRESS}
266 ${script} Set Variable
267 ... if (node.getValue().indexOf("192.168.2") > -1 ) {filterOut.setResult(true);} else {filterOut.setResult(false);}
268 ${request} Set Script Filter ${request} javascript ${script}
269 Basic Request Put ${request} ${OVERLAY_TOPO_URL}
270 ${resp} Wait Until Keyword Succeeds
273 ... Output Topo Should Be Complete
275 ... supporting-node_count=3
279 Check Filtered Nodes in Topology ${resp.content} 8 of-node:1 of-node:2 of-node:3