-
Notifications
You must be signed in to change notification settings - Fork 451
[KEP] FlavorFungability: replace FlavorFungibilityImplicitPreferenceDefault feature gate with API #7317
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
base: main
Are you sure you want to change the base?
Conversation
…efault feature gate with API
|
Skipping CI for Draft Pull Request. |
✅ Deploy Preview for kubernetes-sigs-kueue canceled.
|
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: vladikkuzn The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
/cc @pajakd |
|
/cc @gabesaba |
|
In my opinion, no need to create a separate, KEP. You can update KEP-582 with the new API definition. If the objective is to remove the feature gate One thing to note is that in the API with additional field, the users will be able to express some configurations that make little sense. For example: The |
@pajakd Could you clarify which specific validations we should add to prevent inconsistent configurations like the example above? |
|
There are 4 options of the whenCanBorrow/whenCanPreempt
We should (I think) also validate that So there are 3 validations. I'm not sure what should be the default value of the |
|
Ok, I think there are two main approaches which are not very clear for me how to reconcile: Let me dive deeper how the API could look like in the both cases:
A) block
A) block
A) block
A) allow Given that for now we are using the feature gate which basically is a switch as (B), and it seems to cover the known use cases I would be leaning now to the approach of minimalistic API - the |
|
@mimowo So is PreemptWhileBorrowing always last? And we only choose between preemption and borrowing? |
|
IIUC this is the current behavior when the feature gate is used, wdyt @pajakd ? But basically I'm thinking of minimal API which replaces the FG, @vladikkuzn please also check how you understand the current logic, we should align on that. |
This makes sense, we can always relax the validation in the future if needed. For now I think @amy is using the new feature gate and so a simple switch to API seems preferrable to me. |
|
I agree, I think a simple field Please add a comment next to this field that |
|
/assign |
|
I think this is likely the approach so @vladikkuzn feel free to start drafting the implementation |
|
cc @tenzen-y any additional comments here? |
| The feature gate `FlavorFungibilityImplicitPreferenceDefault` was a temporary measure. | ||
| Preference is now configured per ClusterQueue via `spec.flavorFungibility.preference`; the gate has been removed. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Additionally, does this include the deprecation of FlavorFungibilityImplicitPreferenceDefault FG?
If yes, could you add a Note as I proposed in another thread?
| The feature gate `FlavorFungibilityImplicitPreferenceDefault` was a temporary measure. | |
| Preference is now configured per ClusterQueue via `spec.flavorFungibility.preference`; the gate has been removed. | |
| The feature gate `FlavorFungibilityImplicitPreferenceDefault` was supported between v0.13 and v0.14 and it was removed in v0.15. | |
| Since v0.15, the Preference is now configured per ClusterQueue via `spec.flavorFungibility.preference`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes the FG should be deprecated and removed in 0.17. The filed overrides the meaning of the FG until then. Please update
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@mimowo 0.17 or 0.15? should I keep the feature gate then until 0.17?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think let's go with 0.16. I think it makes sense to keep it in 0.15 to allow smooth upgrade. So, in 0.14 some users will use the FG, they cannot remove. After upgrade they need time to add the new preference field. So by supporting in 0.16 we can allow smooth transition.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OTOH, this FG is just Alpha so we don't have a strong commitment to support the smooth transition. So, if we encounter complications I'm good with 0.15.
|
@vladikkuzn Once #7317 (comment) and #7317 (comment) are addressed, we can merge this PR. |
|
@tenzen-y Already applied in draft implementation, let me apply here as well 😉 |
…efault feature gate with API * preference API field
What type of PR is this?
/kind documentation
What this PR does / why we need it:
Which issue(s) this PR fixes:
Part of #6184
Special notes for your reviewer:
Does this PR introduce a user-facing change?