KEP-5278: Specify to keep NNN in case of error during binding cycle#5771
KEP-5278: Specify to keep NNN in case of error during binding cycle#5771brejman wants to merge 1 commit intokubernetes:masterfrom
Conversation
|
Welcome @brejman! |
|
Hi @brejman. Thanks for your PR. I'm waiting for a kubernetes member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. DetailsInstructions 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-sigs/prow repository. |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: brejman The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
Why not just fix it?
In that case, a plugin should implement |
Fixing that bug would make the other issue more frequent, so we need to agree on how to address that one first
Right now, the volumebinding plugin only clears the assumed (in-memory) state in
|
|
Can you make a issue on kubernetes/kubernetes repo side with all your argument? and tag @/kubernetes/sig-scheduling-leads and @/kubernetes/sig-storage-misc there. |
|
Let's move the discussion to kubernetes/kubernetes#135771 |
Right now the implementation intends to clear NNN on binding error: https://github.com/kubernetes/kubernetes/blob/21f7c3ff68b388b565331724d5a46920854431a8/pkg/scheduler/schedule_one.go#L392.
There are two problems with this:
The KEP is a bit unclear on the intended behavior in this case. It mentions
There's a comment in code that suggests that a pod that fails to bind isn't considered unschedulable: https://github.com/kubernetes/kubernetes/blob/21f7c3ff68b388b565331724d5a46920854431a8/pkg/scheduler/schedule_one.go#L318. I weren't able to find any docs that would mention it though.
I suggest to not clear NNN if there was an error during binding cycle and update the KEP wording to make it apparent. This is based on the assumption that binding cycle failure is either
Even without NNN the scheduler may keep picking the same node. The main change is that the pod will continue to take space from other lower priority pods, which shouldn't matter if the assumption above holds.