Tidied new and updated test suites
[integration/test.git] / csit / suites / groupbasedpolicy / GBP / 3-node / gbp2-multitenant / 020_http.robot
1 *** Settings ***
2 Documentation     Tests for HTTP flow
3 Force Tags        multi-tenant    http    multi-tenant-main
4 Library           SSHLibrary
5 Resource          ../../../../../libraries/Utils.robot
6 Resource          ../../../../../libraries/GBP/ConnUtils.robot
7 Resource          ../../../../../libraries/GBP/DockerUtils.robot
8 Resource          ../../../../../libraries/GBP/OpenFlowUtils.robot
9 Variables         ../../../../../variables/Variables.py
10 Resource          ../Variables.robot
11
12 *** Variables ***
13 ${timeout}        10s
14
15 *** Testcases ***
16 Setting Variables for Tenant 1
17     [Documentation]    Setting variables for test cases related to tenant 1.
18     # Same subnet tests are not supported by current topology configuration;
19     # clients and webservers are put in two different subnets
20     Set Test Variables    client_switch_ip=${GBP1}    client_docker=h35_2    client_ip=10.0.35.2    client_mac=00:00:00:00:35:02    same_webserver_docker=h36_3    same_webserver_ip=10.0.36.3
21     ...    same_webserver_mac=00:00:00:00:36:03    diff_webserver_switch_ip=${GBP3}    diff_webserver_docker=h36_2    diff_webserver_ip=10.0.36.2    diff_webserver_mac=00:00:00:00:36:02
22
23 Tenant 1 Same switch, start SimpleHttpServer on h36_3
24     [Documentation]    Same Switch (sw1)
25     [Tags]    tenant1
26     ConnUtils.Connect and Login    ${CLIENT_SWITCH_IP}    timeout=${timeout}
27     DockerUtils.Start HTTP Service on Docker    ${SAME_WEBSERVER_DOCKER}    80
28     SSHLibrary.Close Connection
29
30 Tenant 1 Same switch, curl once from h35_2 to h36_3
31     [Documentation]    Test HTTP req/rest session between docker located on the same switch.
32     [Tags]    tenant1
33     ConnUtils.Connect and Login    ${CLIENT_SWITCH_IP}    timeout=${timeout}
34     DockerUtils.Curl from Docker    ${CLIENT_DOCKER}    ${SAME_WEBSERVER_IP}    80
35     SSHLibrary.Close Connection
36
37 Tenant 1 Same switch, start endless curl from h35_2 to h36_3
38     [Documentation]    Init of endless HTTP session between endpoints so that
39     ...    HTTP traffic can be inspected.
40     [Tags]    tenant1
41     ConnUtils.Connect and Login    ${CLIENT_SWITCH_IP}    timeout=${timeout}
42     DockerUtils.Start Endless Curl from Docker    ${CLIENT_DOCKER}    ${SAME_WEBSERVER_IP}    80
43     SSHLibrary.Close Connection
44
45 Tenant 1 Same switch, HTTP request ovs-dpctl output check on sw1
46     [Documentation]    Assert matches and actions on megaflow of HTTP request from h35_2 to h36_3
47     [Tags]    tenant1
48     ConnUtils.Connect and Login    ${CLIENT_SWITCH_IP}    timeout=${timeout}
49     @{matches}    Create List
50     @{actions}    Create List
51     Append In Port Check    ${matches}    4
52     Append Inner MAC Check    ${matches}    src_addr=${CLIENT_MAC}
53     Append Ether-Type Check    ${matches}    0x0800
54     Append Inner IPs Check    ${matches}    ${CLIENT_IP}    ${SAME_WEBSERVER_IP}
55     Append Proto Check    ${matches}    6
56     Append Inner MAC Check    ${actions}    dst_addr=${SAME_WEBSERVER_MAC}
57     Append Inner IPs Check    ${actions}    ${CLIENT_IP}    ${SAME_WEBSERVER_IP}
58     Append Proto Check    ${actions}    6
59     Append Out Port Check    ${actions}    7
60     ${output}    Find Flow in DPCTL Output    ${matches}    ${actions}
61     SSHLibrary.Close Connection
62
63 Tenant 1 Same switch, HTTP reply ovs-dpctl output check on sw1
64     [Documentation]    Assert matches and actions on megaflow of HTTP request from h36_3 to h35_2
65     [Tags]    tenant1
66     ConnUtils.Connect and Login    ${CLIENT_SWITCH_IP}    timeout=${timeout}
67     @{matches}    Create List
68     @{actions}    Create List
69     Append In Port Check    ${matches}    7
70     Append Inner MAC Check    ${matches}    src_addr=${SAME_WEBSERVER_MAC}
71     Append Ether-Type Check    ${matches}    0x0800
72     Append Inner IPs Check    ${matches}    ${SAME_WEBSERVER_IP}    ${CLIENT_IP}
73     Append Proto Check    ${matches}    6
74     Append Inner MAC Check    ${actions}    dst_addr=${CLIENT_MAC}
75     Append Inner IPs Check    ${actions}    ${SAME_WEBSERVER_IP}    ${CLIENT_IP}
76     Append Proto Check    ${actions}    6
77     Append Out Port Check    ${actions}    4
78     ${output}    Find Flow in DPCTL Output    ${matches}    ${actions}
79     SSHLibrary.Close Connection
80
81 Tenant 1 Same switch, stop endless curl from h35_2 to h36_3
82     [Documentation]    Stopping endless HTTP session after traffic inspection is done.
83     [Tags]    tenant1
84     ConnUtils.Connect and Login    ${CLIENT_SWITCH_IP}    timeout=${timeout}
85     DockerUtils.Stop Endless Curl from Docker    ${CLIENT_DOCKER}
86     SSHLibrary.Close Connection
87
88 Tenant 1 Same switch, stop SimpleHttpServer on h36_3
89     [Documentation]    Stoping HTTP service on docker container.
90     [Tags]    tenant1
91     ConnUtils.Connect and Login    ${CLIENT_SWITCH_IP}    timeout=${timeout}
92     DockerUtils.Stop HTTP Service on Docker    ${SAME_WEBSERVER_DOCKER}
93     SSHLibrary.Close Connection
94
95 Tenant 1 Different switches, start SimpleHttpServer on h36_2
96     [Documentation]    Different switches (sw1 -> sw3)
97     [Tags]    tenant1
98     ConnUtils.Connect and Login    ${DIFF_WEBSERVER_SWITCH_IP}    timeout=${timeout}
99     DockerUtils.Start HTTP Service on Docker    ${DIFF_WEBSERVER_DOCKER}    80
100     SSHLibrary.Close Connection
101
102 Tenant 1 Different switches, curl once from h35_2 to h36_2
103     [Documentation]    Test HTTP req/resp between endpoints located on different switches.
104     [Tags]    tenant1
105     ConnUtils.Connect and Login    ${CLIENT_SWITCH_IP}    timeout=${timeout}
106     DockerUtils.Curl from Docker    ${CLIENT_DOCKER}    ${DIFF_WEBSERVER_IP}    80
107     SSHLibrary.Close Connection
108
109 Tenant 1 Different switches, start endless curl from h35_2 to h36_2
110     [Tags]    tenant1
111     ConnUtils.Connect and Login    ${CLIENT_SWITCH_IP}    timeout=${timeout}
112     DockerUtils.Start Endless Curl from Docker    ${CLIENT_DOCKER}    ${DIFF_WEBSERVER_IP}    80
113     SSHLibrary.Close Connection
114
115 Tenant 1 Different switches, HTTP request ovs-dpctl output check on sw1
116     [Documentation]    Assert matches and actions on megaflow of HTTP request from h35_2 to h36_2
117     [Tags]    tenant1
118     ConnUtils.Connect and Login    ${CLIENT_SWITCH_IP}    timeout=${timeout}
119     @{matches}    Create List
120     @{actions}    Create List
121     Append In Port Check    ${matches}    4
122     Append Inner MAC Check    ${matches}    src_addr=${CLIENT_MAC}
123     Append Ether-Type Check    ${matches}    0x0800
124     Append Inner IPs Check    ${matches}    ${CLIENT_IP}    ${DIFF_WEBSERVER_IP}
125     Append Proto Check    ${matches}    6
126     Append Tunnel Set Check    ${actions}
127     Append Inner MAC Check    ${actions}    dst_addr=${DIFF_WEBSERVER_MAC}
128     Append Inner IPs Check    ${actions}    ${CLIENT_IP}    ${DIFF_WEBSERVER_IP}
129     Append Proto Check    ${actions}    6
130     Append Out Port Check    ${actions}    3
131     ${output}    Find Flow in DPCTL Output    ${matches}    ${actions}
132     SSHLibrary.Close Connection
133
134 Tenant 1 Different switches, HTTP request ovs-dpctl output check on sw3
135     [Documentation]    Assert matches and actions on megaflow of HTTP request from h35_2 to h36_2
136     [Tags]    tenant1
137     ConnUtils.Connect and Login    ${DIFF_WEBSERVER_SWITCH_IP}    timeout=${timeout}
138     @{matches}    Create List
139     @{actions}    Create List
140     Append Tunnel Set Check    ${matches}
141     Append Outer IPs Check    ${matches}    src_ip=${CLIENT_SWITCH_IP}
142     Append Outer IPs Check    ${matches}    dst_ip=${DIFF_WEBSERVER_SWITCH_IP}
143     Append In Port Check    ${matches}    3
144     Append Inner MAC Check    ${matches}    dst_addr=${DIFF_WEBSERVER_MAC}
145     Append Ether-Type Check    ${matches}    0x0800
146     Append Inner IPs Check    ${matches}    ${CLIENT_IP}    ${DIFF_WEBSERVER_IP}
147     Append Proto Check    ${matches}    6
148     Append Inner IPs Check    ${actions}    ${CLIENT_IP}    ${DIFF_WEBSERVER_IP}
149     Append Proto Check    ${actions}    6
150     Append Out Port Check    ${actions}    6
151     ${output}    Find Flow in DPCTL Output    ${matches}    ${actions}
152     SSHLibrary.Close Connection
153
154 Tenant 1 Different switches, HTTP reply ovs-dpctl output check on sw3
155     [Documentation]    Assert matches and actions on megaflow of HTTP request from h36_2 to h35_2
156     [Tags]    tenant1
157     ConnUtils.Connect and Login    ${DIFF_WEBSERVER_SWITCH_IP}    timeout=${timeout}
158     @{matches}    Create List
159     @{actions}    Create List
160     Append In Port Check    ${matches}    6
161     Append Inner MAC Check    ${matches}    src_addr=${DIFF_WEBSERVER_MAC}
162     Append Ether-Type Check    ${matches}    0x0800
163     Append Inner IPs Check    ${matches}    ${DIFF_WEBSERVER_IP}    ${CLIENT_IP}
164     Append Proto Check    ${matches}    6
165     Append Tunnel Set Check    ${actions}
166     Append Inner MAC Check    ${actions}    dst_addr=${CLIENT_MAC}
167     Append Inner IPs Check    ${actions}    ${DIFF_WEBSERVER_IP}    ${CLIENT_IP}
168     Append Proto Check    ${actions}    6
169     Append Out Port Check    ${actions}    3
170     ${output}    Find Flow in DPCTL Output    ${matches}    ${actions}
171     SSHLibrary.Close Connection
172
173 Tenant 1 Different switches, HTTP reply ovs-dpctl output check on sw1
174     [Documentation]    Assert matches and actions on megaflow of HTTP request from h36_2 to h35_2
175     [Tags]    tenant1
176     ConnUtils.Connect and Login    ${CLIENT_SWITCH_IP}    timeout=${timeout}
177     @{matches}    Create List
178     @{actions}    Create List
179     Append Tunnel Set Check    ${matches}
180     Append Outer IPs Check    ${matches}    src_ip=${DIFF_WEBSERVER_SWITCH_IP}
181     Append Outer IPs Check    ${matches}    dst_ip=${CLIENT_SWITCH_IP}
182     Append In Port Check    ${matches}    3
183     Append Inner MAC Check    ${matches}    dst_addr=${CLIENT_MAC}
184     Append Ether-Type Check    ${matches}    0x0800
185     Append Inner IPs Check    ${matches}    ${DIFF_WEBSERVER_IP}    ${CLIENT_IP}
186     Append Proto Check    ${matches}    6
187     Append Inner IPs Check    ${actions}    ${DIFF_WEBSERVER_IP}    ${CLIENT_IP}
188     Append Proto Check    ${actions}    6
189     Append Out Port Check    ${actions}    4
190     ${output}    Find Flow in DPCTL Output    ${matches}    ${actions}
191     SSHLibrary.Close Connection
192
193 Tenant 1 Different switches, stop endless curl from h35_2 to h36_2
194     [Documentation]    Stopping endless HTTP session when traffic inspection finishes.
195     [Tags]    tenant1
196     ConnUtils.Connect and Login    ${CLIENT_SWITCH_IP}    timeout=${timeout}
197     DockerUtils.Stop Endless Curl from Docker    ${CLIENT_DOCKER}
198     SSHLibrary.Close Connection
199
200 Tenant 1 Different switches, stop SimpleHttpServer on h36_2
201     [Documentation]    Terminating HTTP service on docker container.
202     [Tags]    tenant1
203     ConnUtils.Connect and Login    ${DIFF_WEBSERVER_SWITCH_IP}    timeout=${timeout}
204     DockerUtils.Stop HTTP Service on Docker    ${DIFF_WEBSERVER_DOCKER}
205     SSHLibrary.Close Connection
206
207 Setting Variables For Tenant 2
208     [Documentation]    Setting variables for test cases related to tenant 1.
209     Set Test Variables    client_switch_ip=${GBP1}    client_docker=h35_8    client_ip=10.0.35.8    client_mac=00:00:00:00:35:08    same_webserver_docker=h36_6    same_webserver_ip=10.0.36.6
210     ...    same_webserver_mac=00:00:00:00:36:06    diff_webserver_switch_ip=${GBP2}    diff_webserver_docker=h36_7    diff_webserver_ip=10.0.36.7    diff_webserver_mac=00:00:00:00:36:07
211
212 Tenant 2 Same switch, start SimpleHttpServer on h36_6
213     [Documentation]    Same Switch (sw1)
214     [Tags]    tenant2
215     ConnUtils.Connect and Login    ${CLIENT_SWITCH_IP}    timeout=${timeout}
216     DockerUtils.Start HTTP Service on Docker    ${SAME_WEBSERVER_DOCKER}    80
217     SSHLibrary.Close Connection
218
219 Tenant 2 Same switch, curl once from h35_8 to h36_6
220     [Documentation]    Test HTTP req/resp between endpoints on the same switch.
221     [Tags]    tenant1
222     ConnUtils.Connect and Login    ${CLIENT_SWITCH_IP}    timeout=${timeout}
223     DockerUtils.Curl from Docker    ${CLIENT_DOCKER}    ${SAME_WEBSERVER_IP}    80
224     SSHLibrary.Close Connection
225
226 Tenant 2 Same switch, start endless curl from h35_8 to h36_6
227     [Documentation]    Init if endless HTTP Session between endpoints on the same switch.
228     [Tags]    tenant2
229     ConnUtils.Connect and Login    ${CLIENT_SWITCH_IP}    timeout=${timeout}
230     DockerUtils.Start Endless Curl from Docker    ${CLIENT_DOCKER}    ${SAME_WEBSERVER_IP}    80
231     SSHLibrary.Close Connection
232
233 Tenant 2 Same switch, HTTP request ovs-dpctl output check on sw1
234     [Documentation]    Assert matches and actions on megaflow of HTTP request from h35_8 to h36_6
235     [Tags]    tenant2
236     ConnUtils.Connect and Login    ${CLIENT_SWITCH_IP}    timeout=${timeout}
237     @{matches}    Create List
238     @{actions}    Create List
239     Append In Port Check    ${matches}    6
240     Append Inner MAC Check    ${matches}    src_addr=${CLIENT_MAC}
241     Append Ether-Type Check    ${matches}    0x0800
242     Append Inner IPs Check    ${matches}    ${CLIENT_IP}    ${SAME_WEBSERVER_IP}
243     Append Proto Check    ${matches}    6
244     Append Inner MAC Check    ${actions}    dst_addr=${SAME_WEBSERVER_MAC}
245     Append Inner IPs Check    ${actions}    ${CLIENT_IP}    ${SAME_WEBSERVER_IP}
246     Append Proto Check    ${actions}    6
247     Append Out Port Check    ${actions}    8
248     ${output}    Find Flow in DPCTL Output    ${matches}    ${actions}
249     SSHLibrary.Close Connection
250
251 Tenant 2 Same switch, HTTP reply ovs-dpctl output check on sw1
252     [Documentation]    Assert matches and actions on megaflow of HTTP request from h36_6 to h35_8
253     [Tags]    tenant2
254     ConnUtils.Connect and Login    ${CLIENT_SWITCH_IP}    timeout=${timeout}
255     @{matches}    Create List
256     @{actions}    Create List
257     Append In Port Check    ${matches}    8
258     Append Inner MAC Check    ${matches}    src_addr=${SAME_WEBSERVER_MAC}
259     Append Ether-Type Check    ${matches}    0x0800
260     Append Inner IPs Check    ${matches}    ${SAME_WEBSERVER_IP}    ${CLIENT_IP}
261     Append Proto Check    ${matches}    6
262     Append Inner MAC Check    ${actions}    dst_addr=${CLIENT_MAC}
263     Append Inner IPs Check    ${actions}    ${SAME_WEBSERVER_IP}    ${CLIENT_IP}
264     Append Proto Check    ${actions}    6
265     Append Out Port Check    ${actions}    6
266     ${output}    Find Flow in DPCTL Output    ${matches}    ${actions}
267     SSHLibrary.Close Connection
268
269 Tenant 2 Same switch, stop endless curl from h35_8 to h36_6
270     [Documentation]    Terminating endless HTTP session after traffic inspection is done.
271     [Tags]    tenant2
272     ConnUtils.Connect and Login    ${CLIENT_SWITCH_IP}    timeout=${timeout}
273     DockerUtils.Stop Endless Curl from Docker    ${CLIENT_DOCKER}
274     SSHLibrary.Close Connection
275
276 Tenant 2 Same switch, stop SimpleHttpServer on h36_6
277     [Documentation]    Stoping HTTP service on serving docker container.
278     [Tags]    tenant2
279     ConnUtils.Connect and Login    ${CLIENT_SWITCH_IP}    timeout=${timeout}
280     DockerUtils.Stop HTTP Service on Docker    ${SAME_WEBSERVER_DOCKER}
281     SSHLibrary.Close Connection
282
283 Tenant 2 Different switches, start SimpleHttpServer on h36_7
284     [Documentation]    Different switches (sw1 -> sw3)
285     [Tags]    tenant2
286     ConnUtils.Connect and Login    ${DIFF_WEBSERVER_SWITCH_IP}    timeout=${timeout}
287     DockerUtils.Start HTTP Service on Docker    ${DIFF_WEBSERVER_DOCKER}    80
288     SSHLibrary.Close Connection
289
290 Tenant 2 Different switches, curl once from h35_8 to h36_7
291     [Documentation]    Test HTTP req/resp between endpoints located on different switches.
292     [Tags]    tenant2
293     ConnUtils.Connect and Login    ${CLIENT_SWITCH_IP}    timeout=${timeout}
294     DockerUtils.Curl from Docker    ${CLIENT_DOCKER}    ${DIFF_WEBSERVER_IP}    80
295     SSHLibrary.Close Connection
296
297 Tenant 2 Different switches, start endless curl from h35_8 to h36_7
298     [Documentation]    Starting endless HTTP session so that the traffic can be inspected.
299     [Tags]    tenant2
300     ConnUtils.Connect and Login    ${CLIENT_SWITCH_IP}    timeout=${timeout}
301     DockerUtils.Start Endless Curl from Docker    ${CLIENT_DOCKER}    ${DIFF_WEBSERVER_IP}    80
302     SSHLibrary.Close Connection
303
304 Tenant 2 Different switches, HTTP request ovs-dpctl output check on sw1
305     [Documentation]    Assert matches and actions on megaflow of HTTP request from h35_8 to h36_7
306     [Tags]    tenant2
307     ConnUtils.Connect and Login    ${CLIENT_SWITCH_IP}    timeout=${timeout}
308     @{matches}    Create List
309     @{actions}    Create List
310     Append In Port Check    ${matches}    6
311     Append Inner MAC Check    ${matches}    src_addr=${CLIENT_MAC}
312     Append Ether-Type Check    ${matches}    0x0800
313     Append Inner IPs Check    ${matches}    ${CLIENT_IP}    ${DIFF_WEBSERVER_IP}
314     Append Proto Check    ${matches}    6
315     Append Tunnel Set Check    ${actions}
316     Append Inner MAC Check    ${actions}    dst_addr=${DIFF_WEBSERVER_MAC}
317     Append Inner IPs Check    ${actions}    ${CLIENT_IP}    ${DIFF_WEBSERVER_IP}
318     Append Proto Check    ${actions}    6
319     Append Out Port Check    ${actions}    3
320     ${output}    Find Flow in DPCTL Output    ${matches}    ${actions}
321     SSHLibrary.Close Connection
322
323 Tenant 2 Different switches, HTTP request ovs-dpctl output check on sw3
324     [Documentation]    Assert matches and actions on megaflow of HTTP request from h35_8 to h36_7
325     [Tags]    tenant1
326     ConnUtils.Connect and Login    ${DIFF_WEBSERVER_SWITCH_IP}    timeout=${timeout}
327     @{matches}    Create List
328     @{actions}    Create List
329     Append Tunnel Set Check    ${matches}
330     Append Outer IPs Check    ${matches}    src_ip=${CLIENT_SWITCH_IP}
331     Append Outer IPs Check    ${matches}    dst_ip=${DIFF_WEBSERVER_SWITCH_IP}
332     Append In Port Check    ${matches}    3
333     Append Inner MAC Check    ${matches}    dst_addr=${DIFF_WEBSERVER_MAC}
334     Append Ether-Type Check    ${matches}    0x0800
335     Append Inner IPs Check    ${matches}    ${CLIENT_IP}    ${DIFF_WEBSERVER_IP}
336     Append Proto Check    ${matches}    6
337     Append Inner IPs Check    ${actions}    ${CLIENT_IP}    ${DIFF_WEBSERVER_IP}
338     Append Proto Check    ${actions}    6
339     Append Out Port Check    ${actions}    8
340     ${output}    Find Flow in DPCTL Output    ${matches}    ${actions}
341     SSHLibrary.Close Connection
342
343 Tenant 2 Different switches, HTTP reply ovs-dpctl output check on sw3
344     [Documentation]    Assert matches and actions on megaflow of HTTP request from h36_7 to h35_8
345     [Tags]    tenant2
346     ConnUtils.Connect and Login    ${DIFF_WEBSERVER_SWITCH_IP}    timeout=${timeout}
347     @{matches}    Create List
348     @{actions}    Create List
349     Append In Port Check    ${matches}    8
350     Append Inner MAC Check    ${matches}    src_addr=${DIFF_WEBSERVER_MAC}
351     Append Ether-Type Check    ${matches}    0x0800
352     Append Inner IPs Check    ${matches}    ${DIFF_WEBSERVER_IP}    ${CLIENT_IP}
353     Append Proto Check    ${matches}    6
354     Append Tunnel Set Check    ${actions}
355     Append Inner MAC Check    ${actions}    dst_addr=${CLIENT_MAC}
356     Append Inner IPs Check    ${actions}    ${DIFF_WEBSERVER_IP}    ${CLIENT_IP}
357     Append Proto Check    ${actions}    6
358     Append Out Port Check    ${actions}    3
359     ${output}    Find Flow in DPCTL Output    ${matches}    ${actions}
360     SSHLibrary.Close Connection
361
362 Tenant 2 Different switches, HTTP reply ovs-dpctl output check on sw1
363     [Documentation]    Assert matches and actions on megaflow of HTTP reply from h36_7 to h35_8
364     [Tags]    tenant2
365     ConnUtils.Connect and Login    ${CLIENT_SWITCH_IP}    timeout=${timeout}
366     @{matches}    Create List
367     @{actions}    Create List
368     Append Tunnel Set Check    ${matches}
369     Append Outer IPs Check    ${matches}    src_ip=${DIFF_WEBSERVER_SWITCH_IP}
370     Append Outer IPs Check    ${matches}    dst_ip=${CLIENT_SWITCH_IP}
371     Append In Port Check    ${matches}    3
372     Append Inner MAC Check    ${matches}    dst_addr=${CLIENT_MAC}
373     Append Ether-Type Check    ${matches}    0x0800
374     Append Inner IPs Check    ${matches}    ${DIFF_WEBSERVER_IP}    ${CLIENT_IP}
375     Append Proto Check    ${matches}    6
376     Append Inner IPs Check    ${actions}    ${DIFF_WEBSERVER_IP}    ${CLIENT_IP}
377     Append Proto Check    ${actions}    6
378     Append Out Port Check    ${actions}    6
379     ${output}    Find Flow in DPCTL Output    ${matches}    ${actions}
380     SSHLibrary.Close Connection
381
382 Tenant 2 Different switches, stop endless curl from h35_8 to h36_7
383     [Documentation]    Terminanting endless HTTP session after traffic inspection
384     ...    finishes.
385     [Tags]    tenant2
386     ConnUtils.Connect and Login    ${CLIENT_SWITCH_IP}    timeout=${timeout}
387     DockerUtils.Stop Endless Curl from Docker    ${CLIENT_DOCKER}
388     SSHLibrary.Close Connection
389
390 Tenant 2 Different switches, stop SimpleHttpServer on h36_7
391     [Documentation]    Stopping HTTP service on docker container.
392     [Tags]    tenant2
393     ConnUtils.Connect and Login    ${DIFF_WEBSERVER_SWITCH_IP}    timeout=${timeout}
394     DockerUtils.Stop HTTP Service on Docker    ${DIFF_WEBSERVER_DOCKER}
395     SSHLibrary.Close Connection