Skip to content

Conversation

@lchrzaszcz
Copy link
Contributor

@lchrzaszcz lchrzaszcz commented Jun 6, 2025

What type of PR is this?

/kind feature

What this PR does / why we need it:

According to the discussion in this PR: #5449, we have decided to drop the support for MostFreeCapacity mode.

This PR removes the MostFreeCapacity mode from Kueue.

Which issue(s) this PR fixes:

Fixes #

Special notes for your reviewer:

Does this PR introduce a user-facing change?

TAS: Drop support for MostFreeCapacity mode

ACTION REQUIRED: The `TASProfileMostFreeCapacity` feature gate is no longer available.
If you specify that, you must remove it from the `.featureGates` in your Kueue Config or kueue-controller-manager command-line flag, `--feature-gates`.

@k8s-ci-robot k8s-ci-robot added kind/feature Categorizes issue or PR as related to a new feature. release-note Denotes a PR that will be considered when it comes time to generate release notes. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. labels Jun 6, 2025
@k8s-ci-robot k8s-ci-robot requested review from kannon92 and mimowo June 6, 2025 09:25
@k8s-ci-robot k8s-ci-robot added the needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. label Jun 6, 2025
@k8s-ci-robot
Copy link
Contributor

Hi @lchrzaszcz. Thanks for your PR.

I'm waiting for a kubernetes-sigs member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

Instructions 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.

@k8s-ci-robot k8s-ci-robot added the size/L Denotes a PR that changes 100-499 lines, ignoring generated files. label Jun 6, 2025
@netlify
Copy link

netlify bot commented Jun 6, 2025

Deploy Preview for kubernetes-sigs-kueue canceled.

Name Link
🔨 Latest commit 34db0b3
🔍 Latest deploy log https://app.netlify.com/projects/kubernetes-sigs-kueue/deploys/6842d55014e7540008fd77d8

@mimowo
Copy link
Contributor

mimowo commented Jun 6, 2025

/ok-to-test

@k8s-ci-robot k8s-ci-robot added ok-to-test Indicates a non-member PR verified by an org member that is safe to test. and removed needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. labels Jun 6, 2025
@mimowo
Copy link
Contributor

mimowo commented Jun 6, 2025

Dropping MostFreeCapacity feature-gate was indeed the decision of discussions here: #5449 (comment).

The change LGTM, I'm happy to approve when tests pass.

cc @tenzen-y

@tenzen-y
Copy link
Member

tenzen-y commented Jun 6, 2025

As I commented in #5449, I want to just move the MostFreeCapacity descriptin to Alternative section since we actually support the strategy in v0.12.

So, It would be better to leave the description and the reason why we removed it in the v0.13.

@mimowo
Copy link
Contributor

mimowo commented Jun 6, 2025

