Skip to content

Commit c77da27

Browse files
authored
Merge pull request kubernetes#3616 from nckturner/client-exec-proxy-kep-update
KEP-2718: Update to new test plan template
2 parents 46cd991 + 6440165 commit c77da27

File tree

1 file changed

+62
-24
lines changed
  • keps/sig-auth/2718-20210511-client-exec-proxy

1 file changed

+62
-24
lines changed

keps/sig-auth/2718-20210511-client-exec-proxy/README.md

Lines changed: 62 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -75,8 +75,10 @@ SIG Architecture for cross-cutting KEPs).
7575
- [Proxy Shutdown](#proxy-shutdown)
7676
- [API](#api)
7777
- [Test Plan](#test-plan)
78-
- [Integration](#integration)
79-
- [E2E](#e2e)
78+
- [Prerequisite testing updates](#prerequisite-testing-updates)
79+
- [Unit tests](#unit-tests)
80+
- [Integration tests](#integration-tests)
81+
- [e2e tests](#e2e-tests)
8082
- [Graduation Criteria](#graduation-criteria)
8183
- [Alpha](#alpha)
8284
- [Alpha -> Beta Graduation](#alpha---beta-graduation)
@@ -427,40 +429,76 @@ type ProxyConfig struct {
427429

428430
<!--
429431
**Note:** *Not required until targeted at a release.*
432+
The goal is to ensure that we don't accept enhancements with inadequate testing.
433+
All code is expected to have adequate tests (eventually with coverage
434+
expectations). Please adhere to the [Kubernetes testing guidelines][testing-guidelines]
435+
when drafting this test plan.
436+
[testing-guidelines]: https://git.k8s.io/community/contributors/devel/sig-testing/testing.md
437+
-->
430438

431-
Consider the following in developing a test plan for this enhancement:
432-
- Will there be e2e and integration tests, in addition to unit tests?
433-
- How will it be tested in isolation vs with other components?
439+
[x] I/we understand the owners of the involved components may require updates to
440+
existing tests to make this code solid enough prior to committing the changes necessary
441+
to implement this enhancement.
434442

435-
No need to outline all of the test cases, just the general strategy. Anything
436-
that would count as tricky in the implementation, and anything particularly
437-
challenging to test, should be called out.
443+
##### Prerequisite testing updates
438444

439-
All code is expected to have adequate tests (eventually with coverage
440-
expectations). Please adhere to the [Kubernetes testing
441-
guidelines][testing-guidelines] when drafting this test plan.
445+
<!--
446+
Based on reviewers feedback describe what additional tests need to be added prior
447+
implementing this enhancement to ensure the enhancements have also solid foundations.
448+
-->
442449

443-
[testing-guidelines]: https://git.k8s.io/community/contributors/devel/sig-testing/testing.md
450+
##### Unit tests
451+
452+
<!--
453+
In principle every added code should have complete unit test coverage, so providing
454+
the exact set of tests will not bring additional value.
455+
However, if complete unit test coverage is not possible, explain the reason of it
456+
together with explanation why this is acceptable.
444457
-->
445458

446-
Both integration and e2e tests will be required in addition to unit tests.
459+
<!--
460+
Additionally, for Alpha try to enumerate the core package you will be touching
461+
to implement this enhancement and provide the current unit coverage for those
462+
in the form of:
463+
- <package>: <date> - <current test coverage>
464+
The data can be easily read from:
465+
https://testgrid.k8s.io/sig-testing-canaries#ci-kubernetes-coverage-unit
466+
This can inform certain test coverage improvements that we want to do before
467+
extending the production code to implement this enhancement.
468+
-->
447469

448-
#### Integration
470+
- `k8s.io/kubernetes/vendor/k8s.io/client-go/tools/auth/exec`: `2022-10-12` - `75`
471+
- `k8s.io/kubernetes/vendor/k8s.io/client-go/transport`: `2022-10-12` - `57.6`
449472

450-
Integration tests will cover:
473+
##### Integration tests
474+
475+
<!--
476+
This question should be filled when targeting a release.
477+
For Alpha, describe what tests will be added to ensure proper quality of the enhancement.
478+
For Beta and GA, add links to added tests together with links to k8s-triage for those tests:
479+
https://storage.googleapis.com/k8s-triage/index.html
480+
-->
451481

452-
* Authentication between client and proxy.
453-
* Connection from client to apiserver through proxy.
454-
* Proxy use with kubectl (possible test location: [command-line integration
482+
- Authentication between client and proxy: <link to test coverage>
483+
- Connection from client to apiserver through proxy: <link to test coverage>
484+
- Proxy use with kubectl (possible test location: [command-line integration
455485
test
456-
suite](https://github.com/kubernetes/kubernetes/tree/ec560b9737537be8c688776461bc700e8ddedb9d/test/cmd)).
457-
* UDS connections from the client to the proxy will be tested.
486+
suite](https://github.com/kubernetes/kubernetes/tree/ec560b9737537be8c688776461bc700e8ddedb9d/test/cmd)): <link to test coverage>
487+
- UDS connections from the client to the proxy will be tested: <link to test coverage>
488+
489+
##### e2e tests
458490

459-
#### E2E
491+
<!--
492+
This question should be filled when targeting a release.
493+
For Alpha, describe what tests will be added to ensure proper quality of the enhancement.
494+
For Beta and GA, add links to added tests together with links to k8s-triage for those tests:
495+
https://storage.googleapis.com/k8s-triage/index.html
496+
We expect no non-infra related flakes in the last month as a GA graduation criteria.
497+
-->
460498

461-
The e2e tests will test communication from client to apiserver through proxy in
462-
a real cluster. The e2e tests will require a proxy implementation and
463-
apiserver, etcd, and a client.
499+
- Communication from client to apiserver through proxy in
500+
a real cluster. The e2e tests will require a proxy implementation and
501+
apiserver, etcd, and a client: <link to test coverage>
464502

465503
### Graduation Criteria
466504

0 commit comments

Comments
 (0)