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