Skip to content

Commit c4a39ab

Browse files
committed
OCPBUGS-45192: Add e2e test for router service IP connectivity
1 parent 036d28e commit c4a39ab

1 file changed

Lines changed: 46 additions & 0 deletions

File tree

test/suites/ipv6/dualstack.robot

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,28 @@ Verify New Pod Works With IPv4
8888
... Remove Dual Stack Config Drop In
8989
... Restart MicroShift
9090

91+
Router Service IP Connectivity
92+
[Documentation] Verify that the router is accessible on all IP addresses
93+
... assigned to the router-default LoadBalancer service.
94+
[Setup] Run Keywords
95+
... Migrate To Dual Stack
96+
... Create Hello MicroShift Pod
97+
... Expose Hello MicroShift Service Via Route IPv4
98+
... Restart Router
99+
100+
@{ips}= Get Router Service IPs
101+
FOR ${ip} IN @{ips}
102+
Wait Until Keyword Succeeds 20x 10s
103+
... Access Hello MicroShift From Host ${ip} ${HTTP_PORT}
104+
END
105+
106+
[Teardown] Run Keywords
107+
... Delete Hello MicroShift Route
108+
... Delete Hello MicroShift Pod And Service
109+
... Wait For Service Deletion With Timeout
110+
... Remove Dual Stack Config Drop In
111+
... Restart MicroShift
112+
91113
Verify Host Network Pods Get Dual Stack IP Addresses
92114
[Documentation] Verify host network pods get dual stack IP addresses
93115
[Setup] Run Keywords
@@ -134,6 +156,30 @@ Migrate To Dual Stack
134156
Drop In MicroShift Config ${dual_stack} 10-dualstack
135157
Restart MicroShift
136158

159+
Get Router Service IPs
160+
[Documentation] Get all IP addresses from the router-default LoadBalancer service
161+
... in the openshift-ingress namespace.
162+
${output}= Oc Get JsonPath
163+
... service
164+
... openshift-ingress
165+
... router-default
166+
... .status.loadBalancer.ingress[*].ip
167+
Should Not Be Empty ${output} Router service has no LoadBalancer ingress IPs
168+
@{ips}= Split String ${output}
169+
RETURN @{ips}
170+
171+
Access Hello MicroShift From Host
172+
[Documentation] Access hello-microshift from the MicroShift host via SSH using the given IP.
173+
[Arguments] ${router_ip} ${port} ${hostname}=${HOSTNAME}
174+
${ip}= Add Brackets If Ipv6 ${router_ip}
175+
${stdout} ${stderr} ${rc}= SSHLibrary.Execute Command
176+
... curl -k -i --connect-to "${hostname}::${ip}:" "http://${hostname}:${port}"
177+
... sudo=False return_rc=True return_stderr=True return_stdout=True
178+
Log Many ${stdout} ${stderr}
179+
Should Be Equal As Integers 0 ${rc}
180+
Should Match Regexp ${stdout} HTTP.*200
181+
Should Contain ${stdout} Hello MicroShift
182+
137183
Delete Hello MicroShift Route
138184
[Documentation] Delete route for cleanup.
139185
Oc Delete route/hello-microshift -n ${NAMESPACE}

0 commit comments

Comments
 (0)