diff --git a/tests/e2e/testutils.go b/tests/e2e/testutils.go index 0d471666cb68..a01f7e352196 100644 --- a/tests/e2e/testutils.go +++ b/tests/e2e/testutils.go @@ -342,15 +342,17 @@ func FetchExternalIPs(kubeconfig string, servicename string) ([]string, error) { return externalIPs, nil } -func FetchIngressIP(kubeconfig string) ([]string, error) { - cmd := "kubectl get ing ingress -o jsonpath='{.status.loadBalancer.ingress[*].ip}' --kubeconfig=" + kubeconfig +func FetchIngressIP(namespace, name, kubeconfig string) ([]string, error) { + cmd := fmt.Sprintf("kubectl get ingress -n %s %s -o jsonpath='{.status.loadBalancer.ingress[*].ip}' --kubeconfig=%s", namespace, name, kubeconfig) res, err := RunCommand(cmd) if err != nil { return nil, err } - ingressIP := strings.Trim(res, " ") - ingressIPs := strings.Split(ingressIP, " ") - return ingressIPs, nil + res = strings.TrimSpace(res) + if res == "" { + return nil, fmt.Errorf("no IPs found for ingress %s/%s", namespace, name) + } + return strings.Split(res, " "), nil } func (v VagrantNode) FetchNodeExternalIP() (string, error) { diff --git a/tests/e2e/wasm/wasm_test.go b/tests/e2e/wasm/wasm_test.go index 60c42625e004..47f7abe6345d 100644 --- a/tests/e2e/wasm/wasm_test.go +++ b/tests/e2e/wasm/wasm_test.go @@ -97,9 +97,14 @@ var _ = Describe("Verify K3s can run Wasm workloads", Ordered, func() { }) It("Interact with Wasm applications", func() { - ingressIPs, err := e2e.FetchIngressIP(tc.KubeConfigFile) - Expect(err).NotTo(HaveOccurred()) - Expect(ingressIPs).To(HaveLen(1)) + var ingressIPs []string + var err error + + Eventually(func() { + ingressIPs, err = e2e.FetchIngressIP("default", "ingress", tc.KubeConfigFile) + Expect(err).NotTo(HaveOccurred()) + Expect(ingressIPs).To(HaveLen(1)) + }, "120s", "5s").Should(Succeed()) endpoints := []string{"slight/hello", "spin/go-hello", "spin/hello"} for _, endpoint := range endpoints {