-
Notifications
You must be signed in to change notification settings - Fork 14.6k
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
Updated docs for EndpointSliceTerminatingCondition #38390
Conversation
✅ Pull request preview available for checkingBuilt without sensitive environment variables
To edit notification comments on pull requests, go to your Netlify site settings. |
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.
Thanks
LGTM
Thanks @YashPimple /lgtm |
@@ -87,16 +87,16 @@ The three conditions are `ready`, `serving`, and `terminating`. | |||
|
|||
#### Ready | |||
|
|||
`ready` is a condition that maps to a Pod's `Ready` condition. A running Pod with the `Ready` | |||
condition set to `True` should have this EndpointSlice condition also set to `true`. For | |||
`ready` is a condition that maps to a Pod's `ready` condition. A running Pod with the `ready` |
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.
No. Pod's condition is called Ready
, not ready
.
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.
@YashPimple Please do the changes according to the suggestion. It slipped away from my sight!
/lgtm cancel We should not use the wrong condition name. |
Resolved issue kubernetes#38390 as per instructed.
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
`ready` is a condition that maps to a Pod's `Ready` condition. A running Pod with the `Ready` | ||
condition set to `True` should have this EndpointSlice condition also set to `true`. For | ||
compatibility reasons, `ready` is NEVER `true` when a Pod is terminating. Consumers should refer | ||
`Ready` is a condition that maps to a Pod's `Ready` condition. A running Pod with the `Ready` |
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.
Checked the source code. For Endpoints, the unofficial condition type is ready
, for Pod, the official condition type is Ready
. This inconsistency is annoying, but it is the fact to be documented.
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.
unofficial
But part of Kubernetes, right?
We might want to (separately) sprinkle some note shortcodes to point out the oddness.
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.
From elsewhere in the file:
`Terminating` is a condition that indicates whether an endpoint is terminating.
Is that actually terminating
?
`Ready` is a condition that maps to a Pod's `Ready` condition. A running Pod with the `Ready` | ||
condition set to `true` should have this EndpointSlice condition also set to `true`. For | ||
compatibility reasons, `Ready` is NEVER `true` when a Pod is terminating. Consumers should refer |
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.
OK, so is this right?
`Ready` is a condition that maps to a Pod's `Ready` condition. A running Pod with the `Ready` | |
condition set to `true` should have this EndpointSlice condition also set to `true`. For | |
compatibility reasons, `Ready` is NEVER `true` when a Pod is terminating. Consumers should refer | |
For an EndpointSlice, `ready` is a condition that maps to a Pod's `Ready` condition. A running Pod with | |
the `Ready` condition set to `true` should have any related EndpointSlice `ready` condition (in all-lowercase) | |
also set to `true`. For compatibility reasons, `ready` for an EndpointSlice is **never** `true` when a Pod is | |
terminating. Consumers should refer |
this rule is for Services with `spec.publishNotReadyAddresses` set to `true`. Endpoints for these | ||
Services will always have the `ready` condition set to `true`. | ||
Services will always have the `Ready` condition set to `true`. |
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.
this rule is for Services with `spec.publishNotReadyAddresses` set to `true`. Endpoints for these | |
Services will always have the `ready` condition set to `true`. | |
Services will always have the `Ready` condition set to `true`. | |
this rule is for Services where `spec.publishNotReadyAddresses` is set to `true`. For such | |
Services, any endpoints always have the `ready` condition set to `true`. |
(Aside: I wonder what serving
is set to if a Service has .spec.publishNotReadyAddresses
set to true
)
|
||
`serving` is identical to the `ready` condition, except it does not account for terminating states. | ||
`serving` is identical to the `Ready` condition, except it does not account for terminating states. |
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.
Is this right?
`serving` is identical to the `Ready` condition, except it does not account for terminating states. | |
The `serving` condition is almost identical to the `ready` condition. The difference is that | |
`serving` continues checking the actual Pod status during Pod termination, whereas `ready` | |
turns `false` the moment that the Pod starts to terminate. |
|
||
`serving` is identical to the `ready` condition, except it does not account for terminating states. | ||
`serving` is identical to the `Ready` condition, except it does not account for terminating states. | ||
Consumers of the EndpointSlice API should check this condition if they care about pod readiness while |
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.
Consumers of the EndpointSlice API should check this condition if they care about pod readiness while | |
Consumers of the EndpointSlice API should check `serving` if they care about pod readiness while |
@YashPimple: PR needs rebase. 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. |
👋🏻 @YashPimple Please do the changes suggested above and rebase your PR too. Here are some references/tips: Another option would be: Thank you. |
Replaced by #38701 |
* Rebased issue kubernetes#38390 * Updated endpoint-slices.md Resolved issue kubernetes#38701 * Updated endpoint-slice.md * endpoint-slice.md * New endpoint-slice.md file * Updated endpoint-slice.md
Resolved Issue #38387 Stale docs for EndpointSliceTerminatingCondition
Made a new PR, similar to #37913, but targeting the main branch as per Instructed.