Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

KEP-1669: promote ProxyTerminatingEndpoints to Beta #3505

Merged
merged 5 commits into from
Oct 2, 2022

Conversation

andrewsykim
Copy link
Member

@andrewsykim andrewsykim commented Sep 12, 2022

Signed-off-by: Andrew Sy Kim andrewsy@google.com

  • One-line PR description:

Promote ProxyTerminatingEndpoints feature to Beta (alpha since v1.24). #1669

  • Issue link:
  • Other comments:

@k8s-ci-robot k8s-ci-robot added the cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. label Sep 12, 2022
@k8s-ci-robot k8s-ci-robot added kind/kep Categorizes KEP tracking issues and PRs modifying the KEP directory sig/network Categorizes an issue or PR as relevant to SIG Network. size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. labels Sep 12, 2022
@@ -21,16 +21,17 @@ see-also:
- https://github.com/kubernetes/kubernetes/issues/85643

# The target maturity stage in the current dev cycle for this KEP.
stage: alpha
stage: beta
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actual KEP changes are light cause we added Beta criteria in previous releases:

#### Beta

* E2E tests are in place, exercising all permutations of internalTrafficPolicy and externalTrafficPolicy.
* Metrics to publish how many Services/Endpoints are routing traffic to terminating endpoints.

@k8s-ci-robot k8s-ci-robot added size/S Denotes a PR that changes 10-29 lines, ignoring generated files. and removed size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. labels Sep 12, 2022
@andrewsykim
Copy link
Member Author

/assign @thockin @wojtek-t

Copy link
Member

@wojtek-t wojtek-t left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Couple comments about the PRR.

@@ -252,7 +253,7 @@ gauge if a rollback is necessary.

###### Were upgrade and rollback tested? Was the upgrade->downgrade->upgrade path tested?

Upgrade->downgrade->upgrade path has not been tested yet. We may want to require this for beta or GA.
Upgrade->downgrade->upgrade testing (manual or automated) will be required for Beta. If tested manually, the steps will be documented in this KEP.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm fine with this for now - but please update the KEP with it before graduating the feature to Beta in k/k (and send the PR doing that to me too).

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yup, will do.

@@ -269,7 +270,7 @@ regardless of their termination state. If this is undesired, workloads should be
###### What are the SLIs (Service Level Indicators) an operator can use to determine the health of the service?

- [X] Metrics
- Metric name: TBD
- Metric name: `sync_proxy_rules_no_endpoints_total`
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm - I was looking for this metric definition in k/k and I can't found it. Does this already exist?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry this is a typo. It's sync_proxy_rules_no_local_endpoints_total https://github.com/kubernetes/kubernetes/blob/master/pkg/proxy/metrics/metrics.go#L152-L162

@@ -185,6 +185,7 @@ All existing E2E tests for Services should continue to pass.

* E2E tests are in place, exercising all permutations of internalTrafficPolicy and externalTrafficPolicy.
* Metrics to publish how many Services/Endpoints are routing traffic to terminating endpoints.
* Rollback testing (manual or automated)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry - can't comment on the untouched lines - so commenting here.

L228: were those tests added?

L250: were those metrics added?

L362: Can you fill this in? [I guess it's probably as simple as "update workloads to properly set readiness probe"]

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also - please adjust the Testing section to the new format.

Copy link
Member Author

@andrewsykim andrewsykim Sep 28, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

L228: were those tests added?

Yes, some examples:
https://github.com/kubernetes/kubernetes/blob/d436f5d0b7eb87f78eb31c12466e2591c24eef59/pkg/proxy/iptables/proxier_test.go#L6114
https://github.com/kubernetes/kubernetes/blob/6e9845f766e4d34620835aaa1e5f864211471a50/pkg/proxy/ipvs/proxier_test.go#L5493

L250: were those metrics added?

Yes, this should be accomplished with sync_proxy_rules_no_local_endpoints_total on a per-node basis.

L362: Can you fill this in? [I guess it's probably as simple as "update workloads to properly set readiness probe"]

Yeah makes sense, sorry I missed this.

Will include these links in the PRR and use the new format.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated, PTAL

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Heh...
Can you just add here sth like "(linked in Test Plan section)".
?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure, updated

Signed-off-by: Andrew Sy Kim <andrewsy@google.com>
…re promotion to Beta

Signed-off-by: Andrew Sy Kim <andrewsy@google.com>
@k8s-ci-robot k8s-ci-robot added size/M Denotes a PR that changes 30-99 lines, ignoring generated files. and removed size/S Denotes a PR that changes 10-29 lines, ignoring generated files. labels Sep 28, 2022
…points_total and fix typo

Signed-off-by: Andrew Sy Kim <andrewsy@google.com>
Copy link
Member

@wojtek-t wojtek-t left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One last minor comment - other than that LGTM.

@@ -185,6 +185,7 @@ All existing E2E tests for Services should continue to pass.

* E2E tests are in place, exercising all permutations of internalTrafficPolicy and externalTrafficPolicy.
* Metrics to publish how many Services/Endpoints are routing traffic to terminating endpoints.
* Rollback testing (manual or automated)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

…ests

Signed-off-by: Andrew Sy Kim <andrewsy@google.com>
… not being met to determine the problem?'

Signed-off-by: Andrew Sy Kim <andrewsy@google.com>
@wojtek-t
Copy link
Member

/label tide/merge-method-squash
/lgtm
/approve PRR

For SIG approval
/assign @thockin

@k8s-ci-robot k8s-ci-robot added tide/merge-method-squash Denotes a PR that should be squashed by tide when it merges. lgtm "Looks good to me", indicates that a PR is ready to be merged. labels Sep 30, 2022
@thockin
Copy link
Member

thockin commented Oct 2, 2022

SIG:

/lgtm
/approve

@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: andrewsykim, thockin, wojtek-t

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Oct 2, 2022
@k8s-ci-robot k8s-ci-robot merged commit 00b3eaf into kubernetes:master Oct 2, 2022
@k8s-ci-robot k8s-ci-robot added this to the v1.26 milestone Oct 2, 2022
ahmedtd pushed a commit to ahmedtd/enhancements that referenced this pull request Feb 2, 2023
* KEP-1669: promote ProxyTerminatingEndpoints to Beta

Signed-off-by: Andrew Sy Kim <andrewsy@google.com>

* KEP-1669: add note that upgrade/downgrade testing should be done before promotion to Beta

Signed-off-by: Andrew Sy Kim <andrewsy@google.com>

* KEP-1669: add more details about metric sync_proxy_rules_no_local_endpoints_total and fix typo

Signed-off-by: Andrew Sy Kim <andrewsy@google.com>

* KEP-1669: use the new test plan format, including links to existing tests

Signed-off-by: Andrew Sy Kim <andrewsy@google.com>

* KEP-1669: answer PRR question 'What steps should be taken if SLOs are not being met to determine the problem?'

Signed-off-by: Andrew Sy Kim <andrewsy@google.com>

Signed-off-by: Andrew Sy Kim <andrewsy@google.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. kind/kep Categorizes KEP tracking issues and PRs modifying the KEP directory lgtm "Looks good to me", indicates that a PR is ready to be merged. sig/network Categorizes an issue or PR as relevant to SIG Network. size/M Denotes a PR that changes 30-99 lines, ignoring generated files. tide/merge-method-squash Denotes a PR that should be squashed by tide when it merges.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants