If a vcjob with a task whose minAvailable = 0, the vcjob can not be scheduled
What happened: if the minAvailable of task in vcjob is 0 and then failed to create pod of task in cluster, the vcjob can not be scheduled.
What you expected to happen: Even if the task whose minAvailable is 0 can't create pod, the vcjob can be scheduled.
How to reproduce it (as minimally and precisely as possible): create a vcjob with two task taskA and taskB
| task | replicas | minAvailable |
|---|---|---|
| taskA | 1 | 1 |
| taskB | 0 | 0 |
there only one pending pod of taskA in cluster, but it can't be scheduled to node.
I guess it is the problem of function CheckTaskMinAvailable()
In that situation, ji.TaskMinAvailable = {taskA: 1, taskB: 0}, actual = {taskA: 1} if there is no pod of taskB, there is no key taskB in actual so that the job is invalid.
Anything else we need to know?:
Environment:
- Volcano Version: 1.5.1
- Kubernetes version (use
kubectl version): 1.20.5 - Cloud provider or hardware configuration:
- OS (e.g. from /etc/os-release):
- Kernel (e.g.
uname -a): - Install tools:
- Others:
BTW, why set task B?
BTW, why set task B?
If the pod of taskB with replicas > 0 and minAvailable=0 can't be created, the problem may still exist? The example is to simulate a situation that the pod of task can't be created.
Hello 👋 Looks like there was no activity on this issue for last 90 days. Do you mind updating us on the status? Is this still reproducible or needed? If yes, just comment on this PR or push a commit. Thanks! 🤗 If there will be no activity for 60 days, this issue will be closed (we can always reopen an issue if we need!).
Closing for now as there was no activity for last 60 days after marked as stale, let us know if you need this to be reopened! 🤗