@@ -32,10 +32,10 @@ Items marked with (R) are required *prior to targeting to a milestone / release*
32
32
- [x] (R) Design details are appropriately documented
33
33
- [x] (R) Test plan is in place, giving consideration to SIG Architecture and SIG Testing input
34
34
- [x] (R) Graduation criteria is in place
35
- - [ ] (R) Production readiness review completed
36
- - [ ] Production readiness review approved
37
- - [ ] "Implementation History" section is up-to-date for milestone
38
- - [ ] User-facing documentation has been created in [ kubernetes/website] , for publication to [ kubernetes.io]
35
+ - [x ] (R) Production readiness review completed
36
+ - [x ] Production readiness review approved
37
+ - [x ] "Implementation History" section is up-to-date for milestone
38
+ - [x ] User-facing documentation has been created in [ kubernetes/website] , for publication to [ kubernetes.io]
39
39
- [ ] Supporting documentation e.g., additional design documents, links to mailing list discussions/SIG meetings, relevant PRs/issues, release notes
40
40
41
41
[ kubernetes.io ] : https://kubernetes.io/
@@ -140,15 +140,12 @@ A test plan will include the following tests:
140
140
141
141
* Alpha in 1.19 provided all tests are passing.
142
142
* All functionality is guarded by a new alpha ` CSIVolumeFSGroupPolicy ` feature gate.
143
-
144
143
* Beta in 1.20 with design validated by at least two customer deployments
145
144
(non-production), with discussions in SIG-Storage regarding success of
146
145
deployments.
147
146
* The ` CSIVolumeFSGroupPolicy ` feature gate will graduate to beta.
148
147
* E2E tests
149
-
150
-
151
- * GA in 1.21, with E2E tests in place tagged with feature Storage.
148
+ * GA in 1.23, with E2E tests in place tagged with feature Storage.
152
149
* The ` CSIVolumeFSGroupPolicy ` feature gate will graduate to GA.
153
150
154
151
[ issues ] : https://github.com/kubernetes/enhancements/issues/1682
@@ -182,25 +179,54 @@ A test plan will include the following tests:
182
179
183
180
### Rollout, Upgrade and Rollback Planning
184
181
185
- _ This section must be completed when targeting beta graduation to a release._
186
-
187
182
* ** How can a rollout fail? Can it impact already running workloads?**
188
- Try to be as paranoid as possible - e.g. what if some components will restart
189
- in the middle of rollout?
183
+ No, a rollout should not impact running workloads, since the default behavior
184
+ remains the same and using this feature requires a change to the CSIDriver.
190
185
191
186
* ** What specific metrics should inform a rollback?**
187
+ No known rollback criteria.
192
188
193
189
* ** Were upgrade and rollback tested? Was upgrade->downgrade->upgrade path tested?**
194
- Describe manual testing that was done and the outcomes.
195
- Longer term, we may want to require automated upgrade/rollback tests, but we
196
- are missing a bunch of machinery and tooling and do that now .
190
+ The upgrade->downgrade->upgrade path should work fine--if the new field is
191
+ not present in the CSIDriver object, it defaults to current heuristic of
192
+ looking at fstype and RWO volumes for applying fsgroups .
197
193
198
194
* ** Is the rollout accompanied by any deprecations and/or removals of features,
199
195
APIs, fields of API types, flags, etc.?**
200
- Even if applying deprecation policies, they may still surprise some users .
196
+ No, this feature does not deprecate any existing functionality .
201
197
202
198
### Monitoring requirements
203
199
200
+ ###### How can an operator determine if the feature is in use by workloads?
201
+
202
+ Check if ` CSIDriver.Spec.FSGroupPolicy ` is used on any CSIDriver objects.
203
+
204
+ ###### How can someone using this feature know that it is working for their instance?
205
+
206
+ - [x] Other (treat as last resort)
207
+ - Details:
208
+ This is not an end user feature. Only cluster admins can configure ` CSIDriver `
209
+ objects. To verify the feature is functioning, they can review kubelet log
210
+ messages from ` mounter.SetupAt ` .
211
+
212
+ ###### What are the reasonable SLOs (Service Level Objectives) for the enhancement?
213
+
214
+ - No increased failure rates during mount operations.
215
+ - Mount times should be expected to be less than or equal to the default behavior.
216
+
217
+ ###### What are the SLIs (Service Level Indicators) an operator can use to determine the health of the service?
218
+
219
+ - [x] Metrics
220
+ - Metric name: storage_operation_duration_seconds
221
+ - [ Optional] Aggregation method: filter by ` operation_name = volume_mount `
222
+ - Components exposing the metric: kubelet
223
+
224
+ There should be no change in ` status: fail-unknown ` once ` CSIDriver.Spec.FSGroupPolicy ` is set.
225
+
226
+ ###### Are there any missing metrics that would be useful to have to improve observability of this feature?
227
+
228
+ No additional metrics needed for this new API field.
229
+
204
230
### Dependencies
205
231
206
232
* ** Does this feature depend on any specific services running in the cluster?**
@@ -238,4 +264,5 @@ There should be no noticeable increase to resource usage for any components.
238
264
239
265
- 2020-04-27 Initial KEP pull request submitted
240
266
- 2020-05-12 Updated to use new KEP template
241
- - 2020-09-25 Moved E2E Tests for beta target
267
+ - 2020-09-25 Moved E2E Tests for beta target
268
+ - 2020-11-12 Feature moved to beta
0 commit comments