Skip to content

Commit f70cf5b

Browse files
authored
Merge pull request #2199 from rikatz/port-range-review-prr
Add some more answers into PRR review in EndPort kep
2 parents e76ef66 + 0a942c3 commit f70cf5b

File tree

3 files changed

+40
-9
lines changed

3 files changed

+40
-9
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
kep-number: 2079
2+
alpha:
3+
approver: "@wojtek-t"

keps/sig-network/2079-network-policy-port-range/README.md

+36-8
Original file line numberDiff line numberDiff line change
@@ -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
282310
previous 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
291319
provider?**
@@ -295,7 +323,7 @@ provider?**
295323
the 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

keps/sig-network/2079-network-policy-port-range/kep.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ stage: alpha
1818
# The most recent milestone for which work toward delivery of this KEP has been
1919
# done. This can be the current (upcoming) milestone, if it is being actively
2020
# worked on.
21-
# latest-milestone: "v1.21"
21+
latest-milestone: "v1.21"
2222

2323
# The milestone at which this feature was, or is targeted to be, at each stage.
2424
milestone:

0 commit comments

Comments
 (0)