Changes since v0.19.3:
Actions Required Before Upgrading
(No, really, you MUST read this before you upgrade)
- Minor releases: Review the
.0release notes for each new minor version you cross; see:v0.18.0,v0.19.0. - Patch releases: Review the patch release notes leading up to this version, but only within this minor release line; see:
v0.19.1,v0.19.2,v0.19.3.
Changes by Kind
Feature
- MultiKueue: Added support for reusing clientConnection configuration (QPS and Burst) for worker clusters via the
MultiKueueReuseClientConnectionConfigForWorkersAlpha feature gate. (#15280, @alien1403) - TAS: Added support for PodSet slicing alongside PodSet grouping, allowing workloads such as LeaderWorkerSet to co-locate grouped leader PodSets with sliced worker PodSets. This behavior is gated by the TASGroupedPodSetSlicing feature gate. (#15252, @pajakd)
Bug or Regression
- CLI: Fixed a bug where
kueuectl create clusterqueuerejected valid decimal quantities such ascpu=1.5ormemory=1.5Giin--nominal-quota,--borrowing-limitand--lending-limitwithinvalid resources specification. (#15312, @henry3260) - CLI: Fixed a bug where
kueuectl list workload --clusterqueuenever matched pending Workloads, so combining it with--status pendingalways returned no results. (#15338, @henry3260) - CLI: Fixed a bug where
kueuectl list workloadcould print the JOB TYPE and JOB NAME columns in a random order for Workloads with multiple owner references, such as pod groups. (#15393, @henry3260) - CLI: Fixed a bug where
kueuectl listwith-o yamlor-o jsonproduced invalid output when the result spanned more than one page (KUEUECTL_LIST_REQUEST_LIMIT, 100 by default). All pages are now merged into a single document. (#15382, @henry3260) - CLI: Fixed kueuectl list pods incorrectly treating any output format containing "wide" as -o wide, causing JSONPath and similar expressions to be silently ignored. (#15159, @DevaanshPathak)
- CLI: Fixed shell completion for the
--clusterqueueand--localqueueflags, which returned no suggestions once a positional argument was typed, for example inkueuectl create localqueue NAME -c <TAB>.kueuectl delete workloadcompletion now also includes inactive Workloads. (#15388, @henry3260) - DRA: Fixed a bug where deactivating a pending Workload caused Kueue's internal resource adjustments (RuntimeClass overhead, LimitRange defaults, limits-derived requests) to be written back into the user's Workload spec. (#15151, @tomsen02)
- MultiKueue: share one rate limiter across per-worker MultiKueue REST clients. (#15326, @weizhoublue)
- Observability: Fixed a panic that could crash the manager when
CustomMetricLabelsis enabled with a ClusterQueue-sourced label and a Pod's Kueue scheduling gate is removed. (#15391, @mimowo) - Scheduler: The scheduler now persists NoMatchingFlavor for workloads that request both covered and uncovered resources. (#15314, @PannagaRao)
- StatefulSet: Fixed a bug where scaling a StatefulSet to zero and then back up to a different number of replicas left the Workload with the original pod count, causing it to be admitted and charged quota for the wrong number of pods. (#15302, @sohankunkerkar)
- TAS NodeHotSwap: Fix a bug where workload node replacements are potentially stuck (#15397, @tenzen-y)
- TAS: Fix a bug where RecomputeAssignmentUponPreemptionTargetsOverlap doesn't work correctly when TASHandleOverlappingFlavors is enabled. (#15406, @tenzen-y)
- TAS: Fixed a bug where a completed PodSet in a multi-PodSet workload kept its topology domain occupied, preventing admission of pending workloads that had sufficient quota. This behavior is gated by the ReclaimablePods feature gate. (#15225, @kshalot)
- TrainJob: Fixed a bug where the TrainJob mutating webhook added a duplicate Kueue-owned runtimePatch entry on every update, causing spec.runtimePatches to accumulate stale entries. (#15216, @kannon92)
- TrainJob: Fixed admission dropping runtime-defined tolerations when ResourceFlavor tolerations were applied, which could leave pods Pending on tainted nodes. (#15195, @izturn)
- Workloads: Fixed a bug that could crash the Kueue controller when a namespace-scoped user created a Workload without a controller owner. Kueue now ignores the unrelated Workload. (#15353, @mbobrovskyi)
- Workloads: Fixed a bug where a workload requeued after a backoff period was accounted using its raw spec rather than its effective resources, dropping requests derived from limits, LimitRange defaults, and RuntimeClass overhead. Kueue now correctly accounts the adjusted resources on requeue, preventing ClusterQueue overcommitment. (#15350, @tomsen02)