in pkg/controller/jobframework/reconciler.go [388:413]
func (r *JobReconciler) constructWorkload(ctx context.Context, job GenericJob, object client.Object) (*kueue.Workload, error) {
wl := &kueue.Workload{
ObjectMeta: metav1.ObjectMeta{
Name: GetWorkloadNameForOwnerWithGVK(object.GetName(), job.GetGVK()),
Namespace: object.GetNamespace(),
},
Spec: kueue.WorkloadSpec{
PodSets: job.PodSets(),
QueueName: QueueName(job),
},
}
priorityClassName, p, err := utilpriority.GetPriorityFromPriorityClass(
ctx, r.client, job.PriorityClass())
if err != nil {
return nil, err
}
wl.Spec.PriorityClassName = priorityClassName
wl.Spec.Priority = &p
if err := ctrl.SetControllerReference(object, wl, r.scheme); err != nil {
return nil, err
}
return wl, nil
}