@@ -728,15 +728,13 @@ This section must be completed when targeting alpha to a release.
728
728
Pick one of these and delete the rest.
729
729
-->
730
730
731
- - [ ] Feature gate (also fill in values in ` kep.yaml ` )
732
- - Feature gate name:
731
+ - [X ] Feature gate (also fill in values in ` kep.yaml ` )
732
+ - Feature gate name: ReadWriteOncePod
733
733
- Components depending on the feature gate:
734
- - [ ] Other
735
- - Describe the mechanism:
736
- - Will enabling / disabling the feature require downtime of the control
737
- plane?
738
- - Will enabling / disabling the feature require downtime or reprovisioning
739
- of a node? (Do not assume ` Dynamic Kubelet Config ` feature is enabled).
734
+ - kube-apiserver
735
+ - kube-controller-manager
736
+ - kube-scheduler
737
+ - kubelet
740
738
741
739
###### Does enabling the feature change any default behavior?
742
740
@@ -745,6 +743,8 @@ Any change of default behavior may be surprising to users or break existing
745
743
automations, so be extremely careful here.
746
744
-->
747
745
746
+ No.
747
+
748
748
###### Can the feature be disabled once it has been enabled (i.e. can we roll back the enablement)?
749
749
750
750
<!--
@@ -754,8 +754,16 @@ feature, can it break the existing applications?).
754
754
NOTE: Also set `disable-supported` to `true` or `false` in `kep.yaml`.
755
755
-->
756
756
757
+ When the feature gate is disabled, existing ReadWriteOncePod volumes will
758
+ continue working. The only allowed operation will be the deletion of
759
+ ReadWriteOncePod volumes.
760
+
757
761
###### What happens if we reenable the feature if it was previously rolled back?
758
762
763
+ Any existing ReadWriteOncePod and ReadWriteOnce volumes will continue working.
764
+ Upon re-enabling of the feature gate, users can begin creating ReadWriteOncePod
765
+ volumes again.
766
+
759
767
###### Are there any tests for feature enablement/disablement?
760
768
761
769
<!--
@@ -765,6 +773,10 @@ with and without the feature, are necessary. At the very least, think about
765
773
conversion tests if API types are being modified.
766
774
-->
767
775
776
+ There will be unit test coverage for API validation and mount behavior with the
777
+ feature gate enabled and disabled. There will also be end to end test coverage
778
+ for mount behavior (if the the feature gate is enabled).
779
+
768
780
### Rollout, Upgrade and Rollback Planning
769
781
770
782
<!--
@@ -895,6 +907,8 @@ Focusing mostly on:
895
907
heartbeats, leader election, etc.)
896
908
-->
897
909
910
+ No.
911
+
898
912
###### Will enabling / using this feature result in introducing new API types?
899
913
900
914
<!--
@@ -904,6 +918,12 @@ Describe them, providing:
904
918
- Supported number of objects per namespace (for namespace-scoped objects)
905
919
-->
906
920
921
+ No, it will introduce a new "ReadWriteOncePod" value for the
922
+ PersistentVolumeAccessMode type, added to the [ internal] and [ v1] APIs.
923
+
924
+ [ internal ] : https://github.com/kubernetes/kubernetes/blob/v1.21.0/pkg/apis/core/types.go#L503-L514
925
+ [ v1 ] : https://github.com/kubernetes/kubernetes/blob/v1.21.0/staging/src/k8s.io/api/core/v1/types.go#L556-L565
926
+
907
927
###### Will enabling / using this feature result in any new calls to the cloud provider?
908
928
909
929
<!--
@@ -912,6 +932,8 @@ Describe them, providing:
912
932
- Estimated increase:
913
933
-->
914
934
935
+ No.
936
+
915
937
###### Will enabling / using this feature result in increasing size or count of the existing API objects?
916
938
917
939
<!--
@@ -921,6 +943,8 @@ Describe them, providing:
921
943
- Estimated amount of new objects: (e.g., new Object X for every existing Pod)
922
944
-->
923
945
946
+ No.
947
+
924
948
###### Will enabling / using this feature result in increasing time taken by any operations covered by existing SLIs/SLOs?
925
949
926
950
<!--
@@ -932,6 +956,8 @@ Think about adding additional work or introducing new steps in between
932
956
[existing SLIs/SLOs]: https://git.k8s.io/community/sig-scalability/slos/slos.md#kubernetes-slisslos
933
957
-->
934
958
959
+ No.
960
+
935
961
###### Will enabling / using this feature result in non-negligible increase of resource usage (CPU, RAM, disk, IO, ...) in any components?
936
962
937
963
<!--
@@ -944,6 +970,8 @@ This through this both in small and large cases, again with respect to the
944
970
[supported limits]: https://git.k8s.io/community//sig-scalability/configs-and-limits/thresholds.md
945
971
-->
946
972
973
+ No, the solution will involve using the same ActualStateOfWorld cache in kubelet.
974
+
947
975
### Troubleshooting
948
976
949
977
<!--
0 commit comments