Skip to content

Commit 737efb1

Browse files
authored
Merge pull request kubernetes#3348 from jsafrane/update-selinux2
Update test plan of SELinux relabeling
2 parents 8e7bf49 + 2165d55 commit 737efb1

File tree

1 file changed

+35
-12
lines changed
  • keps/sig-storage/1710-selinux-relabeling

1 file changed

+35
-12
lines changed

keps/sig-storage/1710-selinux-relabeling/README.md

Lines changed: 35 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,10 @@
2727
- [Phase 1](#phase-1)
2828
- [Phase 2](#phase-2)
2929
- [Test Plan](#test-plan)
30+
- [Prerequisite testing updates](#prerequisite-testing-updates)
31+
- [Unit tests](#unit-tests)
32+
- [Integration tests](#integration-tests)
33+
- [e2e tests](#e2e-tests)
3034
- [Graduation Criteria](#graduation-criteria)
3135
- [Upgrade / Downgrade Strategy](#upgrade--downgrade-strategy)
3236
- [Version Skew Strategy](#version-skew-strategy)
@@ -50,11 +54,15 @@
5054

5155
Items marked with (R) are required *prior to targeting to a milestone / release*.
5256

53-
- [X] (R) Enhancement issue in release milestone, which links to KEP dir in [kubernetes/enhancements] (not the initial KEP PR)
57+
- [x] (R) Enhancement issue in release milestone, which links to KEP dir in [kubernetes/enhancements] (not the initial KEP PR)
5458
- [ ] (R) KEP approvers have approved the KEP status as `implementable`
5559
- [ ] (R) Design details are appropriately documented
5660
- [ ] (R) Test plan is in place, giving consideration to SIG Architecture and SIG Testing input (including test refactors)
61+
- [ ] e2e Tests for all Beta API Operations (endpoints)
62+
- [ ] (R) Ensure GA e2e tests for meet requirements for [Conformance Tests](https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/conformance-tests.md)
63+
- [ ] (R) Minimum Two Week Window for GA e2e tests to prove flake free
5764
- [ ] (R) Graduation criteria is in place
65+
- [ ] (R) [all GA Endpoints](https://github.com/kubernetes/community/pull/1806) must be hit by [Conformance Tests](https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/conformance-tests.md)
5866
- [ ] (R) Production readiness review completed
5967
- [ ] (R) Production readiness review approved
6068
- [ ] "Implementation History" section is up-to-date for milestone
@@ -362,13 +370,28 @@ Even that will help users to avoid recursive relabeling of volumes if their appl
362370
363371
### Test Plan
364372
365-
* Unit tests:
366-
* Passing mount options from kubelet to volume plugins.
367-
* E2e tests:
368-
* Check no recursive `chcon` is done on a volume when not needed.
369-
* Check recursive `chcon` is done on a volume when needed.
370-
* Check that proper metric + alert is emitted when kubelet can't start two pods with different SELinux contexts using the same volume on the same node.
371-
* These tests might use only CSI volumes, GCE PD in-tree volume plugin that we use for e2e tests might be already migrated to CSI by that time.
373+
[x] I/we understand the owners of the involved components may require updates to
374+
existing tests to make this code solid enough prior to committing the changes necessary
375+
to implement this enhancement.
376+
377+
##### Prerequisite testing updates
378+
379+
##### Unit tests
380+
381+
The main part will be implemented in:
382+
383+
* k8s.io/kubernetes/pkg/kubelet/volumemanager: 2022-06-07 - 53%
384+
385+
##### Integration tests
386+
387+
No existing / new tests for volume mounting there.
388+
389+
##### e2e tests
390+
391+
* Check no recursive `chcon` is done on a volume when not needed.
392+
* Check recursive `chcon` is done on a volume when needed.
393+
* Check that proper metric + alert is emitted when kubelet can't start two pods with different SELinux contexts using the same volume on the same node._
394+
* These tests might use only CSI volumes, GCE PD in-tree volume plugin that we use for e2e tests might be already migrated to CSI by that time.
372395
* Prepare e2e job that runs with SELinux in Enforcing mode!
373396

374397
### Graduation Criteria
@@ -383,19 +406,19 @@ Even that will help users to avoid recursive relabeling of volumes if their appl
383406
* KEP author has access to usage data from OpenShift, a Kubernetes distro that runs with SELinux in enforcing mode.
384407
* Alpha of Phase 2:
385408
* Only if nr. of broken apps is low!
386-
* To be discussed in sig-storage and sig-arch?.
409+
* To be discussed in sig-storage and sig-arch?.
387410
* Publish deprecation note about changed behavior.
388411
* Implement Phase 2 **with a separate alpha feature gate `SELinuxMount`**.
389412
* GA: all known issues fixed + deprecation period is over. Otherwise, we will GA Phase 1 only.
390413

391414
### Upgrade / Downgrade Strategy
392415

393416
N/A. This feature affects only mounts. It does not depend on version of Kubernetes on other nodes or in the control plane.
394-
New / old kubelet will still be able to unmount volumes mounted by old / new kubelet as usual.
417+
New / old kubelet will still be able to unmount volumes mounted by old / new kubelet as usual.
395418

396419
### Version Skew Strategy
397420

398-
N/A. This feature affects only mounts. It does not depend on version of Kubernetes on other nodes or in the control plane.
421+
N/A. This feature affects only mounts. It does not depend on version of Kubernetes on other nodes or in the control plane.
399422

400423
## Production Readiness Review Questionnaire
401424

@@ -630,7 +653,7 @@ _This section must be completed when targeting beta graduation to a release._
630653

631654
## Implementation History
632655

633-
* 1.24: Alpha
656+
* 1.25: Alpha
634657

635658
## Drawbacks [optional]
636659

0 commit comments

Comments
 (0)