in pkg/controller/jobs/mpijob/mpijob_controller.go [162:184]
func (j *MPIJob) Finished() (metav1.Condition, bool) {
var conditionType kubeflow.JobConditionType
var finished bool
for _, c := range j.Status.Conditions {
if (c.Type == kubeflow.JobSucceeded || c.Type == kubeflow.JobFailed) && c.Status == corev1.ConditionTrue {
conditionType = c.Type
finished = true
break
}
}
message := "Job finished successfully"
if conditionType == kubeflow.JobFailed {
message = "Job failed"
}
condition := metav1.Condition{
Type: kueue.WorkloadFinished,
Status: metav1.ConditionTrue,
Reason: "JobFinished",
Message: message,
}
return condition, finished
}