Skip to content

Commit 0447296

Browse files
committed
refactor, update tests and UX for crp status
keep available/applied condition true and update CRP status message/reason Signed-off-by: Britania Rodriguez Reyes <britaniar@microsoft.com>
1 parent 4071855 commit 0447296

File tree

10 files changed

+1101
-88
lines changed

10 files changed

+1101
-88
lines changed

pkg/controllers/clusterresourceplacement/controller_integration_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -249,7 +249,7 @@ func updateClusterResourceBindingWithAvailable(binding *placementv1beta1.Cluster
249249
cond = metav1.Condition{
250250
Status: metav1.ConditionTrue,
251251
Type: string(placementv1beta1.ResourceBindingAvailable),
252-
Reason: condition.AvailableReason,
252+
Reason: condition.NoResourcesSelectedReason,
253253
ObservedGeneration: binding.Generation,
254254
}
255255
meta.SetStatusCondition(&binding.Status.Conditions, cond)
@@ -1338,7 +1338,7 @@ var _ = Describe("Test ClusterResourcePlacement Controller", func() {
13381338
wantCondition = metav1.Condition{
13391339
Status: metav1.ConditionTrue,
13401340
Type: string(placementv1beta1.ClusterResourcePlacementAvailableConditionType),
1341-
Reason: condition.AvailableReason,
1341+
Reason: condition.NoResourcesSelectedReason,
13421342
}
13431343
meta.SetStatusCondition(&wantCRP.Status.Conditions, wantCondition)
13441344
wantCondition.Type = string(placementv1beta1.ResourceBindingAvailable)

pkg/controllers/clusterresourceplacement/placement_status.go

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -237,7 +237,8 @@ func setCRPConditions(
237237
default:
238238
// All the conditions of the given type are True.
239239
cond := i.TrueClusterResourcePlacementCondition(crp.Generation, rpsSetCondTypeCounter[i][condition.TrueConditionStatus])
240-
if i == condition.OverriddenCondition {
240+
switch i {
241+
case condition.OverriddenCondition:
241242
hasOverride := false
242243
for _, status := range allRPS {
243244
if len(status.ApplicableResourceOverrides) > 0 || len(status.ApplicableClusterResourceOverrides) > 0 {
@@ -249,6 +250,15 @@ func setCRPConditions(
249250
cond.Reason = condition.OverrideNotSpecifiedReason
250251
cond.Message = "No override rules are configured for the selected resources"
251252
}
253+
case condition.AppliedCondition:
254+
if len(crp.Status.SelectedResources) == 0 {
255+
cond.Message = "Previous resources are deleted. No new resources are selected for the placement"
256+
}
257+
case condition.AvailableCondition:
258+
if len(crp.Status.SelectedResources) == 0 {
259+
cond.Reason = condition.NoResourcesSelectedReason
260+
cond.Message = "No new resources are selected for the placement. Please update crp to select new resources"
261+
}
252262
}
253263
crp.SetConditions(cond)
254264
}

0 commit comments

Comments
 (0)