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