Skip to content

Commit c754100

Browse files
ArvindthiruArvind Thirumurugan
authored andcommitted
add E2Es
1 parent 3479ddb commit c754100

20 files changed

+1450
-140
lines changed

cmd/hubagent/workload/setup.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -229,7 +229,8 @@ func SetupControllers(ctx context.Context, wg *sync.WaitGroup, mgr ctrl.Manager,
229229
}
230230
klog.Info("Setting up cluster resource placement eviction controller")
231231
if err := (&clusterresourceplacementeviction.Reconciler{
232-
Client: mgr.GetClient(),
232+
Client: mgr.GetClient(),
233+
UncachedReader: mgr.GetAPIReader(),
233234
}).SetupWithManager(mgr); err != nil {
234235
klog.ErrorS(err, "Unable to set up cluster resource placement eviction controller")
235236
return err

pkg/controllers/clusterresourceplacementeviction/controller.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@ import (
3030
// Reconciler reconciles a ClusterResourcePlacementEviction object.
3131
type Reconciler struct {
3232
client.Client
33+
// UncachedReader is only used to read disruption budget objects directly from the API server to ensure we can enforce the disruption budget for eviction.
34+
UncachedReader client.Reader
3335
}
3436

3537
// Reconcile triggers a single eviction reconcile round.
@@ -185,7 +187,7 @@ func (r *Reconciler) executeEviction(ctx context.Context, validationResult *evic
185187
}
186188

187189
var db placementv1beta1.ClusterResourcePlacementDisruptionBudget
188-
if err := r.Client.Get(ctx, types.NamespacedName{Name: crp.Name}, &db); err != nil {
190+
if err := r.UncachedReader.Get(ctx, types.NamespacedName{Name: crp.Name}, &db); err != nil {
189191
if k8serrors.IsNotFound(err) {
190192
if err = r.deleteClusterResourceBinding(ctx, evictionTargetBinding); err != nil {
191193
return err

pkg/controllers/clusterresourceplacementeviction/controller_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -624,7 +624,8 @@ func TestExecuteEviction(t *testing.T) {
624624
WithObjects(objects...).
625625
Build()
626626
r := Reconciler{
627-
Client: fakeClient,
627+
Client: fakeClient,
628+
UncachedReader: fakeClient,
628629
}
629630
gotErr := r.executeEviction(ctx, tc.validationResult, tc.eviction)
630631
gotExecutedCondition := tc.eviction.GetCondition(string(placementv1beta1.PlacementEvictionConditionTypeExecuted))

pkg/controllers/clusterresourceplacementeviction/suite_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,8 @@ var _ = BeforeSuite(func() {
8181
Expect(err).Should(Succeed())
8282

8383
err = (&Reconciler{
84-
Client: k8sClient,
84+
Client: k8sClient,
85+
UncachedReader: mgr.GetAPIReader(),
8586
}).SetupWithManager(mgr)
8687
Expect(err).Should(Succeed())
8788

test/e2e/actuals_test.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -921,6 +921,15 @@ func crpEvictionRemovedActual(crpEvictionName string) func() error {
921921
}
922922
}
923923

924+
func crpDisruptionBudgetRemovedActual(crpDisruptionBudgetName string) func() error {
925+
return func() error {
926+
if err := hubClient.Get(ctx, types.NamespacedName{Name: crpDisruptionBudgetName}, &placementv1alpha1.ClusterResourcePlacementDisruptionBudget{}); !errors.IsNotFound(err) {
927+
return fmt.Errorf("CRP disruption budget still exists or an unexpected error occurred: %w", err)
928+
}
929+
return nil
930+
}
931+
}
932+
924933
func validateCRPSnapshotRevisions(crpName string, wantPolicySnapshotRevision, wantResourceSnapshotRevision int) error {
925934
matchingLabels := client.MatchingLabels{placementv1beta1.CRPTrackingLabel: crpName}
926935

test/e2e/enveloped_object_placement_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@ var _ = Describe("placing wrapped resources using a CRP", func() {
165165

166166
AfterAll(func() {
167167
By(fmt.Sprintf("deleting placement %s and related resources", crpName))
168-
ensureCRPAndRelatedResourcesDeletion(crpName, allMemberClusters)
168+
ensureCRPAndRelatedResourcesDeleted(crpName, allMemberClusters)
169169
})
170170
})
171171

@@ -324,7 +324,7 @@ var _ = Describe("placing wrapped resources using a CRP", func() {
324324

325325
AfterAll(func() {
326326
By(fmt.Sprintf("deleting placement %s and related resources", crpName))
327-
ensureCRPAndRelatedResourcesDeletion(crpName, allMemberClusters)
327+
ensureCRPAndRelatedResourcesDeleted(crpName, allMemberClusters)
328328
})
329329
})
330330
})

test/e2e/join_and_leave_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ var _ = Describe("Test member cluster join and leave flow", Ordered, Serial, fun
122122

123123
AfterAll(func() {
124124
By(fmt.Sprintf("deleting placement %s and related resources", crpName))
125-
ensureCRPAndRelatedResourcesDeletion(crpName, allMemberClusters)
125+
ensureCRPAndRelatedResourcesDeleted(crpName, allMemberClusters)
126126
})
127127
})
128128

test/e2e/placement_cro_test.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ var _ = Describe("creating clusterResourceOverride (selecting all clusters) to o
7777

7878
AfterAll(func() {
7979
By(fmt.Sprintf("deleting placement %s and related resources", crpName))
80-
ensureCRPAndRelatedResourcesDeletion(crpName, allMemberClusters)
80+
ensureCRPAndRelatedResourcesDeleted(crpName, allMemberClusters)
8181

8282
By(fmt.Sprintf("deleting clusterResourceOverride %s", croName))
8383
cleanupClusterResourceOverride(croName)
@@ -205,7 +205,7 @@ var _ = Describe("creating clusterResourceOverride with multiple jsonPatchOverri
205205

206206
AfterAll(func() {
207207
By(fmt.Sprintf("deleting placement %s and related resources", crpName))
208-
ensureCRPAndRelatedResourcesDeletion(crpName, allMemberClusters)
208+
ensureCRPAndRelatedResourcesDeleted(crpName, allMemberClusters)
209209

210210
By(fmt.Sprintf("deleting clusterResourceOverride %s", croName))
211211
cleanupClusterResourceOverride(croName)
@@ -341,7 +341,7 @@ var _ = Describe("creating clusterResourceOverride with different rules for each
341341

342342
AfterAll(func() {
343343
By(fmt.Sprintf("deleting placement %s and related resources", crpName))
344-
ensureCRPAndRelatedResourcesDeletion(crpName, allMemberClusters)
344+
ensureCRPAndRelatedResourcesDeleted(crpName, allMemberClusters)
345345

346346
By(fmt.Sprintf("deleting clusterResourceOverride %s", croName))
347347
cleanupClusterResourceOverride(croName)
@@ -417,7 +417,7 @@ var _ = Describe("creating clusterResourceOverride with different rules for each
417417

418418
AfterAll(func() {
419419
By(fmt.Sprintf("deleting placement %s and related resources", crpName))
420-
ensureCRPAndRelatedResourcesDeletion(crpName, allMemberClusters)
420+
ensureCRPAndRelatedResourcesDeleted(crpName, allMemberClusters)
421421

422422
By(fmt.Sprintf("deleting clusterResourceOverride %s", croName))
423423
cleanupClusterResourceOverride(croName)
@@ -494,7 +494,7 @@ var _ = Describe("creating clusterResourceOverride with incorrect path", Ordered
494494

495495
AfterAll(func() {
496496
By(fmt.Sprintf("deleting placement %s and related resources", crpName))
497-
ensureCRPAndRelatedResourcesDeletion(crpName, allMemberClusters)
497+
ensureCRPAndRelatedResourcesDeleted(crpName, allMemberClusters)
498498

499499
By(fmt.Sprintf("deleting clusterResourceOverride %s", croName))
500500
cleanupClusterResourceOverride(croName)
@@ -564,7 +564,7 @@ var _ = Describe("creating clusterResourceOverride with and resource becomes inv
564564

565565
AfterAll(func() {
566566
By(fmt.Sprintf("deleting placement %s and related resources", crpName))
567-
ensureCRPAndRelatedResourcesDeletion(crpName, allMemberClusters)
567+
ensureCRPAndRelatedResourcesDeleted(crpName, allMemberClusters)
568568

569569
By(fmt.Sprintf("deleting clusterResourceOverride %s", croName))
570570
cleanupClusterResourceOverride(croName)
@@ -653,7 +653,7 @@ var _ = Describe("creating clusterResourceOverride with delete rules for one clu
653653

654654
AfterAll(func() {
655655
By(fmt.Sprintf("deleting placement %s and related resources", crpName))
656-
ensureCRPAndRelatedResourcesDeletion(crpName, allMemberClusters)
656+
ensureCRPAndRelatedResourcesDeleted(crpName, allMemberClusters)
657657

658658
By(fmt.Sprintf("deleting clusterResourceOverride %s", croName))
659659
cleanupClusterResourceOverride(croName)

0 commit comments

Comments
 (0)