Book capacity only for ProvisioningRequest without scheduled pods#9806
Book capacity only for ProvisioningRequest without scheduled pods#9806cvgenesis wants to merge 1 commit into
Conversation
Expires booking once it founds that the all pods for the ProvisioningRequest are scheduled. This solves a bug when bookCapacity reserves capacity for every pod of a Provisioned ProvisioningRequest, including pods already running in the cluster, for the full reservation window. This leads to duplicate capacity calculation so some other ProvisioningRequests remain with CapacityIsNotFound. * Sets BookingExpired for PRs with all pods already scheduled * Adds a new reason for BookingExpired - CapacityBookingConsumed * Adds a test for the bug P.S. I tried to make the minial change, so I used BookingExpired. But maybe it makes sense to add a new condition.
|
This issue is currently awaiting triage. If SIG Autoscaling contributors determines this is a relevant issue, they will accept it by applying the The 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: cvgenesis 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 |
|
Welcome @cvgenesis! |
|
Hi @cvgenesis. 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 Regular contributors should join the org to skip this step. 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. |
What type of PR is this?
/kind bug
What this PR does / why we need it:
Expires booking once it founds that the all pods for the ProvisioningRequest are scheduled.
This solves a bug when bookCapacity reserves capacity for every pod of a Provisioned ProvisioningRequest, including pods already running in the cluster, for the full reservation window. This leads to duplicate capacity calculation so some other ProvisioningRequests remain with CapacityIsNotFound.
Which issue(s) this PR fixes:
Fixes #9805
Special notes for your reviewer:
I tried to make the minial change, so I used BookingExpired. But maybe it makes sense to add a new condition. Or vice versa, to skip consumed PRs silently without booking - in this case it will be just a fix for a duplicated resource count without any externally visible changes.
Does this PR introduce a user-facing change?