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