Skip to content

Commit 921f0a0

Browse files
committed
Address deads2k feedback
1 parent e76861b commit 921f0a0

File tree

1 file changed

+13
-6
lines changed
  • keps/sig-api-machinery/1027-api-unions

1 file changed

+13
-6
lines changed

keps/sig-api-machinery/1027-api-unions/README.md

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -131,9 +131,9 @@ functions (e.g. `pkg/apis/<group>/validation/validation.go`).
131131

132132
* Validation - ensuring only one member field is set (or at most one if
133133
desired).
134-
* Normalization - ensuring the API server can modify the fields of the oneOf to
135-
best match the intent of the client, despite the client potentially having
136-
incomplete information
134+
* Normalization - ensuring the API server can understand the intent of clients
135+
that are unable to update/modify fields the clients are unaware of due to
136+
version skew.
137137

138138
### Non-Goals
139139

@@ -675,8 +675,9 @@ Yes, requests will simply skip union validation and normalization.
675675

676676
###### What happens if we reenable the feature if it was previously rolled back?
677677

678-
Requests will resume performing union validation and normalization; there is no
679-
persistent state behind this feature.
678+
Custom resources that were skipping union validation when when the feature was
679+
rolled back may have allowed invalid data to persist. These must be updated to
680+
have valid data.
680681

681682
###### Are there any tests for feature enablement/disablement?
682683

@@ -693,6 +694,10 @@ You can take a look at one potential example of such test in:
693694
https://github.com/kubernetes/kubernetes/pull/97058/files#diff-7826f7adbc1996a05ab52e3f5f02429e94b68ce6bce0dc534d1be636154fded3R246-R282
694695
-->
695696

697+
We will have integration tests demonstrating how CRs with persisted invalid data
698+
will need to be corrected when the feature is re-enabled (and requires more
699+
strict union validation).
700+
696701
### Rollout, Upgrade and Rollback Planning
697702

698703
<!--
@@ -715,7 +720,9 @@ will rollout across nodes.
715720

716721
###### What specific metrics should inform a rollback?
717722

718-
N/A
723+
* `apiserver_request_total` could be watched to see if the number of create and
724+
update requests that are failing increase substantially.
725+
719726
<!--
720727
What signals should users be paying attention to when the feature is young
721728
that might indicate a serious problem?

0 commit comments

Comments
 (0)