Skip to content

Commit 250dc0a

Browse files
committed
address comment
Signed-off-by: Ryan Zhang <[email protected]>
1 parent 778c9ef commit 250dc0a

File tree

4 files changed

+9
-13
lines changed

4 files changed

+9
-13
lines changed

pkg/scheduler/framework/frameworkutils.go

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -207,7 +207,7 @@ func crossReferencePickedClustersAndDeDupBindings(
207207
}
208208
binding, err := generateBinding(placementKey, scored.Cluster.Name)
209209
if err != nil {
210-
return nil, nil, nil, err
210+
return nil, nil, nil, fmt.Errorf("failed to generate binding for cluster %q: %w", scored.Cluster.Name, err)
211211
}
212212
// Set the binding spec.
213213
binding.SetBindingSpec(bindingSpec)
@@ -740,7 +740,7 @@ func crossReferenceValidTargetsWithBindings(
740740
binding, err := generateBinding(placementKey, cluster.Name)
741741
if err != nil {
742742
// Cannot generate a binding; normally this should never happen.
743-
return nil, nil, nil, controller.NewUnexpectedBehaviorError(fmt.Errorf("failed to generate binding: %w", err))
743+
return nil, nil, nil, fmt.Errorf("failed to generate binding: %w", err)
744744
}
745745
// Set the binding spec.
746746
spec := placementv1beta1.ResourceBindingSpec{
@@ -763,14 +763,9 @@ func crossReferenceValidTargetsWithBindings(
763763

764764
// Perform the cross-reference to find out bindings that should be deleted.
765765
for _, binding := range obsolete {
766-
spec := binding.GetBindingSpec()
767-
if _, ok := validTargetMap[spec.TargetCluster]; !ok {
766+
if _, ok := validTargetMap[binding.GetBindingSpec().TargetCluster]; !ok {
768767
// The cluster is no longer a valid target; mark the binding as unscheduled.
769-
if crb, ok := binding.(*placementv1beta1.ClusterResourceBinding); ok {
770-
toDelete = append(toDelete, crb)
771-
} else {
772-
return nil, nil, nil, controller.NewUnexpectedBehaviorError(fmt.Errorf("unexpected binding type: %T", binding))
773-
}
768+
toDelete = append(toDelete, binding)
774769
}
775770
}
776771

pkg/scheduler/scheduler.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ func (s *Scheduler) scheduleOnce(ctx context.Context, worker int) {
167167
if err := s.cleanUpAllBindingsFor(ctx, placement); err != nil {
168168
klog.ErrorS(err, "Failed to clean up all bindings for placement", "placement", placementRef)
169169
if errors.Is(err, controller.ErrUnexpectedBehavior) {
170-
// The placement is in an unexpected state; this is a scheduler-side error, and
170+
// The placement is in an unexpected state, don't requeue it.
171171
return
172172
}
173173
// Requeue for later processing.
@@ -324,7 +324,7 @@ func (s *Scheduler) cleanUpAllBindingsFor(ctx context.Context, placement fleetv1
324324
binding := bindings[idx]
325325
controllerutil.RemoveFinalizer(binding, fleetv1beta1.SchedulerCRBCleanupFinalizer)
326326
if err := s.client.Update(ctx, binding); err != nil {
327-
klog.ErrorS(err, "Failed to remove scheduler reconcile finalizer from resource binding", "binding", klog.KObj(binding))
327+
klog.ErrorS(err, "Failed to remove scheduler reconcile finalizer from binding", "binding", klog.KObj(binding))
328328
return controller.NewUpdateIgnoreConflictError(err)
329329
}
330330
// Delete the binding if it has not been marked for deletion yet.

pkg/utils/controller/binding_resolver.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ package controller
1818

1919
import (
2020
"context"
21+
"fmt"
2122

2223
"sigs.k8s.io/controller-runtime/pkg/client"
2324

@@ -33,7 +34,7 @@ func ListBindingsFromKey(ctx context.Context, c client.Reader, placementKey queu
3334
// Extract namespace and name from the placement key
3435
namespace, name, err := ExtractNamespaceNameFromKey(placementKey)
3536
if err != nil {
36-
return nil, err
37+
return nil, fmt.Errorf("failed to list binding for a placement: %w", err)
3738
}
3839
var listOptions []client.ListOption
3940
var bindingList placementv1beta1.BindingObjList

pkg/utils/controller/placement_resolver.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ func ExtractNamespaceNameFromKey(placementKey queue.PlacementKey) (string, strin
8787
return "", "", NewUnexpectedBehaviorError(fmt.Errorf("invalid placement key format: %s", keyStr))
8888
}
8989
if len(parts[0]) == 0 || len(parts[1]) == 0 {
90-
return "", "", NewUnexpectedBehaviorError(fmt.Errorf("empty placement key"))
90+
return "", "", NewUnexpectedBehaviorError(fmt.Errorf("empty placement key <namespace/name>: %s", keyStr))
9191
}
9292
return parts[0], parts[1], nil
9393
} else {

0 commit comments

Comments
 (0)