Merge pull request #127017 from carlory/flowcontrolv1beta3

remove resource flowschemas and prioritylevelconfigurations from legacyBetaEnabledByDefaultResources in v1.32
This commit is contained in:
Kubernetes Prow Robot 2024-09-03 21:21:17 +01:00 committed by GitHub
commit 89fbb3f2d2
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 0 additions and 71 deletions

View File

@ -452,14 +452,6 @@ var (
flowcontrolv1.SchemeGroupVersion,
}
// legacyBetaEnabledByDefaultResources is the list of beta resources we enable. You may only add to this list
// if your resource is already enabled by default in a beta level we still serve AND there is no stable API for it.
// see https://github.com/kubernetes/enhancements/tree/master/keps/sig-architecture/3136-beta-apis-off-by-default
// for more details.
legacyBetaEnabledByDefaultResources = []schema.GroupVersionResource{
flowcontrolv1beta3.SchemeGroupVersion.WithResource("flowschemas"), // deprecate in 1.29, remove in 1.32
flowcontrolv1beta3.SchemeGroupVersion.WithResource("prioritylevelconfigurations"), // deprecate in 1.29, remove in 1.32
}
// betaAPIGroupVersionsDisabledByDefault is for all future beta groupVersions.
betaAPIGroupVersionsDisabledByDefault = []schema.GroupVersion{
admissionregistrationv1beta1.SchemeGroupVersion,
@ -496,8 +488,5 @@ func DefaultAPIResourceConfigSource() *serverstorage.ResourceConfig {
ret.DisableVersions(betaAPIGroupVersionsDisabledByDefault...)
ret.DisableVersions(alphaAPIGroupVersionsDisabledByDefault...)
// enable the legacy beta resources that were present before stopped serving new beta APIs by default.
ret.EnableResources(legacyBetaEnabledByDefaultResources...)
return ret
}

View File

@ -66,7 +66,6 @@ import (
netutils "k8s.io/utils/net"
"k8s.io/kubernetes/pkg/api/legacyscheme"
flowcontrolv1bet3 "k8s.io/kubernetes/pkg/apis/flowcontrol/v1beta3"
controlplaneapiserver "k8s.io/kubernetes/pkg/controlplane/apiserver"
"k8s.io/kubernetes/pkg/controlplane/reconcilers"
"k8s.io/kubernetes/pkg/controlplane/storageversionhashdata"
@ -426,14 +425,6 @@ func TestDefaultVars(t *testing.T) {
}
}
// legacyBetaEnabledByDefaultResources should contain only beta version
for i := range legacyBetaEnabledByDefaultResources {
gv := legacyBetaEnabledByDefaultResources[i]
if !strings.Contains(gv.Version, "beta") {
t.Errorf("legacyBetaEnabledByDefaultResources should contain beta version, but found: %q", gv.String())
}
}
// betaAPIGroupVersionsDisabledByDefault should contain only beta version
for i := range betaAPIGroupVersionsDisabledByDefault {
gv := betaAPIGroupVersionsDisabledByDefault[i]
@ -466,15 +457,6 @@ func TestNewBetaResourcesEnabledByDefault(t *testing.T) {
storageapiv1beta1.SchemeGroupVersion.WithResource("csinodes"): true,
}
// legacyBetaResourcesWithoutStableEquivalents contains those groupresources that were enabled by default as beta
// before we changed that policy and do not have stable versions. These resources are allowed to have additional
// beta versions enabled by default. Nothing new should be added here. There are no future exceptions because there
// are no more beta resources enabled by default.
legacyBetaResourcesWithoutStableEquivalents := map[schema.GroupResource]bool{
flowcontrolv1bet3.SchemeGroupVersion.WithResource("flowschemas").GroupResource(): true,
flowcontrolv1bet3.SchemeGroupVersion.WithResource("prioritylevelconfigurations").GroupResource(): true,
}
config := DefaultAPIResourceConfigSource()
for gvr, enable := range config.ResourceConfigs {
if !strings.Contains(gvr.Version, "beta") {
@ -486,9 +468,6 @@ func TestNewBetaResourcesEnabledByDefault(t *testing.T) {
if legacyEnabledBetaResources[gvr] {
continue // this is a legacy beta resource
}
if legacyBetaResourcesWithoutStableEquivalents[gvr.GroupResource()] {
continue // this is another beta of a legacy beta resource with no stable equivalent
}
t.Errorf("no new beta resources can be enabled by default, see https://github.com/kubernetes/enhancements/blob/0ad0fc8269165ca300d05ca51c7ce190a79976a5/keps/sig-architecture/3136-beta-apis-off-by-default/README.md: %v", gvr)
}
}

View File

@ -84,8 +84,6 @@ var GVRToStorageVersionHash = map[string]string{
"admissionregistration.k8s.io/v1/validatingadmissionpolicies": "6OxvlMmQ6is=",
"admissionregistration.k8s.io/v1/validatingadmissionpolicybindings": "v9715VZqakg=",
"events.k8s.io/v1/events": "r2yiGXH7wu8=",
"flowcontrol.apiserver.k8s.io/v1beta3/flowschemas": "GJVAJZSZBIw=",
"flowcontrol.apiserver.k8s.io/v1beta3/prioritylevelconfigurations": "Kir5PVfvNeI=",
"flowcontrol.apiserver.k8s.io/v1/flowschemas": "GJVAJZSZBIw=",
"flowcontrol.apiserver.k8s.io/v1/prioritylevelconfigurations": "Kir5PVfvNeI=",
}

View File

@ -37,8 +37,6 @@ import (
"k8s.io/kubernetes/pkg/api/legacyscheme"
"k8s.io/kubernetes/pkg/apis/flowcontrol"
flowcontrolapisv1 "k8s.io/kubernetes/pkg/apis/flowcontrol/v1"
flowcontrolapisv1beta1 "k8s.io/kubernetes/pkg/apis/flowcontrol/v1beta1"
flowcontrolapisv1beta2 "k8s.io/kubernetes/pkg/apis/flowcontrol/v1beta2"
flowcontrolapisv1beta3 "k8s.io/kubernetes/pkg/apis/flowcontrol/v1beta3"
"k8s.io/kubernetes/pkg/registry/flowcontrol/ensurer"
flowschemastore "k8s.io/kubernetes/pkg/registry/flowcontrol/flowschema/storage"
@ -59,18 +57,6 @@ const PostStartHookName = "priority-and-fairness-config-producer"
func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource serverstorage.APIResourceConfigSource, restOptionsGetter generic.RESTOptionsGetter) (genericapiserver.APIGroupInfo, error) {
apiGroupInfo := genericapiserver.NewDefaultAPIGroupInfo(flowcontrol.GroupName, legacyscheme.Scheme, legacyscheme.ParameterCodec, legacyscheme.Codecs)
if storageMap, err := p.storage(apiResourceConfigSource, restOptionsGetter, flowcontrolapisv1beta1.SchemeGroupVersion); err != nil {
return genericapiserver.APIGroupInfo{}, err
} else if len(storageMap) > 0 {
apiGroupInfo.VersionedResourcesStorageMap[flowcontrolapisv1beta1.SchemeGroupVersion.Version] = storageMap
}
if storageMap, err := p.storage(apiResourceConfigSource, restOptionsGetter, flowcontrolapisv1beta2.SchemeGroupVersion); err != nil {
return genericapiserver.APIGroupInfo{}, err
} else if len(storageMap) > 0 {
apiGroupInfo.VersionedResourcesStorageMap[flowcontrolapisv1beta2.SchemeGroupVersion.Version] = storageMap
}
if storageMap, err := p.storage(apiResourceConfigSource, restOptionsGetter, flowcontrolapisv1beta3.SchemeGroupVersion); err != nil {
return genericapiserver.APIGroupInfo{}, err
} else if len(storageMap) > 0 {

View File

@ -24,23 +24,6 @@ import (
)
func TestNoNewBetaAPIsByDefault(t *testing.T) {
// yes, this *is* a copy/paste from somewhere else. We really do mean it when we say you shouldn't be modifying
// this list and this test was created to make it more painful.
// legacyBetaEnabledByDefaultResources is the list of beta resources we enable. You may not add to this list
legacyBetaEnabledByDefaultResources := map[schema.GroupVersionResource]bool{
gvr("flowcontrol.apiserver.k8s.io", "v1beta2", "flowschemas"): true, // remove in 1.29
gvr("flowcontrol.apiserver.k8s.io", "v1beta2", "prioritylevelconfigurations"): true, // remove in 1.29
}
// legacyBetaResourcesWithoutStableEquivalents contains those groupresources that were enabled by default as beta
// before we changed that policy and do not have stable versions. These resources are allowed to have additional
// beta versions enabled by default. Nothing new should be added here. There are no future exceptions because there
// are no more beta resources enabled by default.
legacyBetaResourcesWithoutStableEquivalents := map[schema.GroupResource]bool{
gvr("flowcontrol.apiserver.k8s.io", "v1beta1", "flowschemas").GroupResource(): true,
gvr("flowcontrol.apiserver.k8s.io", "v1beta1", "prioritylevelconfigurations").GroupResource(): true,
}
// if you found this because you want to create an integration test for your new beta API, the method you're looking for
// is this setupWithResources method and you need to pass the resource you want to enable into it.
_, kubeClient, _, tearDownFn := setupWithResources(t,
@ -67,12 +50,6 @@ func TestNoNewBetaAPIsByDefault(t *testing.T) {
Version: currResource.Version,
Resource: currResource.Name,
}
if legacyBetaEnabledByDefaultResources[enabledGVR] {
continue
}
if legacyBetaResourcesWithoutStableEquivalents[enabledGVR.GroupResource()] {
continue
}
t.Errorf("%v is a new beta API. New beta APIs may not be enabled by default. "+
"See https://github.com/kubernetes/enhancements/blob/0ad0fc8269165ca300d05ca51c7ce190a79976a5/keps/sig-architecture/3136-beta-apis-off-by-default/README.md "+