Merge pull request #101711 from hbagdi/ingressclass-namespaced-params-beta

graduate IngressClassNamespacedParams to beta
This commit is contained in:
Kubernetes Prow Robot 2021-06-29 17:07:03 -07:00 committed by GitHub
commit 21f41b8e82
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 19 additions and 4 deletions

View File

@ -149,6 +149,8 @@ func TestDefaulting(t *testing.T) {
{Group: "networking.k8s.io", Version: "v1", Kind: "NetworkPolicyList"}: {},
{Group: "networking.k8s.io", Version: "v1beta1", Kind: "Ingress"}: {},
{Group: "networking.k8s.io", Version: "v1beta1", Kind: "IngressList"}: {},
{Group: "networking.k8s.io", Version: "v1", Kind: "IngressClass"}: {},
{Group: "networking.k8s.io", Version: "v1", Kind: "IngressClassList"}: {},
{Group: "storage.k8s.io", Version: "v1beta1", Kind: "StorageClass"}: {},
{Group: "storage.k8s.io", Version: "v1beta1", Kind: "StorageClassList"}: {},
{Group: "storage.k8s.io", Version: "v1beta1", Kind: "CSIDriver"}: {},

View File

@ -20,6 +20,7 @@ import (
fuzz "github.com/google/gofuzz"
runtimeserializer "k8s.io/apimachinery/pkg/runtime/serializer"
"k8s.io/kubernetes/pkg/apis/networking"
utilpointer "k8s.io/utils/pointer"
)
// Funcs returns the fuzzer functions for the networking api group.
@ -64,5 +65,14 @@ var Funcs = func(codecs runtimeserializer.CodecFactory) []interface{} {
}
}
},
func(p *networking.IngressClass, c fuzz.Continue) {
c.FuzzNoCustom(p) // fuzz self without calling this function again
// default Parameters to Cluster
if p.Spec.Parameters == nil || p.Spec.Parameters.Scope == nil {
p.Spec.Parameters = &networking.IngressClassParametersReference{
Scope: utilpointer.StringPtr(networking.IngressClassParametersReferenceScopeCluster),
}
}
},
}
}

View File

@ -1884,9 +1884,11 @@ func TestValidateIngressClassUpdate(t *testing.T) {
Spec: networking.IngressClassSpec{
Controller: "foo.co/bar",
Parameters: &networking.IngressClassParametersReference{
APIGroup: utilpointer.StringPtr("v1"),
Kind: "ConfigMap",
Name: "foo",
APIGroup: utilpointer.StringPtr("v1"),
Scope: utilpointer.StringPtr("Namespace"),
Kind: "ConfigMap",
Name: "foo",
Namespace: utilpointer.StringPtr("bar"),
},
},
},

View File

@ -659,6 +659,7 @@ const (
// owner: @hbagdi
// kep: http://kep.k8s.io/2365
// alpha: v1.21
// beta: v1.22
//
// Enable Scope and Namespace fields on IngressClassParametersReference.
IngressClassNamespacedParams featuregate.Feature = "IngressClassNamespacedParams"
@ -830,7 +831,7 @@ var defaultKubernetesFeatureGates = map[featuregate.Feature]featuregate.FeatureS
PodAffinityNamespaceSelector: {Default: true, PreRelease: featuregate.Beta},
ServiceLoadBalancerClass: {Default: true, PreRelease: featuregate.Beta},
LogarithmicScaleDown: {Default: false, PreRelease: featuregate.Alpha},
IngressClassNamespacedParams: {Default: false, PreRelease: featuregate.Alpha},
IngressClassNamespacedParams: {Default: true, PreRelease: featuregate.Beta},
ServiceInternalTrafficPolicy: {Default: false, PreRelease: featuregate.Alpha},
SuspendJob: {Default: true, PreRelease: featuregate.Beta},
KubeletPodResourcesGetAllocatable: {Default: false, PreRelease: featuregate.Alpha},