You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: keps/sig-storage/1710-selinux-relabeling/README.md
+18-8Lines changed: 18 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -680,10 +680,13 @@ All these e2e tests use only CSI volumes. All in-tree volume types that support
680
680
* Alpha of Phase 2 + 3:
681
681
* Implemented `SELinuxChangePolicy` **with a separate alpha feature gate `SELinuxChangePolicy`** as preparation for `SELinuxMount` feature gate graduation.
682
682
* Implemented SELinuxController.
683
-
* Beta of Phase 2, alpha of phase 3:
683
+
* Beta of Phase 2 + 3 (`SELinuxChangePolicy` is beta and enabled by default; `SELinuxMount` is beta, but disabled by default).
684
684
* Telemetry numbers from OpenShift show that <5% of clusters would need to change any of their Pods.
685
-
* GA:
685
+
* This phase signalizes that the feature is ready for real testing. Only non-breaking parts (`SELinuxChangePolicy`) are enabled by default.
686
+
* GA of Phase 2 (`SELinuxChangePolicy` + `SELinuxMountReadWriteOncePod` are GA and locked to default):
686
687
* All known issues fixed. Otherwise, we will GA Phase 1 only.
688
+
* GA of Phase 3 (`SELinuxMount` is GA and locked to default):
689
+
* At least 1 release after `SELinuxChangePolicy` is GA to give cluster admins enough time to apply `SELinuxChangePolicy` to their Pods.
687
690
* Telemetry numbers from OpenShift show that <2% of clusters would need to change any of their Pods (i.e. most clusters already applied opt-out).
688
691
689
692
### Upgrade / Downgrade Strategy
@@ -723,9 +726,9 @@ _This section must be completed when targeting alpha to a release._
723
726
* **How can this feature be enabled / disabled in a live cluster?**
724
727
- [X] Feature gate (also fill in values in `kep.yaml`)
725
728
- Feature gate name: `SELinuxMountReadWriteOncePod`(beta in 1.28)
726
-
- Feature gate name: `SELinuxChangePolicy`(alpha in 1.30)
729
+
- Feature gate name: `SELinuxChangePolicy`(alpha in 1.30, proposing beta in 1.33)
727
730
- To enable `SELinuxChangePolicy` feature gate, `SELinuxMountReadWriteOncePod` **must** be enabled too.
728
-
- Feature gate name: `SELinuxMount`(alpha in 1.30)
731
+
- Feature gate name: `SELinuxMount`(alpha in 1.30, proposing beta in 1.33)
729
732
- To enable `SELinuxMount` feature gate, `SELinuxMountReadWriteOncePod` and `SELinuxChangePolicy` **must** be enabled too.
730
733
- Components depending on the feature gate: apiserver (API validation only), kubelet
731
734
- [ ] Other
@@ -740,6 +743,7 @@ _This section must be completed when targeting alpha to a release._
740
743
automations, so be extremely careful here.
741
744
742
745
**Yes.** See [Conflict with other Pods](#conflicts-with-other-pods) for details.
746
+
We offer metrics + events + proactive opt-out per Pod before the breaking part (`SELinuxMount`) is enabled by default.
743
747
744
748
* **Can the feature be disabled once it has been enabled (i.e. can we rollback
745
749
the enablement)?**
@@ -908,7 +912,8 @@ previous answers based on experience in the field._
908
912
909
913
* **Will enabling / using this feature result in any new API calls?**
910
914
911
-
No new API calls are required. Kubelet / CSI volume plugin already has CSIDriver informer.
915
+
* No new API calls are required in kubelet, its CSI volume plugin already has CSIDriver informer.
916
+
* KCM will emit new events when SELinuxWarningController is enabled. It already has Pod, PV, PVC, CSIDriver informers and does not do other API calls.
912
917
913
918
* **Will enabling / using this feature result in introducing new API types?**
914
919
@@ -921,8 +926,9 @@ previous answers based on experience in the field._
921
926
922
927
* **Will enabling / using this feature result in increasing size or count of the existing API objects?**
923
928
924
-
CSIDriver gets one new field. We expect only few CSIDriver objects in a cluster.
925
-
PodSpec gets one new field, and we expect it to be `null` for the vast majority of Pods.
929
+
* CSIDriver gets one new field. We expect only few CSIDriver objects in a cluster.
930
+
* PodSpec gets one new field, and we expect it to be `null` for the vast majority of Pods.
931
+
* Event(s) will be created for every conflicting Pod pair when SELinuxWarningController is enabled.
926
932
927
933
* **Will enabling / using this feature result in increasing time taken by any
928
934
operations covered by [existing SLIs/SLOs][]?**
@@ -939,7 +945,7 @@ previous answers based on experience in the field._
939
945
This through this both in small and large cases, again with respect to the
940
946
[supported limits][].
941
947
942
-
No. Kubelet already has a cache of desired / existing mounts, we need to add
948
+
No. KCM and Kubelet already has a cache of desired / existing mounts, we need to add
943
949
a string with SELinux label to each one, which should be negligible.
944
950
945
951
* **Can enabling / using this feature result in resource exhaustion of some node
@@ -980,6 +986,7 @@ _This section must be completed when targeting beta graduation to a release._
980
986
981
987
- *Kubelet des not start new Pods*
982
988
- Detection: `volume_manager_selinux_container_errors_total`, `volume_manager_selinux_pod_context_mismatch_errors_total` or `volume_manager_selinux_volume_context_mismatch_errors_total` grows.
989
+
In addition, each such Pod has an event about SELinux label mismatch.
983
990
- Mitigations: What can be done to stop the bleeding, especially for already
984
991
running user workloads?
985
992
Workloads that run keep running, only new Pods can't start.
@@ -1010,6 +1017,9 @@ _This section must be completed when targeting beta graduation to a release._
1010
1017
* We discovered that sharing volumes between privileged and unprivileged containers as described [here](#privileged-containers) is a valid use case.
1011
1018
we cannot mount *all* volumes with `-o context` and it must be an explicit opt-out using `SELinuxChangePolicy: Recursive`.
1012
1019
* Implement `SELinuxChangePolicy` as an alpha field.
1020
+
* 1.33: Graduate `SELinuxMount` to beta / disabled by default, `SELinuxChangePolicy` to beta / enabled by default.
1021
+
* Add e2e tests for the SELinuxWarningController.
1022
+
* Test on non-Fedora based Linux distribution (e.g. Debian) with SELinux enabled.
0 commit comments