Skip to content

Commit a07b027

Browse files
authored
Merge pull request kubernetes#77825 from roycaihw/crd-openapi-beta
Promote Publish CRD OpenAPI to beta
2 parents f1883c9 + 979368a commit a07b027

File tree

5 files changed

+9
-5
lines changed

5 files changed

+9
-5
lines changed

pkg/features/kube_features.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -532,7 +532,7 @@ var defaultKubernetesFeatureGates = map[featuregate.Feature]featuregate.FeatureS
532532
apiextensionsfeatures.CustomResourceValidation: {Default: true, PreRelease: featuregate.Beta},
533533
apiextensionsfeatures.CustomResourceSubresources: {Default: true, PreRelease: featuregate.Beta},
534534
apiextensionsfeatures.CustomResourceWebhookConversion: {Default: false, PreRelease: featuregate.Alpha},
535-
apiextensionsfeatures.CustomResourcePublishOpenAPI: {Default: false, PreRelease: featuregate.Alpha},
535+
apiextensionsfeatures.CustomResourcePublishOpenAPI: {Default: true, PreRelease: featuregate.Beta},
536536

537537
// features that enable backwards compatibility but are scheduled to be removed
538538
// ...

staging/src/k8s.io/apiextensions-apiserver/pkg/apiserver/apiserver.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -213,7 +213,11 @@ func (c completedConfig) New(delegationTarget genericapiserver.DelegationTarget)
213213
return nil
214214
})
215215
s.GenericAPIServer.AddPostStartHookOrDie("start-apiextensions-controllers", func(context genericapiserver.PostStartHookContext) error {
216-
if utilfeature.DefaultFeatureGate.Enabled(apiextensionsfeatures.CustomResourcePublishOpenAPI) {
216+
// OpenAPIVersionedService and StaticOpenAPISpec are populated in generic apiserver PrepareRun().
217+
// Together they serve the /openapi/v2 endpoint on a generic apiserver. A generic apiserver may
218+
// choose to not enable OpenAPI by having null openAPIConfig, and thus OpenAPIVersionedService
219+
// and StaticOpenAPISpec are both null. In that case we don't run the CRD OpenAPI controller.
220+
if utilfeature.DefaultFeatureGate.Enabled(apiextensionsfeatures.CustomResourcePublishOpenAPI) && s.GenericAPIServer.OpenAPIVersionedService != nil && s.GenericAPIServer.StaticOpenAPISpec != nil {
217221
go openapiController.Run(s.GenericAPIServer.StaticOpenAPISpec, s.GenericAPIServer.OpenAPIVersionedService, context.StopCh)
218222
}
219223

staging/src/k8s.io/apiextensions-apiserver/pkg/features/kube_features.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,5 +66,5 @@ var defaultKubernetesFeatureGates = map[featuregate.Feature]featuregate.FeatureS
6666
CustomResourceValidation: {Default: true, PreRelease: featuregate.Beta},
6767
CustomResourceSubresources: {Default: true, PreRelease: featuregate.Beta},
6868
CustomResourceWebhookConversion: {Default: false, PreRelease: featuregate.Alpha},
69-
CustomResourcePublishOpenAPI: {Default: false, PreRelease: featuregate.Alpha},
69+
CustomResourcePublishOpenAPI: {Default: true, PreRelease: featuregate.Beta},
7070
}

test/e2e/apimachinery/crd_publish_openapi.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ var (
4949
metaPattern = `"kind":"%s","apiVersion":"%s/%s","metadata":{"name":"%s"}`
5050
)
5151

52-
var _ = SIGDescribe("CustomResourcePublishOpenAPI [Feature:CustomResourcePublishOpenAPI]", func() {
52+
var _ = SIGDescribe("CustomResourcePublishOpenAPI", func() {
5353
f := framework.NewDefaultFramework("crd-publish-openapi")
5454

5555
ginkgo.BeforeEach(func() {

test/integration/master/crd_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ func TestCRD(t *testing.T) {
135135
}
136136

137137
func TestCRDOpenAPI(t *testing.T) {
138-
result := kubeapiservertesting.StartTestServerOrDie(t, nil, []string{"--feature-gates=CustomResourcePublishOpenAPI=true"}, framework.SharedEtcd())
138+
result := kubeapiservertesting.StartTestServerOrDie(t, nil, nil, framework.SharedEtcd())
139139
defer result.TearDownFn()
140140
kubeclient, err := kubernetes.NewForConfig(result.ClientConfig)
141141
if err != nil {

0 commit comments

Comments
 (0)