-
Notifications
You must be signed in to change notification settings - Fork 4k
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
Implement Check-capacity Provisioning Class #6814
Comments
/assign |
ScaleDown support is tracked in #6517 |
As the proposal mentioned, we'll not reserve resources for check-capacity, will we now regarding to |
Good point, thanks. The original proposal suggested to not reserve the capacity, but that was reevaluated during implementation. So yes, if there is capacity for ProvReq in the cluster, CA adds Provisioned=True condition and reserve the capacity for 10 mins, so other ProvReqs won't be able to use it for 10 mins. Then BookinigExpired=True condition is added, which means that CA doesn't reserve capacity for this ProvReq. |
Thanks for the explanation, but what will happen if two ProvReqs ask for capacities the same time. Will they both success or one will success and another one will failure due to the reservation fact. |
So if I want to use ProvReq, what's the best practice, check for capacity first then sent the real provisioning request? Or the scale-up ProvReq will check the capacity as well in ahead. |
CA process ProvReqs one by one. If we have two ProvReqs that asking the same capacity, but cluster could fulfil only one of them, then the first picked ProvReq will have Provisioning=True condition and the second ProvReq will have Provisioned=False condition. When 10 mins passes, the first ProvReq will have Provisioned=True and BookingExpired=True conditions and the second ProvReq will have Provisioned=True condition. |
Not sure what did you mean by real ProvisioningRequest. Each ProvReq belongs to a specific ProvisioningClass. ProvisioningRequest of check-capacity ProvisioningClass is aimed to check capacity in the cluster for requested resources. |
Implementation is almost done, creating an issue for visibility.
Check-capacity Provisioning Class check if the ProvisioningRequest could fit in existing capacity. If yes, CA add Provisioned=True condition and reserve the capacity for 10 mins. When reservation time passes, the BookingExpired=True condition is added, which means that CA won't reserve capacity for this ProvisioningRequest.
The original proposal: Provisioning Request CRD
The text was updated successfully, but these errors were encountered: