What you would like to be added?
Instead of typed TrainingRuntime, we want to get ApplyConfiguration TrainingRuntime, and then reuse it in the whole of KF Pipeline Framework processes
|
err := r.client.Get(ctx, client.ObjectKey{Namespace: trainJob.Namespace, Name: trainJob.Spec.RuntimeRef.Name}, &trainingRuntime) |
|
if err != nil { |
|
return nil, fmt.Errorf("%w: %w", errorNotFoundSpecifiedTrainingRuntime, err) |
|
} |
|
return r.buildObjects(ctx, trainJob, trainingRuntime.Spec.Template, trainingRuntime.Spec.MLPolicy, trainingRuntime.Spec.PodGroupPolicy) |
Why is this needed?
In the SSA semantics, zero and null have completely different meanings. However, converting from typed object to ApplyConfiguration can not recognize the differences. This indicates the KF Pipeline Framework might accidentally remove any fields during SSA PATCH.
Love this feature?
Give it a 👍 We prioritize the features with most 👍
What you would like to be added?
Instead of typed TrainingRuntime, we want to get ApplyConfiguration TrainingRuntime, and then reuse it in the whole of KF Pipeline Framework processes
trainer/pkg/runtime/core/trainingruntime.go
Lines 75 to 79 in b89ce84
Why is this needed?
In the SSA semantics, zero and null have completely different meanings. However, converting from typed object to ApplyConfiguration can not recognize the differences. This indicates the KF Pipeline Framework might accidentally remove any fields during SSA PATCH.
Love this feature?
Give it a 👍 We prioritize the features with most 👍