Skip to content

Commit

Permalink
[YUNIKORN-2870] Release notes for 1.6.0
Browse files Browse the repository at this point in the history
  • Loading branch information
pbacsko committed Sep 17, 2024
1 parent 52736e0 commit 134f55a
Showing 1 changed file with 123 additions and 0 deletions.
123 changes: 123 additions & 0 deletions src/pages/release-announce/1.6.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
---
id: rn-1.6.0
title: Release Announcement v1.6.0
---

<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->

# 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=12353274) in this release.

Release manager: Peter Bacsko

Release date: 2024-09-17

## Highlights

### Unification of Ask and Allocation

YuniKorn 1.6.0 got 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 got 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 got 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 linterns no longer complain about potential
coding problems.

Coverage of various parts of the code got 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

0 comments on commit 134f55a

Please sign in to comment.