sgtm, I think the reason is code simplicity, while there are no use-cases. We haven't heard user feedback requiring it since was deprecated, and replaced by BestFit by default.

},
},
},
"unconstrained; 6 pods fit into hosts scattered across the whole datacenter even they could fit into single rack; MostFreeCapacityFit": {
Copy link
Contributor Author

@lchrzaszcz lchrzaszcz Jun 6, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Similar "BestFit" test unconstrained; 6 pods fit into hosts scattered across the whole datacenter even they could fit into single rack; BestFit present.

},
},
},
"unconstrained; a single pod fits into each host; MostFreeCapacity": {
Copy link
Contributor Author

@lchrzaszcz lchrzaszcz Jun 6, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Similar "BestFit" test unconstrained; a single pod fits into each host; BestFit present.

},
enableFeatureGates: []featuregate.Feature{features.TASProfileMixed},
},
"block required; 4 pods fit into one host each; MostFreeCapacity": {
Copy link
Contributor Author

@lchrzaszcz lchrzaszcz Jun 6, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Similar "BestFit" test block required; 4 pods fit into one host each; BestFit present.

},
},
},
"host required; single Pod fits in the host; MostFreeCapacity": {
Copy link
Contributor Author

@lchrzaszcz lchrzaszcz Jun 6, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Similar "BestFit" test host required; single Pod fits in the host; BestFit present.

Count: 1,
Values: []string{
"b1",
"r2",
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The rack is optimized in BestFit, so I had to change the expected result.

},
enableFeatureGates: []featuregate.Feature{features.TASProfileLeastFreeCapacity},
},
"rack required; multiple Pods fits in a rack; MostFreeCapacity": {
Copy link
Contributor Author

@lchrzaszcz lchrzaszcz Jun 6, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Similar "BestFit" test rack required; multiple Pods fit in a rack; BestFit present.


enableFeatureGates: []featuregate.Feature{features.TASProfileMostFreeCapacity},
},
"block required; single Pod fits in a block; MostFreeCapacity": {
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Similar "BestFit" test block required; single Pod fits in a block and a single rack; BestFit.

@lchrzaszcz
Copy link
Contributor Author

@mimowo @tenzen-y I've added MostFreeCapacity description in Alternatives section.

@mimowo
Copy link
Contributor

mimowo commented Jun 6, 2025

/lgtm
/approve
I believe the only remaining comment #5536 (comment) is addressed. Merging to allow rebase of the main KEP. feel free @tenzen-y to send some additional comments post merge if you have.

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Jun 6, 2025
@k8s-ci-robot
Copy link
Contributor

LGTM label has been added.

Git tree hash: 10601ec12420f80c46a6bb92b6c8d5870c2116ce

@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: lchrzaszcz, mimowo

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jun 6, 2025
@k8s-ci-robot k8s-ci-robot merged commit 46682c2 into kubernetes-sigs:main Jun 6, 2025
23 checks passed
@k8s-ci-robot k8s-ci-robot added this to the v0.13 milestone Jun 6, 2025
Copy link
Member

@tenzen-y tenzen-y left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall LGTM, thank you
@lchrzaszcz could you open a follow-up PR?

We will decide on the format of this field based on the feedback from the
customers on the MVP.

### MostFreeCapacity algorithm
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@lchrzaszcz Could you move | TASProfileMostFreeCapacity (deprecated) | MostFreeCapacity | MostFreeCapacity | MostFreeCapacity | table to here?

| `WorkloadResourceRequestsSummary` | `false` | Alpha | 0.9 | 0.10 |
| `WorkloadResourceRequestsSummary` | `true` | Beta | 0.10 | 0.11 |
| `WorkloadResourceRequestsSummary` | `true` | GA | 0.11 | |
| `TASProfileMostFreeCapacity` | `false` | Deprecated | 0.11 | |
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
| `TASProfileMostFreeCapacity` | `false` | Deprecated | 0.11 | |
| `TASProfileMostFreeCapacity` | `false` | Deprecated | 0.11 | 0.13 |

We should not remove this.

@tenzen-y
Copy link
Member

tenzen-y commented Jun 6, 2025

/release-note-edit

TAS: Drop support for MostFreeCapacity mode

ACTION REQUIRED: The `TASProfileMostFreeCapacity` feature gate is no longer available.
If you specify that, you must remove it from the `.featureGates` in your Kueue Config or kueue-controller-manager command-line flag, `--feature-gates`.

@k8s-ci-robot k8s-ci-robot added release-note-action-required Denotes a PR that introduces potentially breaking changes that require user action. and removed release-note Denotes a PR that will be considered when it comes time to generate release notes. labels Jun 6, 2025
@tenzen-y
Copy link
Member

tenzen-y commented Jun 6, 2025

This is actually action required change.

@lchrzaszcz
Copy link
Contributor Author

@tenzen-y I've created a follow-up PR here: #5538

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. kind/feature Categorizes issue or PR as related to a new feature. lgtm "Looks good to me", indicates that a PR is ready to be merged. ok-to-test Indicates a non-member PR verified by an org member that is safe to test. release-note-action-required Denotes a PR that introduces potentially breaking changes that require user action. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants