@@ -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+
91113Verify 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+
137183Delete Hello MicroShift Route
138184 [Documentation] Delete route for cleanup.
139185 Oc Delete route/hello-microshift -n ${NAMESPACE }
0 commit comments