Skip to content

Commit 77caf1d

Browse files
committed
More review comments
1 parent 1f882b9 commit 77caf1d

File tree

1 file changed

+11
-15
lines changed
  • keps/sig-storage/1495-volume-populators

1 file changed

+11
-15
lines changed

keps/sig-storage/1495-volume-populators/README.md

Lines changed: 11 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,4 @@
1-
<<<<<<< HEAD:keps/sig-storage/1495-generic-data-populators/README.md
2-
# Generic Data Populators
3-
=======
41
# Volume Populators
5-
>>>>>>> Reformat populators KEP:keps/sig-storage/1495-volume-populators/README.md
62

73
## Table of Contents
84

@@ -120,7 +116,8 @@ objects and generate events on objects with data sources that are not considered
120116
determine which data sources are valid a new CRD will be introduced valled `VolumePopulator`
121117
which will allow actual data populator controllers to register the API `groups`/`kinds` that
122118
they understand with the `data-source-validator` controller. If a PVC has a data source that
123-
matches the `group`/`kind` of a registered `VolumePopulator` the controller will ignore it.
119+
matches the `group`/`kind` of a registered `VolumePopulator` the controller will consider
120+
it valid and emit no events, relying on the actual populator to give feedback to the user.
124121

125122
Instances of the VolumePopulator CRD will look like:
126123

@@ -136,8 +133,8 @@ sourceKind:
136133

137134
In this model there will be 4 sources of feedback to the end user:
138135
1. The API server will reject core objects other than PVCs with it current behavior, which
139-
is to accept the PVC but to blank out the data source. The is backwards compatible, and
140-
appropriate becuse we don't expect any existing core object (other than a PVC) to be a
136+
is to accept the PVC but to blank out the data source. This is backwards compatible, and
137+
appropriate because we don't expect any existing core object (other than a PVC) to be a
141138
valid data source.
142139
1. For data sources that refer to a unknown group/kind, the data-source-validator will emit
143140
an event on the PVC informing the user that the PVC is currently not being acted on, so
@@ -146,7 +143,7 @@ In this model there will be 4 sources of feedback to the end user:
146143
install the actual populator, in which case they can do so, and the PVC will eventually
147144
bind if all of the installation steps succeed.
148145
1. For every PVC under the responsibility of a CSI driver, the provisioner sidecar for that
149-
PVR will emit an event explaining that the sidecar is not taking action on the PVC,
146+
PVC will emit an event explaining that the sidecar is not taking action on the PVC,
150147
assuming the data source is something that a populator is responsible for and not a
151148
PVC or VolumeSnapshot, which the sidecar is responsible for.
152149
1. For data source that refer to a known group/kind the populator controller itself should
@@ -268,12 +265,12 @@ for this purpose. We would expect such a PVC to be ignored by existing
268265
dynamic provisioners.
269266

270267
To test the data-source-validator, we need to check the following cases:
271-
- Creation of a PVC with no datasource is ignored
272-
- Creation of a PVC with a VolumeSnapshot or PVC datasource is ignored
268+
- Creation of a PVC with no datasource causes no events
269+
- Creation of a PVC with a VolumeSnapshot or PVC datasource causes no events
273270
- Creation of a PVC with a CRD datasource that's not registered by any
274-
volume populator causes events.
271+
volume populator causes UnrecognizedDataSourceKind events.
275272
- Creation of a PVC with a CRD datasource that's registered by a
276-
volume populator is ignored.
273+
volume populator causes no events.
277274

278275
### Graduation Criteria
279276

@@ -335,9 +332,8 @@ _This section must be completed when targeting alpha to a release._
335332
Before this feature, kube API server would silently drop any PVC data source
336333
that it didn't recognize, as if the client never populated the field. After
337334
enabling this feature, the API server allows any object to be specified.
338-
An external admission controller will take over validation of the field,
339-
and its response to invalid data sources will be to fail the create operation,
340-
rather than silently drop them.
335+
The data-source-validator controller will emit events for PVCs if the data
336+
source is not recognized as one which is be handled by another controller.
341337

342338
* **Can the feature be disabled once it has been enabled (i.e. can we roll back
343339
the enablement)?**

0 commit comments

Comments
 (0)