Skip to content

Commit edf0037

Browse files
committed
Graduate ReadWriteOncePod to GA
1 parent 16d5ddf commit edf0037

File tree

3 files changed

+48
-11
lines changed

3 files changed

+48
-11
lines changed

keps/prod-readiness/sig-storage/2485.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,5 @@ alpha:
33
approver: "@ehashman"
44
beta:
55
approver: "@deads2k"
6+
stable:
7+
approver: "@deads2k"

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

Lines changed: 43 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -988,7 +988,7 @@ for mount behavior (if the the feature gate is enabled).
988988
This section must be completed when targeting beta to a release.
989989
-->
990990

991-
###### How can a rollout fail? Can it impact already running workloads?
991+
###### How can a rollout or rollback fail? Can it impact already running workloads?
992992

993993
<!--
994994
Try to be as paranoid as possible - e.g., what if some components will restart
@@ -1086,19 +1086,28 @@ An operator can query for PersistentVolumeClaims and PersistentVolumes in the
10861086
cluster with the ReadWriteOncePod access mode. If any exist then the feature is
10871087
in use.
10881088

1089-
###### What are the SLIs (Service Level Indicators) an operator can use to determine the health of the service?
1089+
###### How can someone using this feature know that it is working for their instance?
10901090

10911091
<!--
1092+
For instance, if this is a pod-related feature, it should be possible to determine if the feature is functioning properly
1093+
for each individual pod.
10921094
Pick one more of these and delete the rest.
1095+
Please describe all items visible to end users below with sufficient detail so that they can verify correct enablement
1096+
and operation of this feature.
1097+
Recall that end users cannot usually observe component logs or access metrics.
10931098
-->
10941099

1095-
- [X] Metrics
1096-
- Metric name: `scheduler_unschedulable_pods{plugin="VolumeRestrictions"}`
1097-
- [Optional] Aggregation method:
1098-
- Components exposing the metric:
1099-
- kube-scheduler
1100+
- [X] Other
1101+
- Details:
1102+
- Create two Pods using the same PersistentVolumeClaim with the ReadWriteOncePod access mode
1103+
- (If cluster access available) A PersistentVolume should be created with `.status.phase=Bound`
1104+
- A PersistentVolumeClaim should be created with `.status.phase=Bound` and have ExternalProvisioning, Provisioning, and ProvisioningSucceeded events
1105+
- (If cluster access available) A VolumeAttachment should be created with `.status.attached=True`
1106+
- One Pod should have a SuccessfulAttachVolume event and its Ready status condition set to True
1107+
- The other Pod should have a PodScheduled status condition set to False wth reason "Unschedulable" and FailedScheduling events
1108+
- The successful Pod should be able to access the volume at the provided mount path
11001109

1101-
###### What are the reasonable SLOs (Service Level Objectives) for the above SLIs?
1110+
###### What are the reasonable SLOs (Service Level Objectives) for the enhancement?
11021111

11031112
<!--
11041113
At a high level, this usually will be in the form of "high percentile of SLI
@@ -1127,6 +1136,18 @@ kubelet.
11271136
You may also see an increase in the `csi_sidecar_operations_seconds_bucket`
11281137
metric exported by CSI sidecars if there are issues performing CSI operations.
11291138

1139+
###### What are the SLIs (Service Level Indicators) an operator can use to determine the health of the service?
1140+
1141+
<!--
1142+
Pick one more of these and delete the rest.
1143+
-->
1144+
1145+
- [X] Metrics
1146+
- Metric name: `scheduler_unschedulable_pods{plugin="VolumeRestrictions"}`
1147+
- [Optional] Aggregation method:
1148+
- Components exposing the metric:
1149+
- kube-scheduler
1150+
11301151
###### Are there any missing metrics that would be useful to have to improve observability of this feature?
11311152

11321153
<!--
@@ -1263,6 +1284,20 @@ This through this both in small and large cases, again with respect to the
12631284

12641285
No, the solution will involve using the same ActualStateOfWorld cache in kubelet.
12651286

1287+
###### Can enabling / using this feature result in resource exhaustion of some node resources (PIDs, sockets, inodes, etc.)?
1288+
1289+
<!--
1290+
Focus not just on happy cases, but primarily on more pathological cases
1291+
(e.g. probes taking a minute instead of milliseconds, failed pods consuming resources, etc.).
1292+
If any of the resources can be exhausted, how this is mitigated with the existing limits
1293+
(e.g. pods per node) or new limits added by this KEP?
1294+
1295+
Are there any tests that were run/should be run to understand performance characteristics better
1296+
and validate the declared limits?
1297+
-->
1298+
1299+
No.
1300+
12661301
### Troubleshooting
12671302

12681303
<!--

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,18 +20,18 @@ see-also:
2020
replaces:
2121

2222
# The target maturity stage in the current dev cycle for this KEP.
23-
stage: beta
23+
stage: stable
2424

2525
# The most recent milestone for which work toward delivery of this KEP has been
2626
# done. This can be the current (upcoming) milestone, if it is being actively
2727
# worked on.
28-
latest-milestone: "v1.27"
28+
latest-milestone: "v1.29"
2929

3030
# The milestone at which this feature was, or is targeted to be, at each stage.
3131
milestone:
3232
alpha: "v1.22"
3333
beta: "v1.27"
34-
stable: TBD
34+
stable: "v1.29"
3535

3636
# The following PRR answers are required at alpha release
3737
# List the feature gate name and the components for which it must be enabled

0 commit comments

Comments
 (0)