Skip to content

Commit ddc787f

Browse files
authored
[Slice] Refactor isRelevantWorkload()
2 parents ebea3ee + 4ba725d commit ddc787f

File tree

1 file changed

+10
-14
lines changed

1 file changed

+10
-14
lines changed

slice/internal/controller/workload_controller.go

Lines changed: 10 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,8 @@ func (r *WorkloadReconciler) Reconcile(ctx context.Context, req ctrl.Request) (c
117117
return ctrl.Result{}, nil
118118
}
119119

120-
if !r.isRelevantWorkload(wl, log) {
120+
if err = validateRelevantWorkload(wl); err != nil {
121+
log.V(3).Info(fmt.Sprintf("Skipping workload as it %s", err.Error()))
121122
return ctrl.Result{}, nil
122123
}
123124

@@ -164,28 +165,23 @@ func (r *WorkloadReconciler) shouldFinalize(wl *kueue.Workload) bool {
164165
return !wl.DeletionTimestamp.IsZero() || workload.IsFinished(wl) || workload.IsEvicted(wl) || !workload.IsActive(wl)
165166
}
166167

167-
func (r *WorkloadReconciler) isRelevantWorkload(wl *kueue.Workload, log logr.Logger) bool {
168+
func validateRelevantWorkload(wl *kueue.Workload) error {
168169
if !hasRelevantPodSet(wl.Spec.PodSets) {
169-
log.V(3).Info("Skipping workload as it does not have a relevant podset")
170-
return false
170+
return errors.New("does not have a relevant podset")
171171
}
172172
if !workload.HasQuotaReservation(wl) {
173-
log.V(3).Info("Skipping workload as it does not have a quota reservation")
174-
return false
173+
return errors.New("does not have a quota reservation")
175174
}
176175
if wl.Status.Admission == nil {
177-
log.V(3).Info("Skipping workload as it has no admission")
178-
return false
176+
return errors.New("has no admission")
179177
}
180178
if !topology.AnyAssignment(wl.Status.Admission) {
181-
log.V(3).Info("Skipping workload as it has no topology assignment")
182-
return false
179+
return errors.New("has no topology assignment")
183180
}
184181
if !topology.AllAssignmentsValid(wl.Status.Admission) {
185-
log.V(3).Info("Skipping workload as it has invalid topology assignments")
186-
return false
182+
return errors.New("has invalid topology assignments")
187183
}
188-
return true
184+
return nil
189185
}
190186

191187
func hasRelevantPodSet(podSets []kueue.PodSet) bool {
@@ -219,7 +215,7 @@ func parseTopologyAssignmentIntoNodeSelector(slice *v1alpha1.Slice, wl *kueue.Wo
219215
nodeSelectors := sets.New[string]()
220216
for _, psa := range wl.Status.Admission.PodSetAssignments {
221217
// we already validated that all assignments have a valid level,
222-
// in isRelevantWorkload.
218+
// in validateRelevantWorkload.
223219
subblockLevelIndex := topology.SubblockLevelIndex(&psa)
224220
for _, domain := range psa.TopologyAssignment.Domains {
225221
nodeSelectors.Insert(domain.Values[subblockLevelIndex])

0 commit comments

Comments
 (0)