@@ -131,9 +131,9 @@ functions (e.g. `pkg/apis/<group>/validation/validation.go`).
131
131
132
132
* Validation - ensuring only one member field is set (or at most one if
133
133
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.
137
137
138
138
### Non-Goals
139
139
@@ -675,8 +675,9 @@ Yes, requests will simply skip union validation and normalization.
675
675
676
676
###### What happens if we reenable the feature if it was previously rolled back?
677
677
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.
680
681
681
682
###### Are there any tests for feature enablement/disablement?
682
683
@@ -693,6 +694,10 @@ You can take a look at one potential example of such test in:
693
694
https://github.com/kubernetes/kubernetes/pull/97058/files#diff-7826f7adbc1996a05ab52e3f5f02429e94b68ce6bce0dc534d1be636154fded3R246-R282
694
695
-->
695
696
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
+
696
701
### Rollout, Upgrade and Rollback Planning
697
702
698
703
<!--
@@ -715,7 +720,9 @@ will rollout across nodes.
715
720
716
721
###### What specific metrics should inform a rollback?
717
722
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
+
719
726
<!--
720
727
What signals should users be paying attention to when the feature is young
721
728
that might indicate a serious problem?
0 commit comments