aa4e53ec0bce97408b00f7b5c655c0a799d022aa
[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
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     CompareStream.Run_Keyword_If_At_Most_Boron    Remove Values From List    ${flowlist0}    f19.xml    f102.xml
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     [Tags]    skip_if_boron
97     f19.xml    ${True}    ${True}    ${False}    ${check_id}
98
99 Test Is Flow 20 Added
100     f20.xml    ${True}    ${True}    ${False}    ${check_id}
101
102 Test Is Flow 21 Added
103     f21.xml    ${True}    ${True}    ${False}    ${check_id}
104
105 Test Is Flow 22 Added
106     f22.xml    ${True}    ${True}    ${False}    ${check_id}
107
108 Test Is Flow 23 Added
109     f23.xml    ${True}    ${True}    ${False}    ${check_id}
110
111 Test Is Flow 24 Added
112     f24.xml    ${True}    ${True}    ${False}    ${check_id}
113
114 Test Is Flow 25 Added
115     f25.xml    ${True}    ${True}    ${False}    ${check_id}
116
117 Test Is Flow 31 Added
118     f31.xml    ${True}    ${True}    ${False}    ${check_id}
119
120 Test Is Flow 36 Added
121     f36.xml    ${True}    ${True}    ${False}    ${check_id}
122
123 Test Is Flow 38 Added
124     f38.xml    ${True}    ${True}    ${False}    ${check_id}
125
126 Test Is Flow 43 Added
127     f43.xml    ${True}    ${True}    ${False}    ${check_id}
128
129 Test Is Flow 45 Added
130     f45.xml    ${True}    ${True}    ${False}    ${check_id}
131
132 Test Is Flow 101 Added
133     f101.xml    ${True}    ${True}    ${False}    ${check_id}
134
135 Test Is Flow 102 Added
136     [Tags]    skip_if_boron
137     f102.xml    ${True}    ${True}    ${False}    ${check_id}
138
139 Test Is Flow 103 Added
140     f103.xml    ${True}    ${True}    ${False}    ${check_id}
141
142 Test Is Flow 104 Added
143     f104.xml    ${True}    ${True}    ${False}    ${check_id}
144
145 Test Is Flow 105 Added
146     f105.xml    ${True}    ${True}    ${False}    ${check_id}
147
148 Test Is Flow 106 Added
149     f106.xml    ${True}    ${True}    ${False}    ${check_id}
150
151 Test Is Flow 107 Added
152     f107.xml    ${True}    ${True}    ${False}    ${check_id}
153
154 Test Is Flow 108 Added
155     f108.xml    ${True}    ${True}    ${False}    ${check_id}
156
157 Test Is Flow 109 Added
158     f109.xml    ${True}    ${True}    ${False}    ${check_id}
159
160 Test Is Flow 110 Added
161     f110.xml    ${True}    ${True}    ${False}    ${check_id}
162
163 Test Is Flow 113 Added
164     f113.xml    ${True}    ${True}    ${False}    ${check_id}
165
166 Test Is Flow 156 Added
167     f156.xml    ${True}    ${True}    ${False}    ${check_id}
168
169 Test Is Flow 201 Added
170     f201.xml    ${True}    ${True}    ${False}    ${check_id}
171
172 Test Is Flow 202 Added
173     f202.xml    ${True}    ${True}    ${False}    ${check_id}
174
175 Test Is Flow 203 Added
176     f203.xml    ${True}    ${True}    ${False}    ${check_id}
177
178 Test Is Flow 204 Added
179     f204.xml    ${True}    ${True}    ${False}    ${check_id}
180
181 Test Is Flow 205 Added
182     f205.xml    ${True}    ${True}    ${False}    ${check_id}
183
184 Test Is Flow 206 Added
185     f206.xml    ${True}    ${True}    ${False}    ${check_id}
186
187 Test Is Flow 209 Added
188     f209.xml    ${True}    ${True}    ${False}    ${check_id}
189
190 Test Is Flow 214 Added
191     f214.xml    ${True}    ${True}    ${False}    ${check_id}
192
193 Test Is Flow 218 Added
194     f218.xml    ${True}    ${True}    ${False}    ${check_id}
195
196 Test Is Flow 219 Added
197     f219.xml    ${True}    ${True}    ${False}    ${check_id}
198
199 Test Is Flow 220 Added
200     f220.xml    ${True}    ${True}    ${False}    ${check_id}
201
202 Test Is Flow 221 Added
203     f221.xml    ${True}    ${True}    ${False}    ${check_id}
204
205 Test Is Flow 222 Added
206     f222.xml    ${True}    ${True}    ${False}    ${check_id}
207
208 Test Is Flow 223 Added
209     f223.xml    ${True}    ${True}    ${False}    ${check_id}
210
211 Test Is Flow 224 Added
212     f224.xml    ${True}    ${True}    ${False}    ${check_id}
213
214 Test Is Flow 225 Added
215     f225.xml    ${True}    ${True}    ${False}    ${check_id}
216
217 Test Update Flows Group 0
218     [Documentation]    Update all flows and waits for SM to collect data
219     [Template]    NONE
220     : FOR    ${flowfile}    IN    @{flowlist0}
221     \    Log    ${flowfile}
222     \    Create Flow Variables For Suite From XML File    ${XmlsDir}/${flowfile}
223     \    Run Keyword And Continue On Failure    Update Flow Via Restconf    ${switch_idx}    ${table_id}    ${flow_id}    ${upddata}
224     # Lets wait for ofp to collect stats
225     Sleep    ${flow_update_time}
226     # Show switch content (for debug purposes if needed)
227     Write    dpctl dump-flows -O OpenFlow13
228     Read Until    mininet>
229
230 Test Is Flow 1 Updated
231     f1.xml    ${True}    ${True}    ${True}    ${check_id}
232
233 Test Is Flow 2 Updated
234     f2.xml    ${True}    ${True}    ${True}    ${check_id}
235
236 Test Is Flow 3 Updated
237     f3.xml    ${True}    ${True}    ${True}    ${check_id}
238
239 Test Is Flow 4 Updated
240     f4.xml    ${True}    ${True}    ${True}    ${check_id}
241
242 Test Is Flow 5 Updated
243     f5.xml    ${True}    ${True}    ${True}    ${check_id}
244
245 Test Is Flow 6 Updated
246     f6.xml    ${True}    ${True}    ${True}    ${check_id}
247
248 Test Is Flow 7 Updated
249     f7.xml    ${True}    ${True}    ${True}    ${check_id}
250
251 Test Is Flow 8 Updated
252     f8.xml    ${True}    ${True}    ${True}    ${check_id}
253
254 Test Is Flow 9 Updated
255     f9.xml    ${True}    ${True}    ${True}    ${check_id}
256
257 Test Is Flow 10 Updated
258     f10.xml    ${True}    ${True}    ${True}    ${check_id}
259
260 Test Is Flow 11 Updated
261     f11.xml    ${True}    ${True}    ${True}    ${check_id}
262
263 Test Is Flow 14 Updated
264     f14.xml    ${True}    ${True}    ${True}    ${check_id}
265
266 Test Is Flow 15 Updated
267     f15.xml    ${True}    ${True}    ${True}    ${check_id}
268
269 Test Is Flow 16 Updated
270     f16.xml    ${True}    ${True}    ${True}    ${check_id}
271
272 Test Is Flow 17 Updated
273     f17.xml    ${True}    ${True}    ${True}    ${check_id}
274
275 Test Is Flow 18 Updated
276     f18.xml    ${True}    ${True}    ${True}    ${check_id}
277
278 Test Is Flow 19 Updated
279     [Tags]    skip_if_boron
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     [Tags]    skip_if_boron
320     f102.xml    ${True}    ${True}    ${True}    ${check_id}
321
322 Test Is Flow 103 Updated
323     f103.xml    ${True}    ${True}    ${True}    ${check_id}
324
325 Test Is Flow 104 Updated
326     f104.xml    ${True}    ${True}    ${True}    ${check_id}
327
328 Test Is Flow 105 Updated
329     f105.xml    ${True}    ${True}    ${True}    ${check_id}
330
331 Test Is Flow 106 Updated
332     f106.xml    ${True}    ${True}    ${True}    ${check_id}
333
334 Test Is Flow 107 Updated
335     f107.xml    ${True}    ${True}    ${True}    ${check_id}
336
337 Test Is Flow 108 Updated
338     f108.xml    ${True}    ${True}    ${True}    ${check_id}
339
340 Test Is Flow 109 Updated
341     f109.xml    ${True}    ${True}    ${True}    ${check_id}
342
343 Test Is Flow 110 Updated
344     f110.xml    ${True}    ${True}    ${True}    ${check_id}
345
346 Test Is Flow 113 Updated
347     f113.xml    ${True}    ${True}    ${True}    ${check_id}
348
349 Test Is Flow 156 Updated
350     f156.xml    ${True}    ${True}    ${True}    ${check_id}
351
352 Test Is Flow 201 Updated
353     f201.xml    ${True}    ${True}    ${True}    ${check_id}
354
355 Test Is Flow 202 Updated
356     f202.xml    ${True}    ${True}    ${True}    ${check_id}
357
358 Test Is Flow 203 Updated
359     f203.xml    ${True}    ${True}    ${True}    ${check_id}
360
361 Test Is Flow 204 Updated
362     f204.xml    ${True}    ${True}    ${True}    ${check_id}
363
364 Test Is Flow 205 Updated
365     f205.xml    ${True}    ${True}    ${True}    ${check_id}
366
367 Test Is Flow 206 Updated
368     f206.xml    ${True}    ${True}    ${True}    ${check_id}
369
370 Test Is Flow 209 Updated
371     f209.xml    ${True}    ${True}    ${True}    ${check_id}
372
373 Test Is Flow 214 Updated
374     f214.xml    ${True}    ${True}    ${True}    ${check_id}
375
376 Test Is Flow 218 Updated
377     f218.xml    ${True}    ${True}    ${True}    ${check_id}
378
379 Test Is Flow 219 Updated
380     f219.xml    ${True}    ${True}    ${True}    ${check_id}
381
382 Test Is Flow 220 Updated
383     f220.xml    ${True}    ${True}    ${True}    ${check_id}
384
385 Test Is Flow 221 Updated
386     f221.xml    ${True}    ${True}    ${True}    ${check_id}
387
388 Test Is Flow 222 Updated
389     f222.xml    ${True}    ${True}    ${True}    ${check_id}
390
391 Test Is Flow 223 Updated
392     f223.xml    ${True}    ${True}    ${True}    ${check_id}
393
394 Test Is Flow 224 Updated
395     f224.xml    ${True}    ${True}    ${True}    ${check_id}
396
397 Test Is Flow 225 Updated
398     f225.xml    ${True}    ${True}    ${True}    ${check_id}
399
400 Test Delete Flows Group 0
401     [Documentation]    Delete all flows and waits for SM to collect data
402     [Template]    NONE
403     : FOR    ${flowfile}    IN    @{flowlist0}
404     \    Log    ${flowfile}
405     \    Create Flow Variables For Suite From XML File    ${XmlsDir}/${flowfile}
406     \    Run Keyword And Continue On Failure    Delete Flow Via Restconf    ${switch_idx}    ${table_id}    ${flow_id}
407     # Lets wait for ofp to collect stats
408     Sleep    ${flow_update_time}
409     # Show switch content (for debug purposes if needed)
410     Write    dpctl dump-flows -O OpenFlow13
411     Read Until    mininet>
412
413 Test Is Flow 1 Deleted
414     f1.xml    ${False}    ${False}    ${True}
415
416 Test Is Flow 2 Deleted
417     f2.xml    ${False}    ${False}    ${True}
418
419 Test Is Flow 3 Deleted
420     f3.xml    ${False}    ${False}    ${True}
421
422 Test Is Flow 4 Deleted
423     f4.xml    ${False}    ${False}    ${True}
424
425 Test Is Flow 5 Deleted
426     f5.xml    ${False}    ${False}    ${True}
427
428 Test Is Flow 6 Deleted
429     f6.xml    ${False}    ${False}    ${True}
430
431 Test Is Flow 7 Deleted
432     f7.xml    ${False}    ${False}    ${True}
433
434 Test Is Flow 8 Deleted
435     f8.xml    ${False}    ${False}    ${True}
436
437 Test Is Flow 9 Deleted
438     f9.xml    ${False}    ${False}    ${True}
439
440 Test Is Flow 10 Deleted
441     f10.xml    ${False}    ${False}    ${True}
442
443 Test Is Flow 11 Deleted
444     f11.xml    ${False}    ${False}    ${True}
445
446 Test Is Flow 14 Deleted
447     f14.xml    ${False}    ${False}    ${True}
448
449 Test Is Flow 15 Deleted
450     f15.xml    ${False}    ${False}    ${True}
451
452 Test Is Flow 16 Deleted
453     f16.xml    ${False}    ${False}    ${True}
454
455 Test Is Flow 17 Deleted
456     f17.xml    ${False}    ${False}    ${True}
457
458 Test Is Flow 18 Deleted
459     f18.xml    ${False}    ${False}    ${True}
460
461 Test Is Flow 19 Deleted
462     [Tags]    skip_if_boron
463     f19.xml    ${False}    ${False}    ${True}
464
465 Test Is Flow 20 Deleted
466     f20.xml    ${False}    ${False}    ${True}
467
468 Test Is Flow 21 Deleted
469     f21.xml    ${False}    ${False}    ${True}
470
471 Test Is Flow 22 Deleted
472     f22.xml    ${False}    ${False}    ${True}
473
474 Test Is Flow 23 Deleted
475     f23.xml    ${False}    ${False}    ${True}
476
477 Test Is Flow 24 Deleted
478     f24.xml    ${False}    ${False}    ${True}
479
480 Test Is Flow 25 Deleted
481     f25.xml    ${False}    ${False}    ${True}
482
483 Test Is Flow 31 Deleted
484     f31.xml    ${False}    ${False}    ${True}
485
486 Test Is Flow 36 Deleted
487     f36.xml    ${False}    ${False}    ${True}
488
489 Test Is Flow 38 Deleted
490     f38.xml    ${False}    ${False}    ${True}
491
492 Test Is Flow 43 Deleted
493     f43.xml    ${False}    ${False}    ${True}
494
495 Test Is Flow 45 Deleted
496     f45.xml    ${False}    ${False}    ${True}
497
498 Test Is Flow 101 Deleted
499     f101.xml    ${False}    ${False}    ${True}
500
501 Test Is Flow 102 Deleted
502     [Tags]    skip_if_boron
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 *** Keywords ***
584 Initialization Phase
585     [Documentation]    Initiate tcp connection with controller
586     ${check_id} =    CompareStream.Set_Variable_If_At_Least_Boron    ${True}    ${False}
587     Set Suite Variable    ${check_id}
588     Create Session    session    http://${ODL_SYSTEM_IP}:${RESTCONFPORT}    auth=${AUTH}    headers=${HEADERS_XML}
589     Write    dpctl dump-flows -O OpenFlow13
590     Read Until    mininet>