diff --git a/pkg/kubeapiserver/default_storage_factory_builder.go b/pkg/kubeapiserver/default_storage_factory_builder.go index 60aabccad87..9c250886c71 100644 --- a/pkg/kubeapiserver/default_storage_factory_builder.go +++ b/pkg/kubeapiserver/default_storage_factory_builder.go @@ -28,6 +28,7 @@ import ( "k8s.io/apiserver/pkg/util/compatibility" basecompatibility "k8s.io/component-base/compatibility" "k8s.io/kubernetes/pkg/api/legacyscheme" + "k8s.io/kubernetes/pkg/apis/admissionregistration" "k8s.io/kubernetes/pkg/apis/apps" "k8s.io/kubernetes/pkg/apis/certificates" "k8s.io/kubernetes/pkg/apis/coordination" @@ -80,6 +81,8 @@ func NewStorageFactoryConfigEffectiveVersion(effectiveVersion basecompatibility. // TODO (https://github.com/kubernetes/kubernetes/issues/108451): remove the override in 1.25. // apisstorage.Resource("csistoragecapacities").WithVersion("v1beta1"), coordination.Resource("leasecandidates").WithVersion("v1beta1"), + admissionregistration.Resource("mutatingadmissionpolicies").WithVersion("v1beta1"), // TODO: remove in 1.37. + admissionregistration.Resource("mutatingadmissionpolicybindings").WithVersion("v1beta1"), // TODO: remove in 1.37. certificates.Resource("clustertrustbundles").WithVersion("v1beta1"), certificates.Resource("podcertificaterequests").WithVersion("v1beta1"), storagemigration.Resource("storagemigrations").WithVersion("v1beta1"), diff --git a/test/integration/etcd/data.go b/test/integration/etcd/data.go index 38c43ae6f94..44341f31743 100644 --- a/test/integration/etcd/data.go +++ b/test/integration/etcd/data.go @@ -18,7 +18,6 @@ package etcd import ( "fmt" - "maps" "strings" apiextensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1" @@ -493,14 +492,12 @@ func GetEtcdStorageDataForNamespaceServedAt(namespace string, v string, isEmulat gvr("admissionregistration.k8s.io", "v1beta1", "mutatingadmissionpolicies"): { Stub: `{"metadata":{"name":"map1b1"},"spec":{"paramKind":{"apiVersion":"test.example.com/v1","kind":"Example"},"matchConstraints":{"resourceRules": [{"resourceNames": ["fakeName"], "apiGroups":["apps"],"apiVersions":["v1"],"operations":["CREATE", "UPDATE"], "resources":["deployments"]}]},"reinvocationPolicy": "IfNeeded","mutations":[{"applyConfiguration": {"expression":"Object{metadata: Object.metadata{labels: {'example':'true'}}}"}, "patchType":"ApplyConfiguration"}]}}`, ExpectedEtcdPath: "/registry/mutatingadmissionpolicies/map1b1", - ExpectedGVK: gvkP("admissionregistration.k8s.io", "v1beta1", "MutatingAdmissionPolicy"), IntroducedVersion: "1.34", RemovedVersion: "1.40", }, gvr("admissionregistration.k8s.io", "v1beta1", "mutatingadmissionpolicybindings"): { Stub: `{"metadata":{"name":"mpb1b1"},"spec":{"policyName":"replicalimit-policy.example.com","paramRef":{"name":"replica-limit-test.example.com", "parameterNotFoundAction": "Allow"}}}`, ExpectedEtcdPath: "/registry/mutatingadmissionpolicybindings/mpb1b1", - ExpectedGVK: gvkP("admissionregistration.k8s.io", "v1beta1", "MutatingAdmissionPolicyBinding"), IntroducedVersion: "1.34", RemovedVersion: "1.40", }, @@ -771,17 +768,16 @@ func GetEtcdStorageDataForNamespaceServedAt(namespace string, v string, isEmulat } if isEmulation { - fullEtcdStorageData := maps.Clone(etcdStorageData) - for key := range etcdStorageData { if strings.Contains(key.Version, "alpha") { delete(etcdStorageData, key) } } - - // match the resource to the correct storage version for emulated version + } + // match the resource to the correct storage version for emulated version + if isEmulation { for key, data := range etcdStorageData { - storageVersion := storageVersionAtEmulationVersion(key, data.ExpectedGVK, v, fullEtcdStorageData) + storageVersion := storageVersionAtEmulationVersion(key, data.ExpectedGVK, v, etcdStorageData) if storageVersion == "" { continue }