@@ -117,7 +117,8 @@ func (r *WorkloadReconciler) Reconcile(ctx context.Context, req ctrl.Request) (c
117
117
return ctrl.Result {}, nil
118
118
}
119
119
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 ()))
121
122
return ctrl.Result {}, nil
122
123
}
123
124
@@ -164,28 +165,23 @@ func (r *WorkloadReconciler) shouldFinalize(wl *kueue.Workload) bool {
164
165
return ! wl .DeletionTimestamp .IsZero () || workload .IsFinished (wl ) || workload .IsEvicted (wl ) || ! workload .IsActive (wl )
165
166
}
166
167
167
- func ( r * WorkloadReconciler ) isRelevantWorkload ( wl * kueue.Workload , log logr. Logger ) bool {
168
+ func validateRelevantWorkload ( wl * kueue.Workload ) error {
168
169
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" )
171
171
}
172
172
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" )
175
174
}
176
175
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" )
179
177
}
180
178
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" )
183
180
}
184
181
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" )
187
183
}
188
- return true
184
+ return nil
189
185
}
190
186
191
187
func hasRelevantPodSet (podSets []kueue.PodSet ) bool {
@@ -219,7 +215,7 @@ func parseTopologyAssignmentIntoNodeSelector(slice *v1alpha1.Slice, wl *kueue.Wo
219
215
nodeSelectors := sets .New [string ]()
220
216
for _ , psa := range wl .Status .Admission .PodSetAssignments {
221
217
// we already validated that all assignments have a valid level,
222
- // in isRelevantWorkload .
218
+ // in validateRelevantWorkload .
223
219
subblockLevelIndex := topology .SubblockLevelIndex (& psa )
224
220
for _ , domain := range psa .TopologyAssignment .Domains {
225
221
nodeSelectors .Insert (domain .Values [subblockLevelIndex ])
0 commit comments