diff --git a/keps/sig-api-machinery/2896-openapi-v3/README.md b/keps/sig-api-machinery/2896-openapi-v3/README.md index 48e7b257950d..19e1671c944c 100644 --- a/keps/sig-api-machinery/2896-openapi-v3/README.md +++ b/keps/sig-api-machinery/2896-openapi-v3/README.md @@ -76,6 +76,10 @@ Architecture for cross-cutting KEPs). --> - [OpenAPI V3 Proto](#openapi-v3-proto) - [Clients](#clients) - [Test Plan](#test-plan) + - [Prerequisite testing updates](#prerequisite-testing-updates) + - [Unit tests](#unit-tests) + - [Integration tests](#integration-tests) + - [e2e tests](#e2e-tests) - [Graduation Criteria](#graduation-criteria) - [Alpha](#alpha) - [Beta](#beta) @@ -416,28 +420,75 @@ kubectl will be updated to use OpenAPI V3. ### Test Plan - -Consider the following in developing a test plan for this enhancement: -- Will there be e2e and integration tests, in addition to unit tests? -- How will it be tested in isolation vs with other components? +[x] I/we understand the owners of the involved components may require updates to +existing tests to make this code solid enough prior to committing the changes necessary +to implement this encement. -No need to outline all of the test cases, just the general strategy. Anything -that would count as tricky in the implementation, and anything particularly -challenging to test, should be called out. +##### Prerequisite testing updates -All code is expected to have adequate tests (eventually with coverage -expectations). Please adhere to the [Kubernetes testing -guidelines][testing-guidelines] when drafting this test plan. + -[testing-guidelines]: https://git.k8s.io/community/contributors/devel/sig-testing/testing.md +##### Unit tests + + + + -For alpha, unit tests will be included to ensure that v3 schemas are properly -generated and published. A validator will also be used to ensure that the spec -generated is valid OpenAPI v3. +This feature is primarily implemented in kube-openapi and unit tests, validation, benchmarks and fuzzing are added there. Some packages in k/k will be modified to capture the changes in kube-openapi. -A fuzzer and performance benchmark tests will also be included. +- `k8s.io/kubernetes/vendor/k8s.io/apiextensions-apiserver/pkg/controller/openapi/builder`: `2023-02-06` - `81.9` +- `k8s.io/kubernetes/vendor/k8s.io/kube-aggregator/pkg/controllers/openapiv3/aggregator`: `2023-02-06` - `74` + +##### Integration tests + + + +Tests in the following directory: + +- `test/integration/apiserver/openapi/...`: https://storage.googleapis.com/k8s-triage/index.html?test=TestOpenAPIV3 + +##### e2e tests + + + +Tests will be added to ensure that OpenAPI is present for all group versions. ### Graduation Criteria @@ -781,6 +832,10 @@ memory. OpenAPI v3 will avoid aggregating the entire spec and only aggregate (if necessary) per group/version, decreasing the runtime and memory usage to a negligible amount. +###### Can enabling / using this feature result in resource exhaustion of some node resources (PIDs, sockets, inodes, etc.)? + +This feature strictly operates on the control plane and has no effect on node resources. + ### Troubleshooting