diff --git a/src/pages/release-announce/1.6.0.md b/src/pages/release-announce/1.6.0.md new file mode 100644 index 00000000000..14c85613f91 --- /dev/null +++ b/src/pages/release-announce/1.6.0.md @@ -0,0 +1,128 @@ +--- +id: rn-1.6.0 +title: Release Announcement v1.6.0 +--- + + + +# Release Announcement v1.6.0 +We are pleased to announce that the Apache YuniKorn community has voted to release 1.6.0. +Apache YuniKorn is a standalone resource scheduler, designed for managing and scheduling Batch and Data workloads on container +orchestration frameworks like Kubernetes for on-prem and on-cloud use cases. + +## Overview +The Apache YuniKorn community has resolved 316 [JIRAs](https://issues.apache.org/jira/issues/?filter=12352202) in this release. + +Release manager: Peter Bacsko + +Release date: 2024-09-17 + +## Highlights + +### Kubernetes version support + +YuniKorn 1.6.0 supports running on Kubernetes clusters from version 1.24 through 1.31. +See [YUNIKORN-2830](https://issues.apache.org/jira/browse/YUNIKORN-2830) for details. + +### Unification of Ask and Allocation + +YuniKorn 1.6.0 has been simplified on a code level - we no longer have "Ask" objects in +the scheduler core. A resource ask is simply an allocation without a node assigned +to it. See [YUNIKORN-2457](https://issues.apache.org/jira/browse/YUNIKORN-2457) for +details. + +### Preemption hardening + +After a more thorough analysis of the preemption feature, we identified several use cases where +it works either inconsistently or produces unexpected, non-intuitive results. +See [YUNIKORN-2493](https://issues.apache.org/jira/browse/YUNIKORN-2493) for details. + +### Establish consistent usage guidelines for labels and annotations + +Before YuniKorn 1.6.0, labels and annotations were not used in a consistent way. +Certain metadata existed either as a label or annotation. If it existed for both, +the precedence was not clear. If both were defined with different values, no error +was reported. This was fixed in [YUNIKORN-2501](https://issues.apache.org/jira/browse/YUNIKORN-2501). + +### Support for OIDC credentials + +In [YUNIKORN-2281](https://issues.apache.org/jira/browse/YUNIKORN-2281) we added support +for OIDC user names. Previously, these were rejected in the admission controller +because certain characters were treated as illegal. + +### Improved code quality + +In [YUNIKORN-182](https://issues.apache.org/jira/browse/YUNIKORN-182) we improved the +code quality of Yunikorn so that the Go linters no longer complain about potential +coding problems. + +Coverage of various parts of the code was significantly enhanced. See the [JIRA filter](https://issues.apache.org/jira/issues/?filter=12353613) +for the list of items. + +### Deadlock detection, fixed potential locking issues + +The tool [go-deadlock](https://github.com/sasha-s/go-deadlock) has been integrated to the codebase, +which makes it possible to detect potential deadlocks at runtime. Since this slows down the scheduler +and increases memory usage, it's disabled by default. However, it's enabled during the unit test phase +with "make test". See [YUNIKORN-2539](https://issues.apache.org/jira/browse/YUNIKORN-2539) for details. + +With go-deadlock, several potential deadlocks have been identified and fixed in +[YUNIKORN-2544](https://issues.apache.org/jira/browse/YUNIKORN-2544). + +### Reproducible binaries + +Before YuniKorn 1.6.0, the binaries we build for YuniKorn differ from one build to the next. +We standardized our build output so that independently built binaries from the same source code can be validated. +See [YUNIKORN-2419](https://issues.apache.org/jira/browse/YUNIKORN-2419). + +## Incompatible changes + +### Removed StateAware scheduling + +State-aware scheduling has been removed in YuniKorn 1.6.0. + +### Plugin mode is deprecated + +From YuniKorn 1.6.0, the plugin mode is considered deprecated and no new plugin-related +code will be added. + +### Fair queue sorting has changed + +The previous version of the fair share sorting algorithm was broken and did not return +the ratio correctly. This is now fixed in [YUNIKORN-2678](https://issues.apache.org/jira/browse/YUNIKORN-2678). +This change fundamentally affects scheduling decisions, because in each cycle the scheduler might end up choosing +a different pending request than it did before. + +### Default queue is no longer set on the pod + +From YuniKorn 1.6.0, the admission controller no longer updates the queue label on the pod if it's unset. +See [YUNIKORN-2711](https://issues.apache.org/jira/browse/YUNIKORN-2711) for details. + +## Credits +The YuniKorn 1.6.0 release would not have been possible without the +hard work of our community and we would like to thank the following +contributors to this release: + +> ChenChen Lai, amikai, YuTeng Chen, Arthur Wang, Kuan-Po Tseng, + Craig Condit, Hsien-Cheng (Ryan) Huang, Jacob Salway, Manikandan R, + Michael Akinyemi, mean-world, Mit Desai, Nick Chao, Paul Santa Clara, + Peter Bacsko, 400Ping, Qi Zhu, rich7420, Rich Scott, ryankert, Ryan Lo, + SHIAO SZU CHEN, SP12893678, steinsgateted, targetoee, Tseng Hsi-Huang, + Tzu-Hua Lan, Wilfred Spiegelenburg, Yongjun Zhang, Yu-Lin Chen, YUN SUN