Skip to content

Commit 6674a0e

Browse files
committed
fix e2e tests
Signed-off-by: Britania Rodriguez Reyes <britaniar@microsoft.com>
1 parent 8936229 commit 6674a0e

File tree

3 files changed

+121
-11
lines changed

3 files changed

+121
-11
lines changed

pkg/controllers/workgenerator/controller.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1286,7 +1286,7 @@ func setAllWorkAvailableCondition(resourcesSelected bool, works map[string]*flee
12861286
Status: metav1.ConditionTrue,
12871287
Type: string(fleetv1beta1.ResourceBindingAvailable),
12881288
Reason: condition.NoResourcesSelectedReason,
1289-
Message: "No resources selected. Please update CRP to select resources.",
1289+
Message: "No resources selected.",
12901290
ObservedGeneration: binding.GetGeneration(),
12911291
})
12921292
return workConditionSummarizedStatusTrue

test/e2e/actuals_test.go

Lines changed: 72 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -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+
594650
func 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
}

test/e2e/placement_cro_test.go

Lines changed: 48 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ package e2e
1818
import (
1919
"fmt"
2020

21+
"github.com/google/go-cmp/cmp"
2122
. "github.com/onsi/ginkgo/v2"
2223
. "github.com/onsi/gomega"
2324
corev1 "k8s.io/api/core/v1"
@@ -690,7 +691,53 @@ var _ = Context("creating clusterResourceOverride with delete rules for one clus
690691

691692
It("should update CRP status as expected", func() {
692693
wantCRONames := []string{fmt.Sprintf(placementv1alpha1.OverrideSnapshotNameFmt, croName, 0)}
693-
crpStatusUpdatedActual := crpStatusWithOverrideUpdatedActual(workResourceIdentifiers(), allMemberClusterNames, "0", wantCRONames, nil)
694+
crpStatusUpdatedActual := func() error {
695+
crp := &placementv1beta1.ClusterResourcePlacement{}
696+
if err := hubClient.Get(ctx, types.NamespacedName{Name: crpName}, crp); err != nil {
697+
return err
698+
}
699+
700+
workNamespaceName := fmt.Sprintf(workNamespaceNameTemplate, GinkgoParallelProcess())
701+
appConfigMapName := fmt.Sprintf(appConfigMapNameTemplate, GinkgoParallelProcess())
702+
wantStatus := placementv1beta1.ClusterResourcePlacementStatus{
703+
Conditions: crpRolloutCompletedConditions(crp.Generation, true),
704+
PlacementStatuses: []placementv1beta1.ResourcePlacementStatus{
705+
{
706+
ClusterName: memberCluster1EastProdName,
707+
Conditions: resourcePlacementRolloutCompletedConditions(crp.Generation, true, true),
708+
ApplicableClusterResourceOverrides: wantCRONames,
709+
},
710+
{
711+
ClusterName: memberCluster2EastCanaryName,
712+
Conditions: resourcePlacementRolloutCompletedConditions(crp.Generation, true, true),
713+
ApplicableClusterResourceOverrides: wantCRONames,
714+
},
715+
{
716+
ClusterName: memberCluster3WestProdName,
717+
Conditions: resourcePlacementRolloutCompletedConditionsWithNoSelectedResource(crp.Generation, true),
718+
ApplicableClusterResourceOverrides: wantCRONames,
719+
},
720+
},
721+
SelectedResources: []placementv1beta1.ResourceIdentifier{
722+
{
723+
Kind: "Namespace",
724+
Name: workNamespaceName,
725+
Version: "v1",
726+
},
727+
{
728+
Kind: "ConfigMap",
729+
Name: appConfigMapName,
730+
Version: "v1",
731+
Namespace: workNamespaceName,
732+
},
733+
},
734+
ObservedResourceIndex: "0",
735+
}
736+
if diff := cmp.Diff(crp.Status, wantStatus, crpStatusCmpOptions...); diff != "" {
737+
return fmt.Errorf("CRP status diff (-got, +want): %s", diff)
738+
}
739+
return nil
740+
}
694741
Eventually(crpStatusUpdatedActual, eventuallyDuration, eventuallyInterval).Should(Succeed(), "Failed to update CRP %s status as expected", crpName)
695742
})
696743

0 commit comments

Comments
 (0)