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