-
Notifications
You must be signed in to change notification settings - Fork 264
All jobs are pending, when some jobs set resources,others not set resources. #409
Comments
We should fix it :) In scheduler, we ignore |
Yes. I think we should bind |
hm... , Yes, we need to handle
Anyway, both need to support node priority to avoid dispatch all BestEffort to one node. Prefer to option 1 for now :) |
If we handle To avoid this, I will handle // make BestEffort > Burstable/Guarantee
func compareQoS(l, r *v1.Pod) int {} But it will ingore some cases of Priority, because I will add this before compare Priority in taskOrderFn := func(l interface{}, r interface{}) int {
lv := l.(*api.TaskInfo)
rv := r.(*api.TaskInfo)
// compareQoS first, before compare Priority
if res := compareQoS(lv.Pod, rv.Pod); res != 0 {
return res
}
glog.V(3).Infof("Priority TaskOrder: <%v/%v> prority is %v, <%v/%v> priority is %v",
lv.Namespace, lv.Name, lv.Priority, rv.Namespace, rv.Name, rv.Priority)
if lv.Priority == rv.Priority {
return 0
}
if lv.Priority > rv.Priority {
return -1
}
return 1
} If you agree, I will make the |
I'm thinking a new We may also use this action to reuse allocated but not bind resources because of gang-scheduling/coscheduling. I'm ok to take your fix as a quick fix, as it may take some time on struct of Job for BestEffort :) |
I created 4 jobs which have same
group-name
, such as ps-0, ps-1, worker-0, worker-1. Only worker jobs hadresources
tag.I found all jobs are pending. I checked log.
I found queue is overuserd and only bind workers, but I did not set queue. I found the key in
kube-batch\pkg\scheduler\plugins\proportion\proportion.go
.These mean I can use resources what I request. Then I set ps jobs resources, all jobs are running. I think it should be reminded set resources in tutorial.
Or we can change this.
The text was updated successfully, but these errors were encountered: