Skip to content

Commit 11ddfb4

Browse files
committed
KEP-2485: Production Readiness Review Questionnaire
1 parent 7da16e5 commit 11ddfb4

File tree

2 files changed

+42
-8
lines changed

2 files changed

+42
-8
lines changed

keps/sig-storage/2485-read-write-once-pod-pv-access-mode/README.md

Lines changed: 36 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -728,15 +728,13 @@ This section must be completed when targeting alpha to a release.
728728
Pick one of these and delete the rest.
729729
-->
730730

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
733733
- 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
740738

741739
###### Does enabling the feature change any default behavior?
742740

@@ -745,6 +743,8 @@ Any change of default behavior may be surprising to users or break existing
745743
automations, so be extremely careful here.
746744
-->
747745

746+
No.
747+
748748
###### Can the feature be disabled once it has been enabled (i.e. can we roll back the enablement)?
749749

750750
<!--
@@ -754,8 +754,16 @@ feature, can it break the existing applications?).
754754
NOTE: Also set `disable-supported` to `true` or `false` in `kep.yaml`.
755755
-->
756756

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+
757761
###### What happens if we reenable the feature if it was previously rolled back?
758762

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+
759767
###### Are there any tests for feature enablement/disablement?
760768

761769
<!--
@@ -765,6 +773,10 @@ with and without the feature, are necessary. At the very least, think about
765773
conversion tests if API types are being modified.
766774
-->
767775

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+
768780
### Rollout, Upgrade and Rollback Planning
769781

770782
<!--
@@ -895,6 +907,8 @@ Focusing mostly on:
895907
heartbeats, leader election, etc.)
896908
-->
897909

910+
No.
911+
898912
###### Will enabling / using this feature result in introducing new API types?
899913

900914
<!--
@@ -904,6 +918,12 @@ Describe them, providing:
904918
- Supported number of objects per namespace (for namespace-scoped objects)
905919
-->
906920

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+
907927
###### Will enabling / using this feature result in any new calls to the cloud provider?
908928

909929
<!--
@@ -912,6 +932,8 @@ Describe them, providing:
912932
- Estimated increase:
913933
-->
914934

935+
No.
936+
915937
###### Will enabling / using this feature result in increasing size or count of the existing API objects?
916938

917939
<!--
@@ -921,6 +943,8 @@ Describe them, providing:
921943
- Estimated amount of new objects: (e.g., new Object X for every existing Pod)
922944
-->
923945

946+
No.
947+
924948
###### Will enabling / using this feature result in increasing time taken by any operations covered by existing SLIs/SLOs?
925949

926950
<!--
@@ -932,6 +956,8 @@ Think about adding additional work or introducing new steps in between
932956
[existing SLIs/SLOs]: https://git.k8s.io/community/sig-scalability/slos/slos.md#kubernetes-slisslos
933957
-->
934958

959+
No.
960+
935961
###### Will enabling / using this feature result in non-negligible increase of resource usage (CPU, RAM, disk, IO, ...) in any components?
936962

937963
<!--
@@ -944,6 +970,8 @@ This through this both in small and large cases, again with respect to the
944970
[supported limits]: https://git.k8s.io/community//sig-scalability/configs-and-limits/thresholds.md
945971
-->
946972

973+
No, the solution will involve using the same ActualStateOfWorld cache in kubelet.
974+
947975
### Troubleshooting
948976

949977
<!--

keps/sig-storage/2485-read-write-once-pod-pv-access-mode/kep.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,12 @@ milestone:
3434
# The following PRR answers are required at alpha release
3535
# List the feature gate name and the components for which it must be enabled
3636
feature-gates:
37+
- name: ReadWriteOncePod
38+
components:
39+
- kube-apiserver
40+
- kube-controller-manager
41+
- kube-scheduler
42+
- kubelet
3743
disable-supported: true
3844

3945
# The following PRR answers are required at beta release

0 commit comments

Comments
 (0)