mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-05 10:19:50 +00:00
Merge pull request #127017 from carlory/flowcontrolv1beta3
remove resource flowschemas and prioritylevelconfigurations from legacyBetaEnabledByDefaultResources in v1.32
This commit is contained in:
commit
89fbb3f2d2
@ -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
|
||||
}
|
||||
|
@ -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)
|
||||
}
|
||||
}
|
||||
|
@ -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=",
|
||||
}
|
||||
|
@ -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 {
|
||||
|
@ -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 "+
|
||||
|
Loading…
Reference in New Issue
Block a user