kubernetes-sigs / kueue

Kubernetes-native Job Queueing
https://kueue.sigs.k8s.io
Apache License 2.0
1.49k stars 267 forks source link

Set `Requeued` condition, and unset `QuotaReserved` condition on eviction in Workload Reconciler #3474

Open PBundyra opened 3 weeks ago

PBundyra commented 3 weeks ago

What would you like to be cleaned: Currently the Requeued, and QuotaReserved conditions are set by the jobframework reconciler

Ideally this logic should be moved to the Workload Controller to simplify logic, ease maintenance and adding new features, and avoid unpredictable race conditions. The logic should be atomic with eviction

Why is this needed:

PBundyra commented 3 weeks ago

/kind feature

mimowo commented 3 weeks ago

I agree it would be cleaner, but for that we need to figure out how solve the dependency issue on the Job, as currently workload controller is Job-agnostic: https://github.com/kubernetes-sigs/kueue/blob/e5dd891432f61c4a418e69405c840110553c07b0/pkg/controller/jobframework/reconciler.go#L458

tenzen-y commented 3 weeks ago

As far as I know, during introducing this mechanism, we evaluated this proposed solution. But, we declined that based on the Michal mentioned reason. I guess that we need to introduce another mechanism or a lot of refactoring...