-
Notifications
You must be signed in to change notification settings - Fork 970
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
The task-topology plugin cannot work with the tasks with empty resource request #2941
Comments
Again, I'm not sure it's a bug or feature. If's designed as this, please let me know. Thanks :) |
besteffort pod are scheduled in backfill actions. Currently, there is no priorize process in backfill. |
So the task-topology plugin cannot work with besteffort tasks by now? And this feature will be completed in the future? |
/assign |
Thanks. I'll have a try. btw, can you help to trigger the ci #2940 ? |
Hello 👋 Looks like there was no activity on this issue for last 90 days. |
What happened:
Assume that we have a kubernetes cluster with two nodes and a simple job with topology annotations:
And the scheduler config file:
We create two kind of tasks and we want the two nginx tasks are scheduled into different nodes using the task topology antiAffinity annotations.
But the two nginx tasks are scheduled into the same node in most time:
If we add resource requests to the job spec, all things work well as expected:
What you expected to happen:
The task-topology plugin should work no matter whether the tasks have resource requests.
How to reproduce it (as minimally and precisely as possible):
As described above.
Anything else we need to know?:
After reading the code, I found that the allocate action will be skipped if the task has empty resource request:
volcano/pkg/scheduler/actions/allocate/allocate.go
Lines 135 to 139 in ed5c215
This will cause the
TaskOrderFn
andNodeOrderFn
intopology.go
be not executed, which may cause the tasks are scheduled into incorrect nodes.Environment:
kubectl version
):Client Version: version.Info{Major:"1", Minor:"27", GitVersion:"v1.27.2", GitCommit:"7f6f68fdabc4df88cfea2dcf9a19b2b830f1e647", GitTreeState:"clean", BuildDate:"2023-05-17T14:20:07Z", GoVersion:"go1.20.4", Compiler:"gc", Platform:"darwin/amd64"}
Kustomize Version: v5.0.1
Server Version: version.Info{Major:"1", Minor:"26", GitVersion:"v1.26.3", GitCommit:"9e644106593f3f4aa98f8a84b23db5fa378900bd", GitTreeState:"clean", BuildDate:"2023-03-15T13:33:12Z", GoVersion:"go1.19.7", Compiler:"gc", Platform:"linux/amd64"}
uname -a
):Linux volcano-demo 5.10.57 #1 SMP Mon Apr 3 23:35:10 UTC 2023 x86_64 GNU/Linux
The text was updated successfully, but these errors were encountered: