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