Skip to content

Commit 77973b5

Browse files
test: IngressClass exclusion test races with admission cache
The admission cache may take longer to see both ingress classes than it takes to create the ingress. We must loop until we see the appropriate error, cleaning up after ourselves as we go.
1 parent 640b3c0 commit 77973b5

File tree

1 file changed

+14
-7
lines changed

1 file changed

+14
-7
lines changed

test/e2e/network/ingressclass.go

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,12 @@ package network
1919
import (
2020
"context"
2121
"strings"
22+
"time"
2223

2324
networkingv1beta1 "k8s.io/api/networking/v1beta1"
2425
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
2526
"k8s.io/apimachinery/pkg/util/intstr"
27+
"k8s.io/apimachinery/pkg/util/wait"
2628
clientset "k8s.io/client-go/kubernetes"
2729
"k8s.io/kubernetes/test/e2e/framework"
2830

@@ -73,14 +75,19 @@ var _ = SIGDescribe("IngressClass [Feature:Ingress]", func() {
7375
framework.ExpectNoError(err)
7476
defer deleteIngressClass(cs, ingressClass2.Name)
7577

76-
_, err = createBasicIngress(cs, f.Namespace.Name)
77-
if err == nil {
78-
framework.Failf("Expected error creating Ingress")
79-
}
80-
78+
// the admission controller may take a few seconds to observe both ingress classes
8179
expectedErr := "2 default IngressClasses were found, only 1 allowed"
82-
if !strings.Contains(err.Error(), expectedErr) {
83-
framework.Failf("Expected error to contain %s, got %s", expectedErr, err.Error())
80+
var lastErr error
81+
if err := wait.Poll(time.Second, time.Minute, func() (bool, error) {
82+
defer cs.NetworkingV1beta1().Ingresses(f.Namespace.Name).Delete(context.TODO(), "ingress1", metav1.DeleteOptions{})
83+
_, err := createBasicIngress(cs, f.Namespace.Name)
84+
if err == nil {
85+
return false, nil
86+
}
87+
lastErr = err
88+
return strings.Contains(err.Error(), expectedErr), nil
89+
}); err != nil {
90+
framework.Failf("Expected error to contain %s, got %s", expectedErr, lastErr.Error())
8491
}
8592
})
8693

0 commit comments

Comments
 (0)