版本发布 8
Changes since `v0.17.0`: ## Urgent Upgrade Notes ### (No, really, you MUST read this before you upgrade) - AdmissionChecks: Add the alpha `RejectUpdatesToCQWithInvalidOnFlavors` feature gate (disabled by default) to reject updates to existing ClusterQueues with invalid `AdmissionCheckStrategy.OnFlavors` references. when enabling this feature gate, fix any existing invalid `OnFlavors` references before updating the affected ClusterQueues. (#10384, @ShaanveerS) - Observability: Replace the "evicted_workloads_once_total" metric "detailed_reason" label with "underlying_cause" label. This is a consistency fix as all other metrics name the label "underlying_cause". If you use the "detailed_reason" label for the "evicted_workloads_once_total", you can migrate to "underlying_cause" label. (#10637, @vamsikrishna-siddu) ## Changes by Kind ### Feature - Aggregate Kueue CRD read-only clusterRoles to k8s default view clusterRole (#10482, @amy) - Improve eviction message for AdmissionChecks in Retry state to include per-check name and reason (#10623, @reruno) - Introduce Concurrent Admission feature (#10610, @PBundyra) - Kueue-populator: support init different ClusterQueue in single namespace. (#9746, @samzong) - Promote MultiKueueRedoAdmissionOnEvictionInWorker to stable. (#10695, @mbobrovskyi) - Promote MultiKueueWaitForWorkloadAdmitted to stable. (#10656, @mbobrovskyi) - Promote SkipFinalizersForPodsSuspendedByParent to stable. (#10645, @mbobrovskyi) ### Documentation - Documentation: New agent kueue related skills under cmd/experimental/agent/skills in the kueue repo (#10744, @amy) ### Failing Test - Observability: Fix a bug where kueue_cohort_subtree_admitted_workloads_total and kueue_cohort_subtree_admitted_active_workloads metrics could include results for an implicit root Cohort after deletion of a child Cohort or ClusterQueue. (#10080, @mbobrovskyi) ### Bug or Regression - AdmissionChecks: ClusterQueue validation now checks that the flavors specified in `AdmissionCheckStrategy.OnFlavors` are listed in quota. (#10336, @ShaanveerS) - AdmissionChecks: fix the bug that on backoff admission checks which are spanning all ResourceFlavors, such as MultiKueue, may be missing in the Workload’s status. For MultiKueue that manifested with a bug, when aside from the MultiKueue admission check there was another non-MultiKueue admission check. In the scenario when eviction on the management cluster happened the manager that had temporarily lost connection to a worker, the remote workload would keep running on the reconnected worker, despite the workload staying without reservation on the manager cluster. (#9359, @Singularity23x0) - AdmissionFairSharing: Fixed a bug in entry penalties by reducing them when workload is admitted and also clearing them up if all the resources on the admission entry penalty have value zero. (#10156, @MaysaMacedo) - ElasticJobs: Fix a bug where pods stay gated after scale-up by allowing finished workloads to ungate their own pods. (#10272, @sohankunkerkar) - FailureRecovery: Forcefully delete pods that are Failed/Succeeded and scheduled on unreachable nodes. This unblocks cases like a JobSet deleting a Job with foreground cascade being stuck because a pod in a terminal phase exists on one of the unhealthy nodes. (#10853, @kshalot) - FailureRecoveryPolicy: Fixed an issue where pods could remain stuck terminating if their node became unreachable only after the force-termination timeout had already elapsed. (#10463, @kshalot) - Fix a bug in HA mode that caused follower replicas to retain stale workload caches after deletion. (#10518, @Ladicle) - Fix a bug where the batch/v1 Job mutating webhook could still run even when the batch/job integration was disabled. (#10315, @Ladicle) - Fix a race-condition bug that a deleted ClusterQueue may be kept by a finalizer, even after deletion of all workloads and LQs. (#10821, @ShaanveerS) - Fix handling of orphaned workloads which could result in the accumulation of stale workloads after PodsReady timeout eviction for Deployment-owned pods. (#10274, @sebest) - Fixed a bug in Kueue's cache that could leave stale SubtreeQuota values in ancestor cohorts after a child Cohort was deleted, leading to potential over-admission of workloads and incorrect metrics reporting. (#10797, @mszadkow) - Fixed a bug where admitted Workloads could fail to patch through the v1beta1 API due to CEL validation of the `priorityClassSource` immutability rule. (#10594, @kannon92) - LeaderWorkerSet integration: fix the bug that the PodTemplate metadata wasn't propagated to the Workload's PodSets. (#10330, @pajakd) - MultiKueue: Fixes the bug where a job, after being dispatched to a worker, would not sync correctly after being evicted there. This would also cause its workload to be incorrectly labeled as admitted. Now the workload and the manager job instance will correctly reflect the evicted state and MultiKueue will perform a fallback, then dispatch remote workloads to all eligible workers again after being evicted from the Worker it was successfully admitted to before. An example of such a case is if the remote instance got preempted on the worker. (#9670, @Singularity23x0) - MultiKueue: fix the bug that when custom admission checks are configured on the manager cluster, other than the MultiKueue admission check, then the Job may start running on the selected worker before the other admission checks are satisfied (Ready). We fix the issue by deferring the dispatching of workload until all non-MultiKueue AdmissionChecks become Ready. (#9866, @mszadkow) - Observability: Fix excessive memory overhead in hot code paths by reusing the named logger in NewLogConstructor and avoiding unnecessary logger cloning. (#10365, @MatteoFari) - Observability: Fix kueue_cohort_subtree_quota and kueue_cohort_subtree_resource_reservations metrics incorrectly reporting raw milliCPU values instead of CPU units for CPU resources. (#10747, @baoalvin1) - Observability: avoid logging update failures as "error" when they are caused by concurrent object modifications, especially when multiple errors are present. Example log message: "failed to update MultiKueueCluster status: Operation cannot be fulfilled on multikueueclusters.kueue.x-k8s.io \"testing-cluster\": the object has been modified; please apply your changes to the latest version and try again after failing to load client config: open /tmp/kubeconfig no such file or directory" (#10322, @mbobrovskyi) - Observability: downgrade the non-compatible flavor error logs to Info level (v3). (#10636, @maishivamhoo123) - TAS: Fix a bug where admitted workloads with unhealthy nodes were not evicted when an AdmissionCheck entered Retry or when the PodsReady recovery timeout was exceeded. (#10666, @vamsikrishna-siddu) - TAS: Fix empty slices for count=0 podSets causing infinite scheduling loop (#10478, @jzhaojieh) - TAS: Fix handling of PodSet groups which could lead in some scenarios to empty topologyAssignment. (#10783, @yuluo-yx) - TAS: Fix nil pointer panic in TAS node reconciler when unadmitted workloads exist in the cluster. (#10641, @j-skiba) - TAS: Refine the NodeHotSwap logic to ensure that UnhealthyNodes are only updated for workloads currently assigned to a Node via a topology topology assignment. This prevents "late pods" from stale topologies from triggering inaccurate health reporting. (#10760, @j-skiba) - TAS: fix a bug that Pods which only contain the `kueue.x-k8s.io/podset-slice-required-topology` or `kueue.x-k8s.io/podset-slice-required-topology-constraints` as the TAS annotation are not ungated. (#10282, @tg123) - TAS: reduce the churn on the TAS-enabled controller, called NonTasUsageReconciler, by skipping triggering of the Reconcile on Pod changes which are irrelevant from the controller point-of-view. (#10488, @MatteoFari) - VisibilityOnDemand: Fixed a bug in the visibility endpoint, that listing workloads from a local queue includes workloads from other LocalQueues in different namespaces, if the other LocalQueues have the same name. (#10672, @mbobrovskyi)
Changes since `v0.16.3`: ## Changes by Kind ### Feature - Helm: Allow setting log level (#9944, @gabesaba) - TAS: Extend the support for handling NoSchedule taints when the TASReplaceNodeOnNodeTaints feature gate is enabled. (#10003, @j-skiba) - VisibilityOnDemand: Introduce a new Kueue deployment argument, --visibility-server-port, which allows passing custom port when starting the visibility server. (#9976, @Nilsachy) ### Bug or Regression - LWS integration: Fixed a bug that the `kueue.x-k8s.io/job-uid` label was not set on the workloads. (#10010, @mbobrovskyi) - MultiKueue: Enable AllowWatchBookmarks for remote client watches to prevent idle watch connections from being terminated by HTTP proxies with idle timeouts (e.g., Cloudflare 524 errors). (#9990, @trilamsr) - Scheduling: fix the issue that scheduler could indefinitely try re-queueing a workload which was once inadmissible, but is admissible after an update. The issue affected workloads which don't specify resource requests explicitly, but rely on defaulting based on limits. (#9913, @mimowo) - Scheduling: fixed SchedulingEquivalenceHashing so equivalent workloads that become inadmissible through the preemption path with no candidates are also covered by the mechanism. As a safety measure while the broader fix is validated, the beta SchedulingEquivalenceHashing feature gate is temporarily disabled by default. (#10007, @mimowo) - StatefulSet integration: Fixed a bug that the `kueue.x-k8s.io/job-uid` label was not set on the workloads. (#9902, @mbobrovskyi) - TAS: Fixed a bug where pods could become stuck in a `Pending` state during node replacement. This may occur when a node gets tainted or `NotReady` after the topology assignment phase, but before the pods are ungated. (#9978, @j-skiba) - TAS: fix the bug that workloads which only specify resource limits, without requests, are not able to perform the second-pass scheduling correctly, responsible for NodeHotSwap and ProvisioningRequests. (#9947, @mimowo) - VisibilityOnDemand: Fix non-deterministic workload ordering with UsageBasedAdmissionFairSharing enabled. (#9955, @sohankunkerkar) ### Other (Cleanup or Flake) - Restore the FlavorFungibilityImplicitPreferenceDefault feature gate. (#9991, @mimowo)
Changes since `v0.15.0`: ## Changes by Kind ### Feature - TAS: extend the information in condition messages and events about nodes excluded from calculating the assignment due to various recognized reasons like: taints, node affinity, node resource constraints. (#8132, @sohankunkerkar) ### Bug or Regression - Fix `TrainJob` controller not correctly setting the `PodSet` count value based on `numNodes` for the expected number of training nodes. (#8145, @kaisoz) - Fix a performance bug as some "read-only" functions would be taking unnecessary "write" lock. (#8183, @ErikJiang) - Fix the race condition bug where the kueue_pending_workloads metric may not be updated to 0 after the last workload is admitted and there are no new workloads incoming. (#8049, @Singularity23x0) - Fixed a bug that Kueue's scheduler would re-evaluate and update already finished workloads, significantly impacting overall scheduling throughput. This re-evaluation of a finished workload would be triggered when: 1. Kueue is restarted 2. There is any event related to LimitRange or RuntimeClass instances referenced by the workload (#8198, @mimowo) - Fixed the following bugs for the StatefulSet integration by ensuring the Workload object has the ownerReference to the StatefulSet: 1. Kueue doesn't keep the StatefulSet as deactivated 2. Kueue marks the Workload as Finished if all StatefulSet's Pods are deleted 3. changing the "queue-name" label could occasionally result in the StatefulSet getting stuck (#8105, @mbobrovskyi) - MultiKueue via ClusterProfile: Fix the panic if the configuration for ClusterProfiles wasn't not provided in the configMap. (#8097, @mszadkow) - TAS: Fix handling of admission for workloads using the LeastFreeCapacity algorithm when the "unconstrained" mode is used. In that case scheduling would fail if there is at least one node in the cluster which does not have enough capacity to accommodate at least one Pod. (#8172, @PBundyra) - TAS: fix bug that when TopologyAwareScheduling is disabled, but there is a ResourceFlavor configured with topologyName, then preemptions fail with "workload requires Topology, but there is no TAS cache information". (#8195, @zhifei92) ### Other (Cleanup or Flake) - Fix: Removed outdated comments incorrectly stating that deployment, statefulset, and leaderworkerset integrations require pod integration to be enabled. (#8054, @IrvingMg)
Changes since `v0.13.9`: ## Changes by Kind ### Bug or Regression - AdmissionFairSharing: Fix the bug that occasionally a workload may get admitted from a busy LocalQueue, bypassing the entry penalties. (#7916, @IrvingMg) - Fix a bug that an error during workload preemption could leave the scheduler stuck without retrying. (#7817, @olekzabl) - Fix a bug that the cohort client-go lib is for a Namespaced resource, even though the cohort is a Cluster-scoped resource. (#7801, @tenzen-y) - Fix integration of `manageJobWithoutQueueName` and `managedJobsNamespaceSelector` with JobSet by ensuring that jobSets without a queue are not managed by Kueue if are not selected by the `managedJobsNamespaceSelector`. (#7761, @MaysaMacedo) - Fix issue #6711 where an inactive workload could transiently get admitted into a queue. (#7944, @olekzabl) - Fix the bug that the kubernetes.io/job-name label was not propagated from the k8s Job to the PodTemplate in the Workload object, and later to the pod template in the ProvisioningRequest. As a consequence the ClusterAutoscaler could not properly resolve pod affinities referring to that label, via podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector. For example, such pod affinities can be used to request ClusterAutoscaler to provision a single node which is large enough to accommodate all Pods on a single Node. We also introduce the PropagateBatchJobLabelsToWorkload feature gate to disable the new behavior in case of complications. (#7613, @yaroslava-serdiuk) - TAS: Fix the `requiredDuringSchedulingIgnoredDuringExecution` node affinity setting being ignored in topology-aware scheduling. (#7936, @kshalot)
Changes since `v0.14.0`: ## Urgent Upgrade Notes ### (No, really, you MUST read this before you upgrade) - MultiKueue: validate remote client kubeconfigs and reject insecure kubeconfigs by default; add feature gate MultiKueueAllowInsecureKubeconfigs to temporarily allow insecure kubeconfigs until v0.17.0. if you are using MultiKueue kubeconfigs which are not passing the new validation please enable the `MultiKueueAllowInsecureKubeconfigs` feature gate and let us know so that we can re-consider the deprecation plans for the feature gate. (#7439, @mszadkow) - The .status.flavors in LocalQueue is deprecated, which will be removed in the future release. You can consider migrating from the field usage to VisibilityOnDemand. (#7337, @iomarsayed) - Update DRA API used from `v1beta2` to `v1` in order to use DRA integration by enabling the DynamicResourceAllocation feature gate in Kueue you need to use k8s 1.34+. (#7212, @harche) ## Changes by Kind ### Deprecation - Deprecate QueueVisibility in v1beta2 (#7319, @bobsongplus) - Remove deprecated PodIntegrationOptions (podOptions field) from v1beta2 Configuration. Users must migrate to using managedJobsNamespaceSelector (https://kueue.sigs.k8s.io/docs/tasks/run/plain_pods/) or continue using v1beta1 for this feature. (#7406, @nerdeveloper) - Remove deprecated retryDelayMinutes field from v1beta2 AdmissionCheckSpec. This field was deprecated since v0.8 and provided no functionality. Users using v1beta1 are unaffected. (#7407, @nerdeveloper) ### API Change - Expose the v1beta2 API for CRD serving. V1beta1 remains as storage. (#7304, @mimowo) - FlavorFungibility: introduce `MayStopSearch` in place of `Borrow`/`Preempt`, which are now deprecated. (#7117, @ganczak-commits) - Graduate Config API to v1beta2 (#7375, @mbobrovskyi) - Removed the deprecated workload annotation key "kueue.x-k8s.io/queue-name". Please ensure you are using the workload label "kueue.x-k8s.io/queue-name" instead. (#7271, @ganczak-commits) - V1beta2: drop deprecated Flavors field from LocalQueueStatus (#7449, @mbobrovskyi) - V1beta2: graduate the visibility API (#7411, @mbobrovskyi) - V1beta2: introduce PriorityClassRef instead of PriorityClassSource and PriorityClassName (#7540, @mbobrovskyi) - V1beta2: remove deprecated .spec.admissionChecks field from ClusterQueue API in favor of .spec.admissionChecksStrategy. (#7490, @nerdeveloper) - `ReclaimablePods` feature gate is introduced to enable users switching on and off the reclaimable Pods feature (#7525, @PBundyra) ### Feature - Add TAS support to the Kubeflow integration (#7249, @kaisoz) - Adjust the `cluster_queue_weighted_share` and `cohort_weighted_share` metrics to report the precise value for the Weighted share, rather than the value rounded to an integer. Also, expand the `cluster_queue_weighted_share` metric with the "cohort" label. (#7338, @j-skiba) - Fix: MultiKueue now supports Topology Aware Scheduling (TAS) and ProvisioningRequest integration. (#5361, @IrvingMg) - Improve Preemption message: include preemptor and preemptee object paths to make it easier to locate the objects involved in a preemption. (#7522, @mszadkow) - JobFramework: Introduce an optional interface for custom Jobs, called JobWithCustomWorkloadActivation, which can be used to deactivate or active a custom CRD workload. (#7199, @tg123) - Pod integration is now auto-enabled when using LeaderWorkerSet, StatefulSet, or Deployment frameworks. (#6736, @IrvingMg) - Promote AdmissionFairSharing to beta (#7463, @kannon92) - Promote ManagedJobsNamespaceSelectorAlwaysRespected feature to Beta (#7493, @PannagaRao) - Promote MultiKueueBatchJobWithManagedBy to beta. (#7341, @kannon92) - TAS: change the algorithm used in case of "unconstrained" mode (enabled by the kueue.x-k8s.io/podset-unconstrained-topology annotation, or when the "implicit" mode s used) from "BestFit" to "LeastFreeCapacity". This allows to optimize the fragmentation for workloads which don't require bin-packing. (#7416, @iomarsayed) ### Bug or Regression - Add rbac for train job for kueue-batch-admin and kueue-batch-user (#7196, @kannon92) - Fix a bug where a workload would not get requeued after eviction due to failed hotswap. (#7376, @pajakd) - Fix eviction of jobs with memory requests in decimal format (#7430, @brejman) - Fix existing workloads not being re-evaluated when new clusters are added to MultiKueueConfig. Previously, only newly created workloads would see updated cluster lists. (#6732, @ravisantoshgudimetla) - Fix handling of RayJobs which specify the spec.clusterSelector and the "queue-name" label for Kueue. These jobs should be ignored by kueue as they are being submitted to a RayCluster which is where the resources are being used and was likely already admitted by kueue. No need to double admit. Fix on a panic on kueue managed jobs if spec.rayClusterSpec wasn't specified. (#7218, @laurafitzgerald) - Fix invalid annotations path being reported in `JobSet` topology validations. (#7189, @kshalot) - Fix malformed annotations paths being reported for `RayJob` and `RayCluster` head group specs. (#7183, @kshalot) - Fix the bug for the StatefulSet integration that the scale up could get stuck if triggered immediately after scale down to zero. (#7479, @IrvingMg) - Fix the kueue-controller-manager startup failures. This fixed the Kueue CrashLoopBackOff due to the log message: "Unable to setup indexes","error":"could not setup multikueue indexer: setting index on workloads admission checks: indexer conflict. (#7432, @IrvingMg) - Fixed a bug that Kueue would keep sending empty updates to a Workload, along with sending the "UpdatedWorkload" event, even if the Workload didn't change. This would happen for Workloads using any other mechanism for setting the priority than the WorkloadPriorityClass, eg. for Workloads for PodGroups. (#7299, @mbobrovskyi) - Fixed the bug that prevented managing workloads with duplicated environment variable names in containers. This issue manifested when creating the Workload via the API. (#7425, @mbobrovskyi) - Kueue now properly validates and rejects unsupported DRA (Dynamic Resource Allocation) features with clear error messages instead of silently failing or producing misleading "DeviceClass not mapped" errors. Unsupported features include: AllocationMode 'All', CEL Selectors, Device Constraints, Device Config, FirstAvailable device selection, and AdminAccess. (#7226, @harche) - MultiKueue x ElasticJobs: fix webhook validation bug which prevented scale up operation when any other than the default "AllAtOnce" MultiKueue dispatcher was used. (#7278, @mszadkow) - MultiKueue: Remove remoteClient from clusterReconciler when kubeconfig is detected as invalid or insecure, preventing workloads from being admitted to misconfigured clusters. (#7486, @mszadkow) - Requeue generic job when update workload's podsready condition fail. (#7364, @olderTaoist) - Services: fix the setting of the `app.kubernetes.io/component` label to discriminate between different service components within Kueue as follows: - controller-manager-metrics-service for kueue-controller-manager-metrics-service - visibility-service for kueue-visibility-server - webhook-service for kueue-webhook-service (#7371, @rphillips) - TAS: Increase the number of Topology levels limitations for localqueue and workloads to 16 (#7423, @kannon92) - TAS: Introduce missing validation against using incompatible `PodSet` grouping configuration in `JobSet, `MPIJob`, `LeaderWorkerSet`, `RayJob` and `RayCluster`. Now, only groups of two `PodSet`s can be defined and one of the grouped `PodSet`s has to have only a single `Pod`. The `PodSet`s within a group must specify the same topology request via one of the `kueue.x-k8s.io/podset-required-topology` and `kueue.x-k8s.io/podset-preferred-topology` annotations. (#7061, @kshalot) - Visibility API: Fix a bug that the Config clientConnection is not respected in the visibility server. (#7223, @tenzen-y) - With BestEffortFIFO enabled, we will keep attempting to schedule a workload as long as it is waiting for preemption targets to complete. This fixes a bugs where an inadmissible workload went back to head of queue, in front of the preempting workload, allowing preempted workloads to reschedule (#7157, @gabesaba) - WorkloadRequestUseMergePatch: use "strict" mode for admission patches during scheduling which sends the ResourceVersion of the workload being admitted for comparing by kube-apiserver. This fixes the race-condition issue that Workload conditions added concurrently by other controllers could be removed during scheduling. (#7246, @mszadkow) ### Other (Cleanup or Flake) - Improve the messages presented to the user in scheduling events, by clarifying the reason for "insufficient quota" in case of workloads with multiple PodSets. Example: - before: "insufficient quota for resource-type in flavor example-flavor, request > maximum capacity (24 > 16)" - after: "insufficient quota for resource-type in flavor example-flavor, previously considered podsets requests (16) + current podset request (8) > maximum capacity (16)" (#7232, @iomarsayed) - Restrict access to secrets for the Kueue controller manager only to secrets in the Kueue system namespace, ie kueue-system by default, or the one specified during installation with Helm. (#7188, @sbgla-sas) - Support mutating the kueue.x-k8s.io/priority-class label when quota is reserved (#7289, @mbobrovskyi) - V1beta2: Removed deprecated Preempt/Borrow from FlavorFungibility API (#7527, @mbobrovskyi)
Changes since `v0.14.2`: ## Urgent Upgrade Notes ### (No, really, you MUST read this before you upgrade) - MultiKueue: validate remote client kubeconfigs and reject insecure kubeconfigs by default; add feature gate MultiKueueAllowInsecureKubeconfigs to temporarily allow insecure kubeconfigs until v0.17.0. if you are using MultiKueue kubeconfigs which are not passing the new validation please enable the `MultiKueueAllowInsecureKubeconfigs` feature gate and let us know so that we can re-consider the deprecation plans for the feature gate. (#7452, @mszadkow) ## Changes by Kind ### Bug or Regression - Fix a bug where a workload would not get requeued after eviction due to failed hotswap. (#7379, @pajakd) - Fix the kueue-controller-manager startup failures. This fixed the Kueue CrashLoopBackOff due to the log message: "Unable to setup indexes","error":"could not setup multikueue indexer: setting index on workloads admission checks: indexer conflict. (#7440, @IrvingMg) - Fixed the bug that prevented managing workloads with duplicated environment variable names in containers. This issue manifested when creating the Workload via the API. (#7443, @mbobrovskyi) - Increase the number of Topology levels limitations for localqueue and workloads to 16 (#7427, @kannon92) - Services: fix the setting of the `app.kubernetes.io/component` label to discriminate between different service components within Kueue as follows: - controller-manager-metrics-service for kueue-controller-manager-metrics-service - visibility-service for kueue-visibility-server - webhook-service for kueue-webhook-service (#7450, @rphillips)
Changes since `v0.13.7`: ## Urgent Upgrade Notes ### (No, really, you MUST read this before you upgrade) - MultiKueue: validate remote client kubeconfigs and reject insecure kubeconfigs by default; add feature gate MultiKueueAllowInsecureKubeconfigs to temporarily allow insecure kubeconfigs until v0.17.0. if you are using MultiKueue kubeconfigs which are not passing the new validation please enable the `MultiKueueAllowInsecureKubeconfigs` feature gate and let us know so that we can re-consider the deprecation plans for the feature gate. (#7453, @mszadkow) ## Changes by Kind ### Bug or Regression - Fix a bug where a workload would not get requeued after eviction due to failed hotswap. (#7380, @pajakd) - Fix the kueue-controller-manager startup failures. This fixed the Kueue CrashLoopBackOff due to the log message: "Unable to setup indexes","error":"could not setup multikueue indexer: setting index on workloads admission checks: indexer conflict. (#7441, @IrvingMg) - Fixed the bug that prevented managing workloads with duplicated environment variable names in containers. This issue manifested when creating the Workload via the API. (#7442, @mbobrovskyi) - Services: fix the setting of the `app.kubernetes.io/component` label to discriminate between different service components within Kueue as follows: - controller-manager-metrics-service for kueue-controller-manager-metrics-service - visibility-service for kueue-visibility-server - webhook-service for kueue-webhook-service (#7451, @rphillips) - TAS: Increase the number of Topology levels limitations for localqueue and workloads to 16 (#7428, @kannon92)
Changes since `v0.13.5`: ## Changes by Kind ### Bug or Regression - Fix invalid annotations path being reported in `JobSet` topology validations. (#7190, @kshalot) - Fix malformed annotations paths being reported for `RayJob` and `RayCluster` head group specs. (#7184, @kshalot) - With BestEffortFIFO enabled, we will keep attempting to schedule a workload as long as it is waiting for preemption targets to complete. This fixes a bugs where an inadmissible workload went back to head of queue, in front of the preempting workload, allowing preempted workloads to reschedule (#7202, @gabesaba)