e05a9e8c913ae41ddafa67b95ed302f359367c5a
[integration/test.git] / csit / suites / openflowplugin / Flows_Additional_TCs / Stat_Manager_extended / 020_SM_sal_add_upd_del_flows.robot
1 *** Settings ***
2 Documentation     Test suite for Stats Manager flows collection
3 Suite Setup       Initialization Phase
4 Suite Teardown    Delete All Sessions
5 Test Template     Check Datastore Presence
6 Library           Collections
7 Library           OperatingSystem
8 Library           RequestsLibrary
9 Library           SSHLibrary
10 Library           XML
11 Library           ${CURDIR}/../../../../libraries/Common.py
12 Library           ${CURDIR}/../../../../libraries/XmlComparator.py
13 Resource          ${CURDIR}/../../../../libraries/CompareStream.robot
14 Resource          ${CURDIR}/../../../../libraries/FlowLib.robot
15 Resource          ${CURDIR}/../../../../variables/Variables.robot
16
17 *** Variables ***
18 ${flow_update_time}    3s
19 ${XmlsDir}        ${CURDIR}/../../../../variables/xmls
20 ${switch_idx}     1
21 ${switch_name}    s${switch_idx}
22 @{flowlist0}      f1.xml    f2.xml    f3.xml    f4.xml    f5.xml    f6.xml    f7.xml
23 ...               f8.xml    f9.xml    f10.xml    f11.xml    f14.xml    f15.xml    f16.xml
24 ...               f17.xml    f18.xml    f19.xml    f20.xml    f21.xml    f22.xml    f23.xml
25 ...               f24.xml    f25.xml    f31.xml    f36.xml    f38.xml    f43.xml    f45.xml
26 ...               f101.xml    f102.xml    f103.xml    f104.xml    f105.xml    f106.xml    f107.xml
27 ...               f108.xml    f109.xml    f110.xml    f113.xml    f201.xml    f202.xml    f203.xml
28 ...               f204.xml    f205.xml    f206.xml    f209.xml    f214.xml    f218.xml    f219.xml
29 ...               f220.xml
30
31 *** Test Cases ***
32 Test Add Flows Group 0
33     [Documentation]    Add all flows and waits for SM to collect data
34     [Template]    NONE
35     : FOR    ${flowfile}    IN    @{flowlist0}
36     \    Log    ${flowfile}
37     \    Create Flow Variables For Suite From XML File    ${XmlsDir}/${flowfile}
38     \    Run Keyword And Continue On Failure    Add Flow Via RPC    ${switch_idx}    ${xmlroot}
39     # Lets wait for ofp to collect stats
40     ${flows}=    Get Length    ${flowlist0}
41     Wait Until Keyword Succeeds    30s    2s    FlowLib.Check Flow Stats Are Available    openflow:1    ${flows}
42     # Show switch content (for debug purposes if needed)
43     Write    dpctl dump-flows -O OpenFlow13
44     Read Until    mininet>
45
46 Test Is Flow 1 Added
47     f1.xml    ${False}    ${True}    ${False}
48
49 Test Is Flow 2 Added
50     f2.xml    ${False}    ${True}    ${False}
51
52 Test Is Flow 3 Added
53     f3.xml    ${False}    ${True}    ${False}
54
55 Test Is Flow 4 Added
56     f4.xml    ${False}    ${True}    ${False}
57
58 Test Is Flow 5 Added
59     f5.xml    ${False}    ${True}    ${False}
60
61 Test Is Flow 6 Added
62     f6.xml    ${False}    ${True}    ${False}
63
64 Test Is Flow 7 Added
65     f7.xml    ${False}    ${True}    ${False}
66
67 Test Is Flow 8 Added
68     f8.xml    ${False}    ${True}    ${False}
69
70 Test Is Flow 9 Added
71     f9.xml    ${False}    ${True}    ${False}
72
73 Test Is Flow 10 Added
74     f10.xml    ${False}    ${True}    ${False}
75
76 Test Is Flow 11 Added
77     f11.xml    ${False}    ${True}    ${False}
78
79 Test Is Flow 15 Added
80     f15.xml    ${False}    ${True}    ${False}
81
82 Test Is Flow 16 Added
83     f16.xml    ${False}    ${True}    ${False}
84
85 Test Is Flow 17 Added
86     f17.xml    ${False}    ${True}    ${False}
87
88 Test Is Flow 18 Added
89     f18.xml    ${False}    ${True}    ${False}
90
91 Test Is Flow 19 Added
92     f19.xml    ${False}    ${True}    ${False}
93
94 Test Is Flow 20 Added
95     f20.xml    ${False}    ${True}    ${False}
96
97 Test Is Flow 21 Added
98     f21.xml    ${False}    ${True}    ${False}
99
100 Test Is Flow 22 Added
101     f22.xml    ${False}    ${True}    ${False}
102
103 Test Is Flow 23 Added
104     f23.xml    ${False}    ${True}    ${False}
105
106 Test Is Flow 24 Added
107     f24.xml    ${False}    ${True}    ${False}
108
109 Test Is Flow 25 Added
110     f25.xml    ${False}    ${True}    ${False}
111
112 Test Is Flow 31 Added
113     f31.xml    ${False}    ${True}    ${False}
114
115 Test Is Flow 36 Added
116     f36.xml    ${False}    ${True}    ${False}
117
118 Test Is Flow 38 Added
119     f38.xml    ${False}    ${True}    ${False}
120
121 Test Is Flow 43 Added
122     f43.xml    ${False}    ${True}    ${False}
123
124 Test Is Flow 45 Added
125     f45.xml    ${False}    ${True}    ${False}
126
127 Test Is Flow 101 Added
128     f101.xml    ${False}    ${True}    ${False}
129
130 Test Is Flow 102 Added
131     f102.xml    ${False}    ${True}    ${False}
132
133 Test Is Flow 103 Added
134     f103.xml    ${False}    ${True}    ${False}
135
136 Test Is Flow 104 Added
137     f104.xml    ${False}    ${True}    ${False}
138
139 Test Is Flow 105 Added
140     f105.xml    ${False}    ${True}    ${False}
141
142 Test Is Flow 106 Added
143     f106.xml    ${False}    ${True}    ${False}
144
145 Test Is Flow 107 Added
146     f107.xml    ${False}    ${True}    ${False}
147
148 Test Is Flow 108 Added
149     f108.xml    ${False}    ${True}    ${False}
150
151 Test Is Flow 109 Added
152     f109.xml    ${False}    ${True}    ${False}
153
154 Test Is Flow 110 Added
155     f110.xml    ${False}    ${True}    ${False}
156
157 Test Is Flow 113 Added
158     f113.xml    ${False}    ${True}    ${False}
159
160 Test Is Flow 201 Added
161     f201.xml    ${False}    ${True}    ${False}
162
163 Test Is Flow 202 Added
164     f202.xml    ${False}    ${True}    ${False}
165
166 Test Is Flow 203 Added
167     f203.xml    ${False}    ${True}    ${False}
168
169 Test Is Flow 204 Added
170     f204.xml    ${False}    ${True}    ${False}
171
172 Test Is Flow 205 Added
173     f205.xml    ${False}    ${True}    ${False}
174
175 Test Is Flow 206 Added
176     f206.xml    ${False}    ${True}    ${False}
177
178 Test Is Flow 209 Added
179     f209.xml    ${False}    ${True}    ${False}
180
181 Test Is Flow 214 Added
182     f214.xml    ${False}    ${True}    ${False}
183
184 Test Is Flow 218 Added
185     f218.xml    ${False}    ${True}    ${False}
186
187 Test Is Flow 219 Added
188     f219.xml    ${False}    ${True}    ${False}
189
190 Test Is Flow 220 Added
191     f220.xml    ${False}    ${True}    ${False}
192
193 Test Update Flows Group 0
194     [Documentation]    Update all flows and waits for SM to collect data
195     [Template]    NONE
196     : FOR    ${flowfile}    IN    @{flowlist0}
197     \    Log    ${flowfile}
198     \    Create Flow Variables For Suite From XML File    ${XmlsDir}/${flowfile}
199     \    Run Keyword And Continue On Failure    Update Flow Via RPC    ${switch_idx}    ${data}    ${upddata}
200     # Lets wait for ofp to collect stats
201     Sleep    ${flow_update_time}
202     # Show switch content (for debug purposes if needed)
203     Write    dpctl dump-flows -O OpenFlow13
204     Read Until    mininet>
205
206 Test Is Flow 1 Updated
207     f1.xml    ${False}    ${True}    ${True}
208
209 Test Is Flow 2 Updated
210     f2.xml    ${False}    ${True}    ${True}
211
212 Test Is Flow 3 Updated
213     f3.xml    ${False}    ${True}    ${True}
214
215 Test Is Flow 4 Updated
216     f4.xml    ${False}    ${True}    ${True}
217
218 Test Is Flow 5 Updated
219     f5.xml    ${False}    ${True}    ${True}
220
221 Test Is Flow 6 Updated
222     f6.xml    ${False}    ${True}    ${True}
223
224 Test Is Flow 7 Updated
225     f7.xml    ${False}    ${True}    ${True}
226
227 Test Is Flow 8 Updated
228     f8.xml    ${False}    ${True}    ${True}
229
230 Test Is Flow 9 Updated
231     f9.xml    ${False}    ${True}    ${True}
232
233 Test Is Flow 10 Updated
234     f10.xml    ${False}    ${True}    ${True}
235
236 Test Is Flow 11 Updated
237     f11.xml    ${False}    ${True}    ${True}
238
239 Test Is Flow 14 Updated
240     f14.xml    ${False}    ${True}    ${True}
241
242 Test Is Flow 15 Updated
243     f15.xml    ${False}    ${True}    ${True}
244
245 Test Is Flow 16 Updated
246     f16.xml    ${False}    ${True}    ${True}
247
248 Test Is Flow 17 Updated
249     f17.xml    ${False}    ${True}    ${True}
250
251 Test Is Flow 18 Updated
252     f18.xml    ${False}    ${True}    ${True}
253
254 Test Is Flow 19 Updated
255     f19.xml    ${False}    ${True}    ${True}
256
257 Test Is Flow 20 Updated
258     f20.xml    ${False}    ${True}    ${True}
259
260 Test Is Flow 21 Updated
261     f21.xml    ${False}    ${True}    ${True}
262
263 Test Is Flow 22 Updated
264     f22.xml    ${False}    ${True}    ${True}
265
266 Test Is Flow 23 Updated
267     f23.xml    ${False}    ${True}    ${True}
268
269 Test Is Flow 24 Updated
270     f24.xml    ${False}    ${True}    ${True}
271
272 Test Is Flow 25 Updated
273     f25.xml    ${False}    ${True}    ${True}
274
275 Test Is Flow 31 Updated
276     f31.xml    ${False}    ${True}    ${True}
277
278 Test Is Flow 36 Updated
279     f36.xml    ${False}    ${True}    ${True}
280
281 Test Is Flow 38 Updated
282     f38.xml    ${False}    ${True}    ${True}
283
284 Test Is Flow 43 Updated
285     f43.xml    ${False}    ${True}    ${True}
286
287 Test Is Flow 45 Updated
288     f45.xml    ${False}    ${True}    ${True}
289
290 Test Is Flow 101 Updated
291     f101.xml    ${False}    ${True}    ${True}
292
293 Test Is Flow 102 Updated
294     f102.xml    ${False}    ${True}    ${True}
295
296 Test Is Flow 103 Updated
297     f103.xml    ${False}    ${True}    ${True}
298
299 Test Is Flow 104 Updated
300     f104.xml    ${False}    ${True}    ${True}
301
302 Test Is Flow 105 Updated
303     f105.xml    ${False}    ${True}    ${True}
304
305 Test Is Flow 106 Updated
306     f106.xml    ${False}    ${True}    ${True}
307
308 Test Is Flow 107 Updated
309     f107.xml    ${False}    ${True}    ${True}
310
311 Test Is Flow 108 Updated
312     f108.xml    ${False}    ${True}    ${True}
313
314 Test Is Flow 109 Updated
315     f109.xml    ${False}    ${True}    ${True}
316
317 Test Is Flow 110 Updated
318     f110.xml    ${False}    ${True}    ${True}
319
320 Test Is Flow 113 Updated
321     f113.xml    ${False}    ${True}    ${True}
322
323 Test Is Flow 201 Updated
324     f201.xml    ${False}    ${True}    ${True}
325
326 Test Is Flow 202 Updated
327     f202.xml    ${False}    ${True}    ${True}
328
329 Test Is Flow 203 Updated
330     f203.xml    ${False}    ${True}    ${True}
331
332 Test Is Flow 204 Updated
333     f204.xml    ${False}    ${True}    ${True}
334
335 Test Is Flow 205 Updated
336     f205.xml    ${False}    ${True}    ${True}
337
338 Test Is Flow 206 Updated
339     f206.xml    ${False}    ${True}    ${True}
340
341 Test Is Flow 209 Updated
342     f209.xml    ${False}    ${True}    ${True}
343
344 Test Is Flow 214 Updated
345     f214.xml    ${False}    ${True}    ${True}
346
347 Test Is Flow 218 Updated
348     f218.xml    ${False}    ${True}    ${True}
349
350 Test Is Flow 219 Updated
351     f219.xml    ${False}    ${True}    ${True}
352
353 Test Is Flow 220 Updated
354     f220.xml    ${False}    ${True}    ${True}
355
356 Test Delete Flows Group 0
357     [Documentation]    Delete all flows and waits for SM to collect data
358     [Template]    NONE
359     : FOR    ${flowfile}    IN    @{flowlist0}
360     \    Log    ${flowfile}
361     \    Create Flow Variables For Suite From XML File    ${XmlsDir}/${flowfile}
362     \    Run Keyword And Continue On Failure    Delete Flow Via RPC    ${switch_idx}    ${xmlroot}
363     # Lets wait for ofp to collect stats
364     Sleep    ${flow_update_time}
365     # Show switch content (for debug purposes if needed)
366     Write    dpctl dump-flows -O OpenFlow13
367     Read Until    mininet>
368
369 Test Is Flow 1 Deleted
370     f1.xml    ${False}    ${False}    ${True}
371
372 Test Is Flow 2 Deleted
373     f2.xml    ${False}    ${False}    ${True}
374
375 Test Is Flow 3 Deleted
376     f3.xml    ${False}    ${False}    ${True}
377
378 Test Is Flow 4 Deleted
379     f4.xml    ${False}    ${False}    ${True}
380
381 Test Is Flow 5 Deleted
382     f5.xml    ${False}    ${False}    ${True}
383
384 Test Is Flow 6 Deleted
385     f6.xml    ${False}    ${False}    ${True}
386
387 Test Is Flow 7 Deleted
388     f7.xml    ${False}    ${False}    ${True}
389
390 Test Is Flow 8 Deleted
391     f8.xml    ${False}    ${False}    ${True}
392
393 Test Is Flow 9 Deleted
394     f9.xml    ${False}    ${False}    ${True}
395
396 Test Is Flow 10 Deleted
397     f10.xml    ${False}    ${False}    ${True}
398
399 Test Is Flow 11 Deleted
400     f11.xml    ${False}    ${False}    ${True}
401
402 Test Is Flow 14 Deleted
403     f14.xml    ${False}    ${False}    ${True}
404
405 Test Is Flow 15 Deleted
406     f15.xml    ${False}    ${False}    ${True}
407
408 Test Is Flow 16 Deleted
409     f16.xml    ${False}    ${False}    ${True}
410
411 Test Is Flow 17 Deleted
412     f17.xml    ${False}    ${False}    ${True}
413
414 Test Is Flow 18 Deleted
415     f18.xml    ${False}    ${False}    ${True}
416
417 Test Is Flow 19 Deleted
418     f19.xml    ${False}    ${False}    ${True}
419
420 Test Is Flow 20 Deleted
421     f20.xml    ${False}    ${False}    ${True}
422
423 Test Is Flow 21 Deleted
424     f21.xml    ${False}    ${False}    ${True}
425
426 Test Is Flow 22 Deleted
427     f22.xml    ${False}    ${False}    ${True}
428
429 Test Is Flow 23 Deleted
430     f23.xml    ${False}    ${False}    ${True}
431
432 Test Is Flow 24 Deleted
433     f24.xml    ${False}    ${False}    ${True}
434
435 Test Is Flow 25 Deleted
436     f25.xml    ${False}    ${False}    ${True}
437
438 Test Is Flow 31 Deleted
439     f31.xml    ${False}    ${False}    ${True}
440
441 Test Is Flow 36 Deleted
442     f36.xml    ${False}    ${False}    ${True}
443
444 Test Is Flow 38 Deleted
445     f38.xml    ${False}    ${False}    ${True}
446
447 Test Is Flow 43 Deleted
448     f43.xml    ${False}    ${False}    ${True}
449
450 Test Is Flow 45 Deleted
451     f45.xml    ${False}    ${False}    ${True}
452
453 Test Is Flow 101 Deleted
454     f101.xml    ${False}    ${False}    ${True}
455
456 Test Is Flow 102 Deleted
457     f102.xml    ${False}    ${False}    ${True}
458
459 Test Is Flow 103 Deleted
460     f103.xml    ${False}    ${False}    ${True}
461
462 Test Is Flow 104 Deleted
463     f104.xml    ${False}    ${False}    ${True}
464
465 Test Is Flow 105 Deleted
466     f105.xml    ${False}    ${False}    ${True}
467
468 Test Is Flow 106 Deleted
469     f106.xml    ${False}    ${False}    ${True}
470
471 Test Is Flow 107 Deleted
472     f107.xml    ${False}    ${False}    ${True}
473
474 Test Is Flow 108 Deleted
475     f108.xml    ${False}    ${False}    ${True}
476
477 Test Is Flow 109 Deleted
478     f109.xml    ${False}    ${False}    ${True}
479
480 Test Is Flow 110 Deleted
481     f110.xml    ${False}    ${False}    ${True}
482
483 Test Is Flow 113 Deleted
484     f113.xml    ${False}    ${False}    ${True}
485
486 Test Is Flow 201 Deleted
487     f201.xml    ${False}    ${False}    ${True}
488
489 Test Is Flow 202 Deleted
490     f202.xml    ${False}    ${False}    ${True}
491
492 Test Is Flow 203 Deleted
493     f203.xml    ${False}    ${False}    ${True}
494
495 Test Is Flow 204 Deleted
496     f204.xml    ${False}    ${False}    ${True}
497
498 Test Is Flow 205 Deleted
499     f205.xml    ${False}    ${False}    ${True}
500
501 Test Is Flow 206 Deleted
502     f206.xml    ${False}    ${False}    ${True}
503
504 Test Is Flow 209 Deleted
505     f209.xml    ${False}    ${False}    ${True}
506
507 Test Is Flow 214 Deleted
508     f214.xml    ${False}    ${False}    ${True}
509
510 Test Is Flow 218 Deleted
511     f218.xml    ${False}    ${False}    ${True}
512
513 Test Is Flow 219 Deleted
514     f219.xml    ${False}    ${False}    ${True}
515
516 Test Is Flow 220 Deleted
517     f220.xml    ${False}    ${False}    ${True}
518
519 *** Keywords ***
520 Initialization Phase
521     [Documentation]    Initiate tcp connection with controller
522     Create Session    session    http://${ODL_SYSTEM_IP}:${RESTCONFPORT}    auth=${AUTH}    headers=${HEADERS_XML}
523     BuiltIn.Wait Until Keyword Succeeds    5x    1s    FlowLib.Check Switches In Inventory    ${1}
524     Write    dpctl dump-flows -O OpenFlow13
525     Read Until    mininet>