Merge pull request #121255 from tukwila/OpenAPIV3-cleanup
Remove GAed feature gates OpenAPIV3
This commit is contained in:
		@@ -1142,8 +1142,6 @@ var defaultKubernetesFeatureGates = map[featuregate.Feature]featuregate.FeatureS
 | 
			
		||||
 | 
			
		||||
	genericfeatures.OpenAPIEnums: {Default: true, PreRelease: featuregate.Beta},
 | 
			
		||||
 | 
			
		||||
	genericfeatures.OpenAPIV3: {Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // remove in 1.29
 | 
			
		||||
 | 
			
		||||
	genericfeatures.ServerSideApply: {Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // remove in 1.29
 | 
			
		||||
 | 
			
		||||
	genericfeatures.ServerSideFieldValidation: {Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // remove in 1.29
 | 
			
		||||
 
 | 
			
		||||
@@ -43,12 +43,10 @@ import (
 | 
			
		||||
	"k8s.io/apimachinery/pkg/version"
 | 
			
		||||
	"k8s.io/apiserver/pkg/endpoints/discovery"
 | 
			
		||||
	"k8s.io/apiserver/pkg/endpoints/discovery/aggregated"
 | 
			
		||||
	"k8s.io/apiserver/pkg/features"
 | 
			
		||||
	genericregistry "k8s.io/apiserver/pkg/registry/generic"
 | 
			
		||||
	"k8s.io/apiserver/pkg/registry/rest"
 | 
			
		||||
	genericapiserver "k8s.io/apiserver/pkg/server"
 | 
			
		||||
	serverstorage "k8s.io/apiserver/pkg/server/storage"
 | 
			
		||||
	utilfeature "k8s.io/apiserver/pkg/util/feature"
 | 
			
		||||
	"k8s.io/apiserver/pkg/util/webhook"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
@@ -243,7 +241,7 @@ func (c completedConfig) New(delegationTarget genericapiserver.DelegationTarget)
 | 
			
		||||
				go openapiController.Run(s.GenericAPIServer.StaticOpenAPISpec, s.GenericAPIServer.OpenAPIVersionedService, context.StopCh)
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			if s.GenericAPIServer.OpenAPIV3VersionedService != nil && utilfeature.DefaultFeatureGate.Enabled(features.OpenAPIV3) {
 | 
			
		||||
			if s.GenericAPIServer.OpenAPIV3VersionedService != nil {
 | 
			
		||||
				openapiv3Controller := openapiv3controller.NewController(s.Informers.Apiextensions().V1().CustomResourceDefinitions())
 | 
			
		||||
				go openapiv3Controller.Run(s.GenericAPIServer.OpenAPIV3VersionedService, context.StopCh)
 | 
			
		||||
			}
 | 
			
		||||
 
 | 
			
		||||
@@ -142,15 +142,6 @@ const (
 | 
			
		||||
	// in the spec returned from kube-apiserver.
 | 
			
		||||
	OpenAPIEnums featuregate.Feature = "OpenAPIEnums"
 | 
			
		||||
 | 
			
		||||
	// owner: @jefftree
 | 
			
		||||
	// kep: https://kep.k8s.io/2896
 | 
			
		||||
	// alpha: v1.23
 | 
			
		||||
	// beta: v1.24
 | 
			
		||||
	// stable: v1.27
 | 
			
		||||
	//
 | 
			
		||||
	// Enables kubernetes to publish OpenAPI v3
 | 
			
		||||
	OpenAPIV3 featuregate.Feature = "OpenAPIV3"
 | 
			
		||||
 | 
			
		||||
	// owner: @caesarxuchao
 | 
			
		||||
	// alpha: v1.15
 | 
			
		||||
	// beta: v1.16
 | 
			
		||||
@@ -296,8 +287,6 @@ var defaultKubernetesFeatureGates = map[featuregate.Feature]featuregate.FeatureS
 | 
			
		||||
 | 
			
		||||
	OpenAPIEnums: {Default: true, PreRelease: featuregate.Beta},
 | 
			
		||||
 | 
			
		||||
	OpenAPIV3: {Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // remove in 1.29
 | 
			
		||||
 | 
			
		||||
	RemainingItemCount: {Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // remove in 1.32
 | 
			
		||||
 | 
			
		||||
	RemoveSelfLink: {Default: true, PreRelease: featuregate.GA, LockToDefault: true},
 | 
			
		||||
 
 | 
			
		||||
@@ -430,11 +430,9 @@ func (s *GenericAPIServer) PrepareRun() preparedGenericAPIServer {
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if s.openAPIV3Config != nil && !s.skipOpenAPIInstallation {
 | 
			
		||||
		if utilfeature.DefaultFeatureGate.Enabled(features.OpenAPIV3) {
 | 
			
		||||
			s.OpenAPIV3VersionedService = routes.OpenAPI{
 | 
			
		||||
				V3Config: s.openAPIV3Config,
 | 
			
		||||
			}.InstallV3(s.Handler.GoRestfulContainer, s.Handler.NonGoRestfulMux)
 | 
			
		||||
		}
 | 
			
		||||
		s.OpenAPIV3VersionedService = routes.OpenAPI{
 | 
			
		||||
			V3Config: s.openAPIV3Config,
 | 
			
		||||
		}.InstallV3(s.Handler.GoRestfulContainer, s.Handler.NonGoRestfulMux)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	s.installHealthz()
 | 
			
		||||
 
 | 
			
		||||
@@ -407,7 +407,7 @@ func (s *APIAggregator) PrepareRun() (preparedAPIAggregator, error) {
 | 
			
		||||
		})
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if s.openAPIV3Config != nil && utilfeature.DefaultFeatureGate.Enabled(genericfeatures.OpenAPIV3) {
 | 
			
		||||
	if s.openAPIV3Config != nil {
 | 
			
		||||
		s.GenericAPIServer.AddPostStartHookOrDie("apiservice-openapiv3-controller", func(context genericapiserver.PostStartHookContext) error {
 | 
			
		||||
			go s.openAPIV3AggregationController.Run(context.StopCh)
 | 
			
		||||
			return nil
 | 
			
		||||
@@ -447,7 +447,7 @@ func (s *APIAggregator) PrepareRun() (preparedAPIAggregator, error) {
 | 
			
		||||
		s.openAPIAggregationController = openapicontroller.NewAggregationController(&specDownloader, openAPIAggregator)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if s.openAPIV3Config != nil && utilfeature.DefaultFeatureGate.Enabled(genericfeatures.OpenAPIV3) {
 | 
			
		||||
	if s.openAPIV3Config != nil {
 | 
			
		||||
		specDownloaderV3 := openapiv3aggregator.NewDownloader()
 | 
			
		||||
		openAPIV3Aggregator, err := openapiv3aggregator.BuildAndRegisterAggregator(
 | 
			
		||||
			specDownloaderV3,
 | 
			
		||||
 
 | 
			
		||||
@@ -28,7 +28,6 @@ import (
 | 
			
		||||
	utilerrors "k8s.io/apimachinery/pkg/util/errors"
 | 
			
		||||
	"k8s.io/apiserver/pkg/admission"
 | 
			
		||||
	"k8s.io/apiserver/pkg/endpoints/openapi"
 | 
			
		||||
	"k8s.io/apiserver/pkg/features"
 | 
			
		||||
	genericapiserver "k8s.io/apiserver/pkg/server"
 | 
			
		||||
	genericoptions "k8s.io/apiserver/pkg/server/options"
 | 
			
		||||
	utilfeature "k8s.io/apiserver/pkg/util/feature"
 | 
			
		||||
@@ -139,11 +138,9 @@ func (o *WardleServerOptions) Config() (*apiserver.Config, error) {
 | 
			
		||||
	serverConfig.OpenAPIConfig.Info.Title = "Wardle"
 | 
			
		||||
	serverConfig.OpenAPIConfig.Info.Version = "0.1"
 | 
			
		||||
 | 
			
		||||
	if utilfeature.DefaultFeatureGate.Enabled(features.OpenAPIV3) {
 | 
			
		||||
		serverConfig.OpenAPIV3Config = genericapiserver.DefaultOpenAPIV3Config(sampleopenapi.GetOpenAPIDefinitions, openapi.NewDefinitionNamer(apiserver.Scheme))
 | 
			
		||||
		serverConfig.OpenAPIV3Config.Info.Title = "Wardle"
 | 
			
		||||
		serverConfig.OpenAPIV3Config.Info.Version = "0.1"
 | 
			
		||||
	}
 | 
			
		||||
	serverConfig.OpenAPIV3Config = genericapiserver.DefaultOpenAPIV3Config(sampleopenapi.GetOpenAPIDefinitions, openapi.NewDefinitionNamer(apiserver.Scheme))
 | 
			
		||||
	serverConfig.OpenAPIV3Config.Info.Title = "Wardle"
 | 
			
		||||
	serverConfig.OpenAPIV3Config.Info.Version = "0.1"
 | 
			
		||||
 | 
			
		||||
	if err := o.RecommendedOptions.ApplyTo(serverConfig); err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
 
 | 
			
		||||
@@ -27,11 +27,8 @@ import (
 | 
			
		||||
	"k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset"
 | 
			
		||||
	"k8s.io/apiextensions-apiserver/test/integration/fixtures"
 | 
			
		||||
	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 | 
			
		||||
	genericfeatures "k8s.io/apiserver/pkg/features"
 | 
			
		||||
	utilfeature "k8s.io/apiserver/pkg/util/feature"
 | 
			
		||||
	"k8s.io/client-go/dynamic"
 | 
			
		||||
	kubernetes "k8s.io/client-go/kubernetes"
 | 
			
		||||
	featuregatetesting "k8s.io/component-base/featuregate/testing"
 | 
			
		||||
	"k8s.io/kube-openapi/pkg/spec3"
 | 
			
		||||
	apiservertesting "k8s.io/kubernetes/cmd/kube-apiserver/app/testing"
 | 
			
		||||
	"k8s.io/kubernetes/test/integration/framework"
 | 
			
		||||
@@ -42,7 +39,6 @@ const statusSchemaName = "io.k8s.apimachinery.pkg.apis.meta.v1.Status"
 | 
			
		||||
const objectMetaSchemaName = "io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
 | 
			
		||||
 | 
			
		||||
func TestOpenAPIV3MultipleCRDsSameGV(t *testing.T) {
 | 
			
		||||
	defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, genericfeatures.OpenAPIV3, true)()
 | 
			
		||||
	server, err := apiservertesting.StartTestServer(t, apiservertesting.NewDefaultTestServerOptions(), nil, framework.SharedEtcd())
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		t.Fatal(err)
 | 
			
		||||
 
 | 
			
		||||
@@ -31,12 +31,9 @@ import (
 | 
			
		||||
	apiextensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
 | 
			
		||||
	"k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset"
 | 
			
		||||
	"k8s.io/apiextensions-apiserver/test/integration/fixtures"
 | 
			
		||||
	genericfeatures "k8s.io/apiserver/pkg/features"
 | 
			
		||||
	utilfeature "k8s.io/apiserver/pkg/util/feature"
 | 
			
		||||
	"k8s.io/client-go/dynamic"
 | 
			
		||||
	kubernetes "k8s.io/client-go/kubernetes"
 | 
			
		||||
	restclient "k8s.io/client-go/rest"
 | 
			
		||||
	featuregatetesting "k8s.io/component-base/featuregate/testing"
 | 
			
		||||
	"k8s.io/kube-openapi/pkg/handler3"
 | 
			
		||||
	"k8s.io/kube-openapi/pkg/spec3"
 | 
			
		||||
	apiservertesting "k8s.io/kubernetes/cmd/kube-apiserver/app/testing"
 | 
			
		||||
@@ -50,8 +47,6 @@ func TestOpenAPIV3SpecRoundTrip(t *testing.T) {
 | 
			
		||||
	ctx, cancel := context.WithCancel(ctx)
 | 
			
		||||
	defer cancel()
 | 
			
		||||
 | 
			
		||||
	defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, genericfeatures.OpenAPIV3, true)()
 | 
			
		||||
 | 
			
		||||
	_, kubeConfig, tearDownFn := framework.StartTestServer(ctx, t, framework.TestServerSetup{})
 | 
			
		||||
	defer tearDownFn()
 | 
			
		||||
 | 
			
		||||
@@ -105,7 +100,6 @@ func TestOpenAPIV3SpecRoundTrip(t *testing.T) {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func TestAddRemoveGroupVersion(t *testing.T) {
 | 
			
		||||
	defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, genericfeatures.OpenAPIV3, true)()
 | 
			
		||||
	server, err := apiservertesting.StartTestServer(t, apiservertesting.NewDefaultTestServerOptions(), nil, framework.SharedEtcd())
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		t.Fatal(err)
 | 
			
		||||
@@ -199,8 +193,6 @@ func TestOpenAPIV3ProtoRoundtrip(t *testing.T) {
 | 
			
		||||
	ctx, cancel := context.WithCancel(ctx)
 | 
			
		||||
	defer cancel()
 | 
			
		||||
 | 
			
		||||
	defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, genericfeatures.OpenAPIV3, true)()
 | 
			
		||||
 | 
			
		||||
	_, kubeConfig, tearDownFn := framework.StartTestServer(ctx, t, framework.TestServerSetup{})
 | 
			
		||||
	defer tearDownFn()
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user