Skip to content

Commit a82a19a

Browse files
committed
updating GIE test with env variable polling for ci flakes
1 parent c32e8d3 commit a82a19a

File tree

1 file changed

+22
-6
lines changed

1 file changed

+22
-6
lines changed

test/extended/router/gatewayapicontroller.go

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -258,16 +258,32 @@ var _ = g.Describe("[sig-network-edge][OCPFeatureGate:GatewayAPIController][Feat
258258

259259
g.By("Confirm istio is healthy and contains the env variable")
260260
waitForIstioHealthy(oc)
261-
istioEnv, err := oc.AsAdmin().Run("get").Args("-n", "openshift-ingress", "istio", "openshift-gateway", "-o=jsonpath={.spec.values.pilot.env}").Output()
262-
o.Expect(err).NotTo(o.HaveOccurred())
263-
o.Expect(istioEnv).To(o.ContainSubstring(`ENABLE_GATEWAY_API_INFERENCE_EXTENSION":"true`))
261+
waitIstioErr := wait.PollUntilContextTimeout(context.Background(), 1*time.Second, 5*time.Minute, false, func(context context.Context) (bool, error) {
262+
istioEnv, err := oc.AsAdmin().Run("get").Args("-n", "openshift-ingress", "istio", "openshift-gateway", "-o=jsonpath={.spec.values.pilot.env}").Output()
263+
o.Expect(err).NotTo(o.HaveOccurred())
264+
if strings.Contains(istioEnv, `ENABLE_GATEWAY_API_INFERENCE_EXTENSION":"true`) {
265+
e2e.Logf("GIE has been enabled, and the env variable is present in Istio resource")
266+
return true, nil
267+
}
268+
e2e.Logf("GIE env variable is not present, retrying...")
269+
return false, nil
270+
})
271+
o.Expect(waitIstioErr).NotTo(o.HaveOccurred(), "Timed out waiting for Istio to have GIE env variable")
264272

265273
g.By("Uninstall the GIE CRD and confirm the env variable is removed")
266274
err = oc.AsAdmin().Run("delete").Args("-f", infPoolCRD).Execute()
267275
o.Expect(err).NotTo(o.HaveOccurred())
268-
istioEnv, err = oc.AsAdmin().Run("get").Args("-n", "openshift-ingress", "istio", "openshift-gateway", "-o=jsonpath={.spec.values.pilot.env}").Output()
269-
o.Expect(err).NotTo(o.HaveOccurred())
270-
o.Expect(istioEnv).NotTo(o.ContainSubstring(`ENABLE_GATEWAY_API_INFERENCE_EXTENSION":"true`))
276+
waitIstioErr = wait.PollUntilContextTimeout(context.Background(), 1*time.Second, 5*time.Minute, false, func(context context.Context) (bool, error) {
277+
istioEnv, err := oc.AsAdmin().Run("get").Args("-n", "openshift-ingress", "istio", "openshift-gateway", "-o=jsonpath={.spec.values.pilot.env}").Output()
278+
o.Expect(err).NotTo(o.HaveOccurred())
279+
if strings.Contains(istioEnv, `ENABLE_GATEWAY_API_INFERENCE_EXTENSION":"true`) {
280+
e2e.Logf("GIE env variable is still present, trying again...")
281+
return false, nil
282+
}
283+
e2e.Logf("GIE env variable has been removed from the Istio resource")
284+
return true, nil
285+
})
286+
o.Expect(waitIstioErr).NotTo(o.HaveOccurred(), "Timed out waiting for Istio to remove GIE env variable")
271287
})
272288
})
273289

0 commit comments

Comments
 (0)