-
Notifications
You must be signed in to change notification settings - Fork 9.8k
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
Backport pull/13525 to 3.5 #14048
Comments
This is significant behavioural change to backport IMHO in v3.5, especially if the change would get enabled by default. I think it's considered a |
Thanks @ptabor for the feedback. Just to be clearer, there are two cases, and we don't support the first one.
Currently etcd supports both cases in main branch, but only supports case 2 in 3.5.3+. Whether we backport 13525 depends on whether we should support case 1 in 3.5. It is indeed a behavior change and a minor feature, so we shouldn't backport it from this perspective. But it doesn't make sense that a member can't even serve serializable requests due to quorum not satisfied, so it's also a bug to me. So we should backport it from this perspective. Of course, it's open to discussion. Before we reject or approve it, I'd like to get more feedback from others. cc @serathius @spzala @neolit123 |
Looking at the diff for #13525 it seems like a bugfix change and a feature change at the same time. If only the bug fix change can be extracted for a backport the backport would comply with the "no feature backport" rules. E.g. the config change can be omitted and the behaviour can be applied by default with some hardcoded timeout. That of course depends if the behavior is desired by default and how disruptive it would be for users that are opted-in without consent... If its not considered disruptive and desired by all users, then perhaps there is a middle ground for the backport of the bug fix part. |
Hi @ahrtr , |
Yes, both |
Actually I don't insist on cherry picking the PR to 3.5, and I am OK with any approach here. No matter whether we cherry pick the PR or not, the proper way to configure probes for a POD should be something like below,
@ptabor @serathius @spzala Could you please vote which approach (see below) do you prefer to?
@neolit123 Is it OK for you to update the test case or setup/configuration in Kubeadm if we decide not to cherry pick this PR? |
I can update kubeadm if this is not cherry picked, yes. Currenly it has the serialized check for both startup and liveness probes. |
There is no any interests on cherry picking the PR to 3.5, so closing this ticket. |
Previously we backported pull/13399 to 3.5. But we do not backport pull/13525 to 3.5. Probably we need to backport pull/13525 to 3.5 as well.
The key point is etcd can't finish the bootstrap/startup process if the quorum isn't satisfied. So it can't serve any client requests, even serializable requests. It is exactly what the PR pull/13525 fixed.
But once etcd finishes the bootstrap/startup process, it can continue to serve serializable requests if the quorum isn't satisfied.
Normally new feature or enhancement should only go into the main branch, and only bug fixed can be backported to previously stable releases. But we have already backported pull/13399 to 3.5 from pragmatic perspective. So personally I'd suggest to backport pull/13525 to 3.5 as well, otherwise etcd still can't serve serializable requests if the quorum isn't satisfied on startup.
cc @ptabor @serathius @spzala for opinions. cc @neolit123
FYI. kubeadm is running into issue without this backport.
The text was updated successfully, but these errors were encountered: