@@ -232,20 +232,48 @@ _This section must be completed when targeting alpha to a release._
232232
233233* ** Can the feature be disabled once it has been enabled (i.e. can we roll back
234234 the enablement)?**
235- Yes, but CNIs relying on the new field wont recognize it anymore
235+
236+ Yes. One caveat here is that NetworkPolicies created with EndPort field set
237+ when the feature was enabled will continue to have that field set when the
238+ feature is disabled unless user removes it from the object.
239+
240+ If the value is dropped with the FeatureGate disabled, the field can only
241+ be re-inserted if feature gate is enabled again.
242+
243+ Rolling back the Kubernetes API Server that does not have this field
244+ will make the field not be returned anymore on GET operations,
245+ so CNIs relying on the new field wont recognize it anymore.
246+
247+ If this happens, CNIs will recognize the policy as a single port instead of a
248+ port range, which may break users, which is inevitable but satisfies the
249+ fail-closed requirement.
236250
237251* ** What happens if we reenable the feature if it was previously rolled back?**
238- Nothing. Just need to check if the data is persisted in ` etcd ` after the
239- feature is disabled and reenabled or if the data is missed
252+ Nothing.
240253
241254* ** Are there any tests for feature enablement/disablement?**
242255
243- TBD
256+ No - unit tests will be added later.
244257
245- ### Monitoring Requirements
258+ ### Rollout, Upgrade and Rollback Planning
246259
247260_ This section must be completed when targeting beta graduation to a release._
261+ * ** How can a rollout fail? Can it impact already running workloads?**
262+ Not probably, but still there's the risk of some bug that fails validation,
263+ or conversion function crashes.
264+
265+ * ** What specific metrics should inform a rollback?**
266+ The increase of 5xx http error count on Network Policies Endpoint
267+
268+ * ** Were upgrade and rollback tested? Was the upgrade->downgrade->upgrade path tested?**
269+ This will be done.
248270
271+ * ** Is the rollout accompanied by any deprecations and/or removals of features, APIs,
272+ None
273+
274+ ### Monitoring Requirements
275+
276+ _ This section must be completed when targeting beta graduation to a release._
249277* ** How can an operator determine if the feature is in use by workloads?**
250278
251279 Operators can determine if NetworkPolicies are making use of EndPort creating
@@ -282,10 +310,10 @@ _For GA, this section is required: approvers should be able to confirm the
282310previous answers based on experience in the field._
283311
284312* ** Will enabling / using this feature result in any new API calls?**
285- TBD
313+ No
286314
287315* ** Will enabling / using this feature result in introducing new API types?**
288- No, unless the new ` EndPort ` is considered a new API type
316+ No
289317
290318* ** Will enabling / using this feature result in any new calls to the cloud
291319provider?**
@@ -295,7 +323,7 @@ provider?**
295323the existing API objects?**
296324
297325 - API type(s): NetworkPolicyPorts
298- - Estimated increase in size: 2 bytes for each new ` EndPort ` specified
326+ - Estimated increase in size: 2 bytes for each new ` EndPort ` value specified + the field name/number in its serialized format
299327 - Estimated amount of new objects: N/A
300328
301329* ** Will enabling / using this feature result in increasing time taken by any
0 commit comments