Graduate IngressClassNamespacedParams to GA

This commit is contained in:
Harry Bagdi
2021-11-10 08:58:39 -08:00
parent bafa87c553
commit d09a8c0a88
16 changed files with 58 additions and 429 deletions

View File

@@ -32,6 +32,7 @@ import (
clientset "k8s.io/client-go/kubernetes"
"k8s.io/kubernetes/test/e2e/framework"
"k8s.io/kubernetes/test/e2e/network/common"
utilpointer "k8s.io/utils/pointer"
"github.com/onsi/ginkgo"
)
@@ -96,6 +97,43 @@ var _ = common.SIGDescribe("IngressClass [Feature:Ingress]", func() {
}
})
ginkgo.It("should allow IngressClass to have Namespace-scoped parameters [Serial]", func() {
ingressClass := &networkingv1.IngressClass{
ObjectMeta: metav1.ObjectMeta{
Name: "ingressclass1",
Labels: map[string]string{
"ingressclass": f.UniqueName,
"special-label": "generic",
},
},
Spec: networkingv1.IngressClassSpec{
Controller: "example.com/controller",
Parameters: &networkingv1.IngressClassParametersReference{
Scope: utilpointer.StringPtr("Namespace"),
Namespace: utilpointer.StringPtr("foo-ns"),
Kind: "fookind",
Name: "fooname",
APIGroup: utilpointer.StringPtr("example.com"),
},
},
}
createdIngressClass, err := cs.NetworkingV1().IngressClasses().Create(context.TODO(), ingressClass, metav1.CreateOptions{})
framework.ExpectNoError(err)
defer deleteIngressClass(cs, createdIngressClass.Name)
if createdIngressClass.Spec.Parameters == nil {
framework.Failf("Expected IngressClass.spec.parameters to be set")
}
scope := ""
if createdIngressClass.Spec.Parameters.Scope != nil {
scope = *createdIngressClass.Spec.Parameters.Scope
}
if scope != "Namespace" {
framework.Failf("Expected IngressClass.spec.parameters.scope to be set to 'Namespace', got %v", scope)
}
})
})
func createIngressClass(cs clientset.Interface, name string, isDefault bool, uniqueName string) (*networkingv1.IngressClass, error) {