@@ -37,6 +37,7 @@ import (
3737var _ = Context ("creating clusterResourceOverride (selecting all clusters) to override all resources under the namespace" , Ordered , func () {
3838 crpName := fmt .Sprintf (crpNameTemplate , GinkgoParallelProcess ())
3939 croName := fmt .Sprintf (croNameTemplate , GinkgoParallelProcess ())
40+ croSnapShotName := fmt .Sprintf (placementv1alpha1 .OverrideSnapshotNameFmt , croName , 0 )
4041
4142 BeforeAll (func () {
4243 By ("creating work resources" )
@@ -69,21 +70,14 @@ var _ = Context("creating clusterResourceOverride (selecting all clusters) to ov
6970 }
7071 By (fmt .Sprintf ("creating clusterResourceOverride %s" , croName ))
7172 Expect (hubClient .Create (ctx , cro )).To (Succeed (), "Failed to create clusterResourceOverride %s" , croName )
73+ //this is to make sure the cro snapshot is created before the CRP
74+ Eventually (func () error {
75+ croSnap := & placementv1alpha1.ClusterResourceOverrideSnapshot {}
76+ return hubClient .Get (ctx , types.NamespacedName {Name : croSnapShotName }, croSnap )
77+ }, eventuallyDuration , eventuallyInterval ).Should (Succeed (), "Failed to update ro as expected" , crpName )
7278
7379 // Create the CRP.
74- crp := & placementv1beta1.ClusterResourcePlacement {
75- ObjectMeta : metav1.ObjectMeta {
76- Name : crpName ,
77- // Add a custom finalizer; this would allow us to better observe
78- // the behavior of the controllers.
79- Finalizers : []string {customDeletionBlockerFinalizer },
80- },
81- Spec : placementv1beta1.ClusterResourcePlacementSpec {
82- ResourceSelectors : workResourceSelector (),
83- },
84- }
85- By (fmt .Sprintf ("creating placement %s" , crpName ))
86- Expect (hubClient .Create (ctx , crp )).To (Succeed (), "Failed to create CRP %s" , crpName )
80+ createCRP (crpName )
8781 })
8882
8983 AfterAll (func () {
@@ -95,7 +89,7 @@ var _ = Context("creating clusterResourceOverride (selecting all clusters) to ov
9589 })
9690
9791 It ("should update CRP status as expected" , func () {
98- wantCRONames := []string {fmt . Sprintf ( placementv1alpha1 . OverrideSnapshotNameFmt , croName , 0 ) }
92+ wantCRONames := []string {croSnapShotName }
9993 crpStatusUpdatedActual := crpStatusWithOverrideUpdatedActual (workResourceIdentifiers (), allMemberClusterNames , "0" , wantCRONames , nil )
10094 Eventually (crpStatusUpdatedActual , eventuallyDuration , eventuallyInterval ).Should (Succeed (), "Failed to update CRP %s status as expected" , crpName )
10195 })
@@ -213,6 +207,7 @@ var _ = Context("creating clusterResourceOverride (selecting all clusters) to ov
213207var _ = Context ("creating clusterResourceOverride with multiple jsonPatchOverrides" , Ordered , func () {
214208 crpName := fmt .Sprintf (crpNameTemplate , GinkgoParallelProcess ())
215209 croName := fmt .Sprintf (croNameTemplate , GinkgoParallelProcess ())
210+ croSnapShotName := fmt .Sprintf (placementv1alpha1 .OverrideSnapshotNameFmt , croName , 0 )
216211
217212 BeforeAll (func () {
218213 By ("creating work resources" )
@@ -251,20 +246,14 @@ var _ = Context("creating clusterResourceOverride with multiple jsonPatchOverrid
251246 By (fmt .Sprintf ("creating clusterResourceOverride %s" , croName ))
252247 Expect (hubClient .Create (ctx , cro )).To (Succeed (), "Failed to create clusterResourceOverride %s" , croName )
253248
249+ //this is to make sure the cro snapshot is created before the CRP
250+ Eventually (func () error {
251+ croSnap := & placementv1alpha1.ClusterResourceOverrideSnapshot {}
252+ return hubClient .Get (ctx , types.NamespacedName {Name : croSnapShotName }, croSnap )
253+ }, eventuallyDuration , eventuallyInterval ).Should (Succeed (), "Failed to update ro as expected" , crpName )
254+
254255 // Create the CRP.
255- crp := & placementv1beta1.ClusterResourcePlacement {
256- ObjectMeta : metav1.ObjectMeta {
257- Name : crpName ,
258- // Add a custom finalizer; this would allow us to better observe
259- // the behavior of the controllers.
260- Finalizers : []string {customDeletionBlockerFinalizer },
261- },
262- Spec : placementv1beta1.ClusterResourcePlacementSpec {
263- ResourceSelectors : workResourceSelector (),
264- },
265- }
266- By (fmt .Sprintf ("creating placement %s" , crpName ))
267- Expect (hubClient .Create (ctx , crp )).To (Succeed (), "Failed to create CRP %s" , crpName )
256+ createCRP (crpName )
268257 })
269258
270259 AfterAll (func () {
@@ -276,7 +265,7 @@ var _ = Context("creating clusterResourceOverride with multiple jsonPatchOverrid
276265 })
277266
278267 It ("should update CRP status as expected" , func () {
279- wantCRONames := []string {fmt . Sprintf ( placementv1alpha1 . OverrideSnapshotNameFmt , croName , 0 ) }
268+ wantCRONames := []string {croSnapShotName }
280269 crpStatusUpdatedActual := crpStatusWithOverrideUpdatedActual (workResourceIdentifiers (), allMemberClusterNames , "0" , wantCRONames , nil )
281270 Eventually (crpStatusUpdatedActual , eventuallyDuration , eventuallyInterval ).Should (Succeed (), "Failed to update CRP %s status as expected" , crpName )
282271 })
@@ -312,6 +301,7 @@ var _ = Context("creating clusterResourceOverride with multiple jsonPatchOverrid
312301var _ = Context ("creating clusterResourceOverride with different rules for each cluster" , Ordered , func () {
313302 crpName := fmt .Sprintf (crpNameTemplate , GinkgoParallelProcess ())
314303 croName := fmt .Sprintf (croNameTemplate , GinkgoParallelProcess ())
304+ croSnapShotName := fmt .Sprintf (placementv1alpha1 .OverrideSnapshotNameFmt , croName , 0 )
315305
316306 BeforeAll (func () {
317307 By ("creating work resources" )
@@ -387,20 +377,14 @@ var _ = Context("creating clusterResourceOverride with different rules for each
387377 By (fmt .Sprintf ("creating clusterResourceOverride %s" , croName ))
388378 Expect (hubClient .Create (ctx , cro )).To (Succeed (), "Failed to create clusterResourceOverride %s" , croName )
389379
380+ //this is to make sure the cro snapshot is created before the CRP
381+ Eventually (func () error {
382+ croSnap := & placementv1alpha1.ClusterResourceOverrideSnapshot {}
383+ return hubClient .Get (ctx , types.NamespacedName {Name : croSnapShotName }, croSnap )
384+ }, eventuallyDuration , eventuallyInterval ).Should (Succeed (), "Failed to update ro as expected" , crpName )
385+
390386 // Create the CRP.
391- crp := & placementv1beta1.ClusterResourcePlacement {
392- ObjectMeta : metav1.ObjectMeta {
393- Name : crpName ,
394- // Add a custom finalizer; this would allow us to better observe
395- // the behavior of the controllers.
396- Finalizers : []string {customDeletionBlockerFinalizer },
397- },
398- Spec : placementv1beta1.ClusterResourcePlacementSpec {
399- ResourceSelectors : workResourceSelector (),
400- },
401- }
402- By (fmt .Sprintf ("creating placement %s" , crpName ))
403- Expect (hubClient .Create (ctx , crp )).To (Succeed (), "Failed to create CRP %s" , crpName )
387+ createCRP (crpName )
404388 })
405389
406390 AfterAll (func () {
@@ -412,7 +396,7 @@ var _ = Context("creating clusterResourceOverride with different rules for each
412396 })
413397
414398 It ("should update CRP status as expected" , func () {
415- wantCRONames := []string {fmt . Sprintf ( placementv1alpha1 . OverrideSnapshotNameFmt , croName , 0 ) }
399+ wantCRONames := []string {croSnapShotName }
416400 crpStatusUpdatedActual := crpStatusWithOverrideUpdatedActual (workResourceIdentifiers (), allMemberClusterNames , "0" , wantCRONames , nil )
417401 Eventually (crpStatusUpdatedActual , eventuallyDuration , eventuallyInterval ).Should (Succeed (), "Failed to update CRP %s status as expected" , crpName )
418402 })
@@ -429,7 +413,7 @@ var _ = Context("creating clusterResourceOverride with different rules for each
429413 })
430414})
431415
432- var _ = Context ("creating clusterResourceOverride with different rules for each cluster" , Ordered , func () {
416+ var _ = Context ("creating clusterResourceOverride with different rules for each cluster that is attached to a CRP " , Ordered , func () {
433417 crpName := fmt .Sprintf (crpNameTemplate , GinkgoParallelProcess ())
434418 croName := fmt .Sprintf (croNameTemplate , GinkgoParallelProcess ())
435419
@@ -507,6 +491,7 @@ var _ = Context("creating clusterResourceOverride with different rules for each
507491var _ = Context ("creating clusterResourceOverride with incorrect path" , Ordered , func () {
508492 crpName := fmt .Sprintf (crpNameTemplate , GinkgoParallelProcess ())
509493 croName := fmt .Sprintf (croNameTemplate , GinkgoParallelProcess ())
494+ croSnapShotName := fmt .Sprintf (placementv1alpha1 .OverrideSnapshotNameFmt , croName , 0 )
510495
511496 BeforeAll (func () {
512497 By ("creating work resources" )
@@ -540,20 +525,14 @@ var _ = Context("creating clusterResourceOverride with incorrect path", Ordered,
540525 By (fmt .Sprintf ("creating clusterResourceOverride %s" , croName ))
541526 Expect (hubClient .Create (ctx , cro )).To (Succeed (), "Failed to create clusterResourceOverride %s" , croName )
542527
528+ //this is to make sure the cro snapshot is created before the CRP
529+ Eventually (func () error {
530+ croSnap := & placementv1alpha1.ClusterResourceOverrideSnapshot {}
531+ return hubClient .Get (ctx , types.NamespacedName {Name : croSnapShotName }, croSnap )
532+ }, eventuallyDuration , eventuallyInterval ).Should (Succeed (), "Failed to update ro as expected" , crpName )
533+
543534 // Create the CRP.
544- crp := & placementv1beta1.ClusterResourcePlacement {
545- ObjectMeta : metav1.ObjectMeta {
546- Name : crpName ,
547- // Add a custom finalizer; this would allow us to better observe
548- // the behavior of the controllers.
549- Finalizers : []string {customDeletionBlockerFinalizer },
550- },
551- Spec : placementv1beta1.ClusterResourcePlacementSpec {
552- ResourceSelectors : workResourceSelector (),
553- },
554- }
555- By (fmt .Sprintf ("creating placement %s" , crpName ))
556- Expect (hubClient .Create (ctx , crp )).To (Succeed (), "Failed to create CRP %s" , crpName )
535+ createCRP (crpName )
557536 })
558537
559538 AfterAll (func () {
@@ -565,7 +544,7 @@ var _ = Context("creating clusterResourceOverride with incorrect path", Ordered,
565544 })
566545
567546 It ("should update CRP status as expected" , func () {
568- wantCRONames := []string {fmt . Sprintf ( placementv1alpha1 . OverrideSnapshotNameFmt , croName , 0 ) }
547+ wantCRONames := []string {croSnapShotName }
569548 crpStatusUpdatedActual := crpStatusWithOverrideUpdatedFailedActual (workResourceIdentifiers (), allMemberClusterNames , "0" , wantCRONames , nil )
570549 Eventually (crpStatusUpdatedActual , eventuallyDuration , eventuallyInterval ).Should (Succeed (), "Failed to update CRP %s status as expected" , crpName )
571550 })
@@ -577,6 +556,7 @@ var _ = Context("creating clusterResourceOverride with incorrect path", Ordered,
577556var _ = Context ("creating clusterResourceOverride with and resource becomes invalid after override" , Ordered , func () {
578557 crpName := fmt .Sprintf (crpNameTemplate , GinkgoParallelProcess ())
579558 croName := fmt .Sprintf (croNameTemplate , GinkgoParallelProcess ())
559+ croSnapShotName := fmt .Sprintf (placementv1alpha1 .OverrideSnapshotNameFmt , croName , 0 )
580560
581561 BeforeAll (func () {
582562 By ("creating work resources" )
@@ -610,20 +590,14 @@ var _ = Context("creating clusterResourceOverride with and resource becomes inva
610590 By (fmt .Sprintf ("creating clusterResourceOverride %s" , croName ))
611591 Expect (hubClient .Create (ctx , cro )).To (Succeed (), "Failed to create clusterResourceOverride %s" , croName )
612592
593+ //this is to make sure the cro snapshot is created before the CRP
594+ Eventually (func () error {
595+ croSnap := & placementv1alpha1.ClusterResourceOverrideSnapshot {}
596+ return hubClient .Get (ctx , types.NamespacedName {Name : croSnapShotName }, croSnap )
597+ }, eventuallyDuration , eventuallyInterval ).Should (Succeed (), "Failed to update ro as expected" , crpName )
598+
613599 // Create the CRP.
614- crp := & placementv1beta1.ClusterResourcePlacement {
615- ObjectMeta : metav1.ObjectMeta {
616- Name : crpName ,
617- // Add a custom finalizer; this would allow us to better observe
618- // the behavior of the controllers.
619- Finalizers : []string {customDeletionBlockerFinalizer },
620- },
621- Spec : placementv1beta1.ClusterResourcePlacementSpec {
622- ResourceSelectors : workResourceSelector (),
623- },
624- }
625- By (fmt .Sprintf ("creating placement %s" , crpName ))
626- Expect (hubClient .Create (ctx , crp )).To (Succeed (), "Failed to create CRP %s" , crpName )
600+ createCRP (crpName )
627601 })
628602
629603 AfterAll (func () {
@@ -635,7 +609,7 @@ var _ = Context("creating clusterResourceOverride with and resource becomes inva
635609 })
636610
637611 It ("should update CRP status as expected" , func () {
638- wantCRONames := []string {fmt . Sprintf ( placementv1alpha1 . OverrideSnapshotNameFmt , croName , 0 ) }
612+ wantCRONames := []string {croSnapShotName }
639613 crpStatusUpdatedActual := crpStatusWithWorkSynchronizedUpdatedFailedActual (workResourceIdentifiers (), allMemberClusterNames , "0" , wantCRONames , nil )
640614 Eventually (crpStatusUpdatedActual , eventuallyDuration , eventuallyInterval ).Should (Succeed (), "Failed to update CRP %s status as expected" , crpName )
641615 })
@@ -658,6 +632,9 @@ var _ = Context("creating clusterResourceOverride with delete rules for one clus
658632 Name : croName ,
659633 },
660634 Spec : placementv1alpha1.ClusterResourceOverrideSpec {
635+ Placement : & placementv1alpha1.PlacementRef {
636+ Name : crpName , // assigned CRP name
637+ },
661638 ClusterResourceSelectors : workResourceSelector (),
662639 Policy : & placementv1alpha1.OverridePolicy {
663640 OverrideRules : []placementv1alpha1.OverrideRule {
@@ -700,19 +677,7 @@ var _ = Context("creating clusterResourceOverride with delete rules for one clus
700677 Expect (hubClient .Create (ctx , cro )).To (Succeed (), "Failed to create clusterResourceOverride %s" , croName )
701678
702679 // Create the CRP.
703- crp := & placementv1beta1.ClusterResourcePlacement {
704- ObjectMeta : metav1.ObjectMeta {
705- Name : crpName ,
706- // Add a custom finalizer; this would allow us to better observe
707- // the behavior of the controllers.
708- Finalizers : []string {customDeletionBlockerFinalizer },
709- },
710- Spec : placementv1beta1.ClusterResourcePlacementSpec {
711- ResourceSelectors : workResourceSelector (),
712- },
713- }
714- By (fmt .Sprintf ("creating placement %s" , crpName ))
715- Expect (hubClient .Create (ctx , crp )).To (Succeed (), "Failed to create CRP %s" , crpName )
680+ createCRP (crpName )
716681 })
717682
718683 AfterAll (func () {
0 commit comments