@@ -419,7 +419,11 @@ func crpRolloutCompletedConditions(generation int64, hasOverride bool) []metav1.
419419 }
420420}
421421
422- func crpNoResourcesSelectedConditions (generation int64 ) []metav1.Condition {
422+ func crpNoResourcesSelectedConditions (generation int64 , hasOverride bool ) []metav1.Condition {
423+ overrideConditionReason := condition .OverrideNotSpecifiedReason
424+ if hasOverride {
425+ overrideConditionReason = condition .OverriddenSucceededReason
426+ }
423427 return []metav1.Condition {
424428 {
425429 Type : string (placementv1beta1 .ClusterResourcePlacementScheduledConditionType ),
@@ -436,13 +440,13 @@ func crpNoResourcesSelectedConditions(generation int64) []metav1.Condition {
436440 {
437441 Type : string (placementv1beta1 .ClusterResourcePlacementOverriddenConditionType ),
438442 Status : metav1 .ConditionTrue ,
439- Reason : condition . OverrideNotSpecifiedReason ,
443+ Reason : overrideConditionReason ,
440444 ObservedGeneration : generation ,
441445 },
442446 {
443447 Type : string (placementv1beta1 .ClusterResourcePlacementWorkSynchronizedConditionType ),
444448 Status : metav1 .ConditionTrue ,
445- Reason : condition .AllWorkSyncedReason ,
449+ Reason : condition .WorkSynchronizedReason ,
446450 ObservedGeneration : generation ,
447451 },
448452 {
@@ -451,6 +455,12 @@ func crpNoResourcesSelectedConditions(generation int64) []metav1.Condition {
451455 Reason : condition .ApplySucceededReason ,
452456 ObservedGeneration : generation ,
453457 },
458+ {
459+ Type : string (placementv1beta1 .ClusterResourcePlacementAvailableConditionType ),
460+ Status : metav1 .ConditionTrue ,
461+ Reason : condition .NoResourcesSelectedReason ,
462+ ObservedGeneration : generation ,
463+ },
454464 }
455465}
456466
@@ -591,6 +601,52 @@ func resourcePlacementRolloutCompletedConditions(generation int64, resourceIsTra
591601 }
592602}
593603
604+ func resourcePlacementRolloutCompletedConditionsWithNoSelectedResource (generation int64 , hasOverride bool ) []metav1.Condition {
605+ overrideConditionReason := condition .OverrideNotSpecifiedReason
606+ if hasOverride {
607+ overrideConditionReason = condition .OverriddenSucceededReason
608+ }
609+
610+ return []metav1.Condition {
611+ {
612+ Type : string (placementv1beta1 .ResourceScheduledConditionType ),
613+ Status : metav1 .ConditionTrue ,
614+ Reason : condition .ScheduleSucceededReason ,
615+ ObservedGeneration : generation ,
616+ },
617+ {
618+ Type : string (placementv1beta1 .ResourceRolloutStartedConditionType ),
619+ Status : metav1 .ConditionTrue ,
620+ Reason : condition .RolloutStartedReason ,
621+ ObservedGeneration : generation ,
622+ },
623+ {
624+ Type : string (placementv1beta1 .ResourceOverriddenConditionType ),
625+ Status : metav1 .ConditionTrue ,
626+ Reason : overrideConditionReason ,
627+ ObservedGeneration : generation ,
628+ },
629+ {
630+ Type : string (placementv1beta1 .ResourceWorkSynchronizedConditionType ),
631+ Status : metav1 .ConditionTrue ,
632+ Reason : condition .AllWorkSyncedReason ,
633+ ObservedGeneration : generation ,
634+ },
635+ {
636+ Type : string (placementv1beta1 .ResourcesAppliedConditionType ),
637+ Status : metav1 .ConditionTrue ,
638+ Reason : condition .AllWorkAppliedReason ,
639+ ObservedGeneration : generation ,
640+ },
641+ {
642+ Type : string (placementv1beta1 .ResourcesAvailableConditionType ),
643+ Status : metav1 .ConditionTrue ,
644+ Reason : condition .NoResourcesSelectedReason ,
645+ ObservedGeneration : generation ,
646+ },
647+ }
648+ }
649+
594650func resourcePlacementScheduleFailedConditions (generation int64 ) []metav1.Condition {
595651 return []metav1.Condition {
596652 {
@@ -861,10 +917,17 @@ func customizedCRPStatusUpdatedActual(crpName string,
861917
862918 wantPlacementStatus := []placementv1beta1.ResourcePlacementStatus {}
863919 for _ , name := range wantSelectedClusters {
864- wantPlacementStatus = append (wantPlacementStatus , placementv1beta1.ResourcePlacementStatus {
865- ClusterName : name ,
866- Conditions : resourcePlacementRolloutCompletedConditions (crp .Generation , resourceIsTrackable , false ),
867- })
920+ if len (wantSelectedResourceIdentifiers ) == 0 || wantSelectedResourceIdentifiers == nil {
921+ wantPlacementStatus = append (wantPlacementStatus , placementv1beta1.ResourcePlacementStatus {
922+ ClusterName : name ,
923+ Conditions : resourcePlacementRolloutCompletedConditionsWithNoSelectedResource (crp .Generation , false ),
924+ })
925+ } else {
926+ wantPlacementStatus = append (wantPlacementStatus , placementv1beta1.ResourcePlacementStatus {
927+ ClusterName : name ,
928+ Conditions : resourcePlacementRolloutCompletedConditions (crp .Generation , resourceIsTrackable , false ),
929+ })
930+ }
868931 }
869932 for i := 0 ; i < len (wantUnselectedClusters ); i ++ {
870933 wantPlacementStatus = append (wantPlacementStatus , placementv1beta1.ResourcePlacementStatus {
@@ -874,8 +937,8 @@ func customizedCRPStatusUpdatedActual(crpName string,
874937
875938 var wantCRPConditions []metav1.Condition
876939 if len (wantSelectedClusters ) > 0 {
877- if len (wantSelectedResourceIdentifiers ) == 0 {
878- wantCRPConditions = crpNoResourcesSelectedConditions (crp .Generation )
940+ if len (wantSelectedResourceIdentifiers ) == 0 || wantSelectedResourceIdentifiers == nil {
941+ wantCRPConditions = crpNoResourcesSelectedConditions (crp .Generation , false )
879942 } else {
880943 wantCRPConditions = crpRolloutCompletedConditions (crp .Generation , false )
881944 }
0 commit comments