Skip to content

Commit 5bfdf61

Browse files
authored
Merge pull request karmada-io#6062 from Monokaix/fix-rb
fix pp suspension mistakenly override scheduling suspension
2 parents 4f86921 + cf46939 commit 5bfdf61

File tree

2 files changed

+24
-4
lines changed

2 files changed

+24
-4
lines changed

pkg/controllers/multiclusterservice/mcs_controller.go

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -404,7 +404,12 @@ func (c *MCSController) propagateService(ctx context.Context, mcs *networkingv1a
404404
bindingCopy.Spec.Placement = binding.Spec.Placement
405405
bindingCopy.Spec.Resource = binding.Spec.Resource
406406
bindingCopy.Spec.ConflictResolution = binding.Spec.ConflictResolution
407-
bindingCopy.Spec.Suspension = binding.Spec.Suspension
407+
if binding.Spec.Suspension != nil {
408+
if bindingCopy.Spec.Suspension == nil {
409+
bindingCopy.Spec.Suspension = &workv1alpha2.Suspension{}
410+
}
411+
bindingCopy.Spec.Suspension.Suspension = binding.Spec.Suspension.Suspension
412+
}
408413
return nil
409414
})
410415
if err != nil {

pkg/detector/detector.go

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -476,8 +476,13 @@ func (d *ResourceDetector) ApplyPolicy(object *unstructured.Unstructured, object
476476
bindingCopy.Spec.Placement = binding.Spec.Placement
477477
bindingCopy.Spec.Failover = binding.Spec.Failover
478478
bindingCopy.Spec.ConflictResolution = binding.Spec.ConflictResolution
479-
bindingCopy.Spec.Suspension = binding.Spec.Suspension
480479
bindingCopy.Spec.PreserveResourcesOnDeletion = binding.Spec.PreserveResourcesOnDeletion
480+
if binding.Spec.Suspension != nil {
481+
if bindingCopy.Spec.Suspension == nil {
482+
bindingCopy.Spec.Suspension = &workv1alpha2.Suspension{}
483+
}
484+
bindingCopy.Spec.Suspension.Suspension = binding.Spec.Suspension.Suspension
485+
}
481486
excludeClusterPolicy(bindingCopy)
482487
return nil
483488
})
@@ -565,8 +570,13 @@ func (d *ResourceDetector) ApplyClusterPolicy(object *unstructured.Unstructured,
565570
bindingCopy.Spec.Placement = binding.Spec.Placement
566571
bindingCopy.Spec.Failover = binding.Spec.Failover
567572
bindingCopy.Spec.ConflictResolution = binding.Spec.ConflictResolution
568-
bindingCopy.Spec.Suspension = binding.Spec.Suspension
569573
bindingCopy.Spec.PreserveResourcesOnDeletion = binding.Spec.PreserveResourcesOnDeletion
574+
if binding.Spec.Suspension != nil {
575+
if bindingCopy.Spec.Suspension == nil {
576+
bindingCopy.Spec.Suspension = &workv1alpha2.Suspension{}
577+
}
578+
bindingCopy.Spec.Suspension.Suspension = binding.Spec.Suspension.Suspension
579+
}
570580
return nil
571581
})
572582
return err
@@ -612,8 +622,13 @@ func (d *ResourceDetector) ApplyClusterPolicy(object *unstructured.Unstructured,
612622
bindingCopy.Spec.Placement = binding.Spec.Placement
613623
bindingCopy.Spec.Failover = binding.Spec.Failover
614624
bindingCopy.Spec.ConflictResolution = binding.Spec.ConflictResolution
615-
bindingCopy.Spec.Suspension = binding.Spec.Suspension
616625
bindingCopy.Spec.PreserveResourcesOnDeletion = binding.Spec.PreserveResourcesOnDeletion
626+
if binding.Spec.Suspension != nil {
627+
if bindingCopy.Spec.Suspension == nil {
628+
bindingCopy.Spec.Suspension = &workv1alpha2.Suspension{}
629+
}
630+
bindingCopy.Spec.Suspension.Suspension = binding.Spec.Suspension.Suspension
631+
}
617632
return nil
618633
})
619634
return err

0 commit comments

Comments
 (0)