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

Probe.SuccessThreshold validation is contextual (bad) #81301

Open
thockin opened this issue Aug 12, 2019 · 11 comments
Open

Probe.SuccessThreshold validation is contextual (bad) #81301

thockin opened this issue Aug 12, 2019 · 11 comments
Assignees
Labels
kind/bug Categorizes issue or PR as related to a bug. lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. priority/backlog Higher priority than priority/awaiting-more-evidence. sig/node Categorizes an issue or PR as relevant to SIG Node. triage/accepted Indicates an issue or PR is ready to be actively worked on.

Comments

@thockin
Copy link
Member

thockin commented Aug 12, 2019

Comments for this field (staging/src/k8s.io/api/core/v1/types.go) say "Must be 1 for liveness" and #77807 is adding startup in the same way.

This is kind of gross API. It would be nice if we could just make that field work normally for those contexts (I am not sure why we don't want it to work, even if it is odd).

/kind bug
/sig node

@k8s-ci-robot k8s-ci-robot added kind/bug Categorizes issue or PR as related to a bug. sig/node Categorizes an issue or PR as relevant to SIG Node. labels Aug 12, 2019
@fejta-bot
Copy link

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle stale

@k8s-ci-robot k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Nov 10, 2019
@thockin
Copy link
Member Author

thockin commented Nov 11, 2019

/lifecycle frozen
/remove-lifecycle stale
/remove-lifecycle rotten

@k8s-ci-robot k8s-ci-robot added lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. and removed lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. labels Nov 11, 2019
@matthyx
Copy link
Contributor

matthyx commented May 21, 2021

@thockin is it still something that requires a fix in the current API?
/assign

@matthyx
Copy link
Contributor

matthyx commented Jun 25, 2021

@thockin can you please elaborate?
/triage needs-information

@k8s-ci-robot k8s-ci-robot added the triage/needs-information Indicates an issue needs more information in order to work on it. label Jun 25, 2021
@kannon92 kannon92 moved this to Needs Information in SIG Node Bugs Jul 22, 2024
@AnishShah
Copy link
Contributor

sig-node triage meeting:

@thockin is suggesting startupProbes to have success threshold as 2

/triage accepted
/priority backlog

@k8s-ci-robot k8s-ci-robot added triage/accepted Indicates an issue or PR is ready to be actively worked on. priority/backlog Higher priority than priority/awaiting-more-evidence. labels Jul 31, 2024
@AnishShah AnishShah moved this from Needs Information to Triaged in SIG Node Bugs Jul 31, 2024
@thockin
Copy link
Member Author

thockin commented Jul 31, 2024

The issue I meant is that the API has a field which CAN be changed, but MUST NOT be changed in some contexts. A field which "must be 1" should not exist.

@SergeyKanzhelev
Copy link
Member

/remove-triage needs-information

@k8s-ci-robot k8s-ci-robot removed the triage/needs-information Indicates an issue needs more information in order to work on it. label Aug 11, 2024
@matthyx
Copy link
Contributor

matthyx commented Aug 11, 2024

Actually I don't see why it should not be changed to something bigger than 1... what could go wrong?
Here is the code.

Maybe we just have to edit the comment and label this issue as a documentation one.

@thockin
Copy link
Member Author

thockin commented Aug 12, 2024

#106025

The prooblem is it implies an in-between state that is neither "fully alive" nor "dead enough to restart", which has no bounds on time and unclear semantics.

Specifically, the discussion from #106025 (comment) and down. I could be OK with it, if we define the semantics, but it's not as simple as I originally thought when I opened that PR (shocking, I know).

@matthyx
Copy link
Contributor

matthyx commented Aug 12, 2024

I see, and what if we simply ignore the value and default to 1 with liveness and startup, updating the comments to have proper documentation?

@thockin
Copy link
Member Author

thockin commented Aug 12, 2024

As a general rule, we don't want to change any input a user specifically provided. If they say nothing, we can default it. If they say 42, we cannot unilaterally change it to 1 (or risk incurring an apply loop, where the client says "I wanted 42", they update to 42, we blast it back to 1, repeat. Better to fail.

startupProbe seems logical, but livenessProbe needs more semantic definition.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/bug Categorizes issue or PR as related to a bug. lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. priority/backlog Higher priority than priority/awaiting-more-evidence. sig/node Categorizes an issue or PR as relevant to SIG Node. triage/accepted Indicates an issue or PR is ready to be actively worked on.
Projects
Status: Triaged
Development

No branches or pull requests

6 participants