v1.3.0
What's New
1. Support minAvailable at task level
Just as the minAvailable at job level, minAvailable at task level will regard replicases at the same task as group and decide whether to schedule pods at the task. Only when the minAvailable is meet will the pods will be scheduled together. More details please refer to https://github.com/volcano-sh/volcano/blob/master/docs/design/task-minavailable.md. (#1459, @shinytang6 )
2. Support minSuccess for Job
Support to configure the least number of pods belonging to the job. It's useful to mark the status of job when minsuccess reaches or not and accelerates the job status judgement. (#1384, @zen-xu )
3. Support task-topology
In big data processing jobs like Tensorflow & Spark, tasks transmitted a large amount of data between each other, causing transmission delay took a large proportion in job execution time. So task topology plugin was proposed to modify scheduling strategy according to transmission topology inside a job, so as to cut the data amount to be transmitted between nodes, decrease transmission delay proportion in job execution time, and improve resource utilization. More details please refer to https://github.com/volcano-sh/volcano/blob/master/docs/design/task-topology-plugin.md. (#1353, @jiangkaihua )
4. Create new repository volcano.sh/apis
Separate apis from volcano.sh/volcanosh. Any downstream projects can introduce the CRD clientset/lister/informer with the K8s version it needs. (https://github.com/volcano-sh/apis, @Thor-wl )
Other Notable Changes
- fix the bug of CRD apiversion and installation volcano with kind(#1483, @Thor-wl )
- doc: add schedulerName in gpu sharing user guide(#1481, @ChAnYaNG97 )
- update scheduler default QPS and Burst(#1480, @Thor-wl )
- vcctl queue support get kubeconfig from env(#1477, @yahaa )
- add queue annotation in deployment example and add queue yaml(#1474, @nolimitkun )
- support K8s v1.19. (#1444, @Thor-wl )
- optimize yaml unmarshal logic(#1427, @sniperking1234 )
- doc: add multi schedulers design doc(#1403, @zen-xu )
- simplify unit-test(#1394, @zen-xu )
- add new target
update-development-yaml
in Makefile(#1386, @zen-xu ) - add additional printer columns to crd
Job
(#1385, @zen-xu ) - update ca.crt and server.csr validity period to 10 years(#1382, @zen-xu )
- Helm support crd v1(#1378, @zen-xu )
- feat(webhook): add podgroup admission(#1375, @shinytang6 )
- support auto updating crd manifests in helm templates when run
make generate-yaml
(#1374, @zen-xu ) - refactor(e2e): separate utils as a single package(#1362, @rudeigerc )
- support taint toleration preferNoScheduler in release-0.4(#1354, @huone1 )
- support taintToleration preferNoschdule(#1352, @huone1 )
Bug Fixes
- fix: lose preemptor when considering Preemption between Tasks within same Job (#1453, @lowang-bh )
- scheduler need configmap role to enable elect funtion(#1443, @wpeng102 )
- fix(scheduler): use nodeMap to fix anti-affinity problem(#1430. @shinytang6 )
- fix: use task.Name to make podName in admission(#1412, @merryzhou )
- add
bindingTasks
to judge whether adding node to the snapshot.(#1388, @zen-xu ) - fix reserving for deleted targetJob raise nil pointer(#1371, @zen-xu )
- fix sla jobOderFn when sla not set(#1365, @merryzhou )
- fix: it is possible to Occur OutOfCpu, when exist some pods including init container(#1364, @huone1 )
- fix wrong Pipeline in action allocate(#1360, @yzs981130 )
- fix: prevent SelectBestNode func arise panic(#1344, @yahaa )
- fix(scheduler): move JobInfo helper functions to method(#1343, @Thrimbda )