KEP-3562: [OptimizationJob] Integrate Kueue using `suspend` and `managedBy` fields for queue management
- Dominant language
- Go
- Stars
- 2.2k
- Forks
- 1.1k
- Avg merge
- 3d 22h
- Merged PRs (30d)
- 39
Description
### What you would like to be added?
Context:
Kubeflow Trainer integrates natively with [Kueue](https://kueue.sigs.k8s.io/) for job queuing, quota management, and fair sharing across teams.
Problem:
Without explicit `suspend` and `managedBy` fields on `OptimizationJob`, Kueue cannot gate or queue the top-level optimization parent job or coordinate cluster capacity before spawning trial pods.
Future Goals:
- Add `spec.suspend` and `spec.managedBy` fields to OptimizationJobSpec.
- Update controller reconciliation to respect Kueue's gating controls.
- Ensure trial allocation honors tenant resource quotas.
Relates to KEP-3562 Master Tracking [Issue](https://github.com/kubeflow/trainer/issues/3562).
### Why is this needed?
Proper Kueue integration prevents `OptimizationJob` from over-provisioning cluster resources and ensures fair queue scheduling across multi-tenant clusters.
### Love this feature?
Give it a 👍 We prioritize the features with most 👍
Contributor guide
Assessment
This issue has not been assessed yet.