-
Notifications
You must be signed in to change notification settings - Fork 39k
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
Add Terminating Condition to EndpointSlice #92968
Add Terminating Condition to EndpointSlice #92968
Conversation
/retest |
5 similar comments
/retest |
/retest |
/retest |
/retest |
/retest |
8d79ac2
to
9c69bca
Compare
/retest |
1 similar comment
/retest |
/milestone v1.20 |
@robscott comments addressed, PTAL |
So the implied third state here is `!Ready && !Draining` which can only
mean !serving, regardless of terminating or not.
This is a little different than the discussion, but I am not sure it is
meaningful. Andrew?
…On Mon, Nov 2, 2020 at 11:27 AM Rob Scott ***@***.***> wrote:
***@***.**** commented on this pull request.
------------------------------
In pkg/apis/discovery/types.go
<#92968 (comment)>
:
> + // terminating indicates that this endpoint is terminating. A nil value indicates an
+ // unknown state. Consumers should interpret this unknown state to mean that the
+ // endpoint is not terminating.
Thanks for the context here, it was helpful to read through the previous
conversation around this. One of the points that stood out to me was:
Sending traffic to any pod that fails readiness seems like we're breaking
API contract. I'm personally in favor of only falling back to {R, T}
endpoints
That makes it sound like there's no value in tracking endpoints that are !Ready
&& Terminating. As a variation of what Tim said above, maybe we could use
2 conditions that were defined as the following:
ready: serving && !terminating
draining: serving && terminating
Those conditions should never be true at the same time. I'm not sure that
draining is the appropriate term here, I just wanted to throw out an
alternative to terminating since that may be too broad for what I'm
suggesting.
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
<#92968 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABKWAVCBUXN7WV2KGRWECMLSN4B3JANCNFSM4OWYAVFA>
.
|
Alternative naming proposal for conditions:
Kinda awkward to have a |
Going to update the condition name to |
393344e
to
8b1bf04
Compare
@andrewsykim: The following test failed, say
Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here. |
/retest |
8b1bf04
to
630b8bb
Compare
Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
…ting' Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
…minating' Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
…bles Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
…erminating endpoints Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
630b8bb
to
7cf19e5
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'll leave the EPSlice logic and final LGTM to @robscott but API-wise I am OK with this.
/approve
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: andrewsykim, thockin 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 |
Thanks! /lgtm |
What type of PR is this?
/kind feature
What this PR does / why we need it:
Adds a
serving
andterminating
condition to EndpointSlice as proposed in this KEP.Which issue(s) this PR fixes:
https://github.com/kubernetes/enhancements/tree/master/keps/sig-network/1672-tracking-terminating-endpoints
Special notes for your reviewer:
Does this PR introduce a user-facing change?:
Additional documentation e.g., KEPs (Kubernetes Enhancement Proposals), usage docs, etc.: