in pkg/controllers/jobset_controller.go [530:548]
func updateCondition(js *jobset.JobSet, condition metav1.Condition) bool {
condition.LastTransitionTime = metav1.Now()
for i, val := range js.Status.Conditions {
if condition.Type == val.Type && condition.Status != val.Status {
js.Status.Conditions[i] = condition
// Condition found but different status so we should update
return true
} else if condition.Type == val.Type && condition.Status == val.Status {
// Duplicate condition so no update
return false
}
}
// condition doesn't exist, update only if the status is true
if condition.Status == metav1.ConditionTrue {
js.Status.Conditions = append(js.Status.Conditions, condition)
return true
}
return false
}