From 97ab8064935e06d2d23af13d39b38012eae6240a Mon Sep 17 00:00:00 2001 From: Arvind Thirumurugan Date: Wed, 26 Oct 2022 13:44:05 -0700 Subject: [PATCH 01/15] Work manifest partial failed apply IT --- test/integration/cluster_placement_test.go | 154 ++++++++++++++++++++- 1 file changed, 152 insertions(+), 2 deletions(-) diff --git a/test/integration/cluster_placement_test.go b/test/integration/cluster_placement_test.go index efe61f052..3108a2381 100644 --- a/test/integration/cluster_placement_test.go +++ b/test/integration/cluster_placement_test.go @@ -1457,7 +1457,7 @@ var _ = Describe("Test Cluster Resource Placement Controller", func() { }, timeout, interval).Should(BeTrue()) }) - It("Test partial failed apply", func() { + It("Test partial work failed to apply", func() { By("create clusterResourcePlacement CR") crp = &fleetv1alpha1.ClusterResourcePlacement{ ObjectMeta: metav1.ObjectMeta{ @@ -1600,7 +1600,157 @@ var _ = Describe("Test Cluster Resource Placement Controller", func() { return fmt.Errorf("CRP status(%s) mismatch (-want +got):\n%s", crp.Name, diff) } return nil - }, timeout, interval).Should(Succeed(), "Failed to compare actual and expected CRP status in %s cluster", clusterB.Name) + }, timeout, interval).Should(Succeed(), "Failed to compare actual and expected CRP status in hub cluster") + }) + + It("Test partial manifest failed to apply", func() { + By("create clusterResourcePlacement CR") + crp = &fleetv1alpha1.ClusterResourcePlacement{ + ObjectMeta: metav1.ObjectMeta{ + Name: "partial-manifest-test", + }, + Spec: fleetv1alpha1.ClusterResourcePlacementSpec{ + ResourceSelectors: []fleetv1alpha1.ClusterResourceSelector{ + { + Group: rbacv1.GroupName, + Version: "v1", + Kind: ClusterRoleKind, + Name: "test-cluster-role", + }, + { + Group: apiextensionsv1.GroupName, + Version: "v1", + Kind: "CustomResourceDefinition", + Name: "clonesets.apps.kruise.io", + }, + }, + Policy: &fleetv1alpha1.PlacementPolicy{ + ClusterNames: []string{clusterA.Name}, + }, + }, + } + Expect(k8sClient.Create(ctx, crp)).Should(Succeed()) + + By("verify that we have created work objects that contain the resource selected") + verifyWorkObjects(crp, []string{ClusterRoleKind, "CustomResourceDefinition"}, []*fleetv1alpha1.MemberCluster{&clusterA}) + + var clusterWork workv1alpha1.Work + workResourceIdentifier1 := workv1alpha1.ResourceIdentifier{ + Group: rbacv1.GroupName, + Kind: ClusterRoleKind, + Name: "test-cluster-role", + Ordinal: 0, + Resource: "clusterroles", + Version: "v1", + } + workResourceIdentifier2 := workv1alpha1.ResourceIdentifier{ + Group: apiextensionsv1.GroupName, + Kind: "CustomResourceDefinition", + Name: "clonesets.apps.kruise.io", + Ordinal: 1, + Resource: "clonesets", + Version: "v1", + } + + // update work in clusterA to have applied condition as false work, and have one manifest condition as false + Expect(k8sClient.Get(ctx, types.NamespacedName{ + Name: crp.Name, + Namespace: fmt.Sprintf(utils.NamespaceNameFormat, clusterA.Name), + }, &clusterWork)).Should(Succeed()) + + appliedCondition := metav1.Condition{ + Type: workapi.ConditionTypeApplied, + Status: metav1.ConditionFalse, + Reason: "appliedWorkFailed", + ObservedGeneration: clusterWork.GetGeneration(), + LastTransitionTime: metav1.Now(), + } + + manifestCondition1 := workv1alpha1.ManifestCondition{ + Identifier: workResourceIdentifier1, + Conditions: []metav1.Condition{ + { + Type: workapi.ConditionTypeApplied, + Status: metav1.ConditionTrue, + Reason: "ManifestCreated", + LastTransitionTime: metav1.Now(), + }, + }, + } + manifestCondition2 := workv1alpha1.ManifestCondition{ + Identifier: workResourceIdentifier2, + Conditions: []metav1.Condition{ + { + Type: workapi.ConditionTypeApplied, + Status: metav1.ConditionFalse, + Reason: "appliedManifestFailed", + LastTransitionTime: metav1.Now(), + }, + }, + } + + clusterWork.Status.Conditions = []metav1.Condition{appliedCondition} + clusterWork.Status.ManifestConditions = []workv1alpha1.ManifestCondition{manifestCondition1, manifestCondition2} + Expect(k8sClient.Status().Update(ctx, &clusterWork)).Should(Succeed()) + + fleetResourceIdentifier1 := fleetv1alpha1.ResourceIdentifier{ + Group: rbacv1.GroupName, + Version: "v1", + Kind: ClusterRoleKind, + Name: "test-cluster-role", + } + fleetResourceIdentifier2 := fleetv1alpha1.ResourceIdentifier{ + Group: apiextensionsv1.GroupName, + Version: "v1", + Kind: "CustomResourceDefinition", + Name: "clonesets.apps.kruise.io", + } + wantCRPStatus := fleetv1alpha1.ClusterResourcePlacementStatus{ + Conditions: []metav1.Condition{ + { + Type: string(fleetv1alpha1.ResourcePlacementConditionTypeScheduled), + Status: metav1.ConditionTrue, + ObservedGeneration: 1, + Reason: "ScheduleSucceeded", + }, + { + Type: string(fleetv1alpha1.ResourcePlacementStatusConditionTypeApplied), + Status: metav1.ConditionFalse, + ObservedGeneration: 1, + Reason: "ApplyFailed", + }, + }, + SelectedResources: []fleetv1alpha1.ResourceIdentifier{fleetResourceIdentifier1, fleetResourceIdentifier2}, + TargetClusters: []string{clusterA.Name}, + FailedResourcePlacements: []fleetv1alpha1.FailedResourcePlacement{ + { + ResourceIdentifier: fleetResourceIdentifier2, + ClusterName: clusterA.Name, + Condition: metav1.Condition{ + Type: string(fleetv1alpha1.ResourcePlacementStatusConditionTypeApplied), + Status: metav1.ConditionFalse, + ObservedGeneration: 0, + Reason: "appliedManifestFailed", + }, + }, + }, + } + + crpStatusCmpOptions := []cmp.Option{ + cmpopts.IgnoreFields(metav1.Condition{}, "LastTransitionTime", "Message"), + cmpopts.SortSlices(func(ref1, ref2 metav1.Condition) bool { return ref1.Type < ref2.Type }), + cmpopts.SortSlices(func(ref1, ref2 string) bool { return ref1 < ref2 }), + } + + Eventually(func() error { + if err := k8sClient.Get(ctx, types.NamespacedName{Name: crp.Name}, crp); err != nil { + return err + } + if diff := cmp.Diff(wantCRPStatus, crp.Status, crpStatusCmpOptions...); diff != "" { + return fmt.Errorf("CRP status(%s) mismatch (-want +got):\n%s", crp.Name, diff) + } + return nil + }, timeout, interval).Should(Succeed(), "Failed to compare actual and expected CRP status in hub cluster") }) }) }) From 7fb9bca5c7c63fcc2cf028701101efb1aac6d5b4 Mon Sep 17 00:00:00 2001 From: Arvind Thirumurugan Date: Wed, 26 Oct 2022 13:53:59 -0700 Subject: [PATCH 02/15] fix comments --- test/integration/cluster_placement_test.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/test/integration/cluster_placement_test.go b/test/integration/cluster_placement_test.go index 3108a2381..f52d3039d 100644 --- a/test/integration/cluster_placement_test.go +++ b/test/integration/cluster_placement_test.go @@ -1489,7 +1489,7 @@ var _ = Describe("Test Cluster Resource Placement Controller", func() { Version: "v1", } - // update work in clusterA to have applied condition as true for manifest and work + // update work for clusterA to have applied condition as true for manifest and work Expect(k8sClient.Get(ctx, types.NamespacedName{ Name: crp.Name, Namespace: fmt.Sprintf(utils.NamespaceNameFormat, clusterA.Name), @@ -1519,7 +1519,7 @@ var _ = Describe("Test Cluster Resource Placement Controller", func() { clusterWork.Status.ManifestConditions = []workv1alpha1.ManifestCondition{manifestCondition} Expect(k8sClient.Status().Update(ctx, &clusterWork)).Should(Succeed()) - // update work in clusterB to have applied condition as false for manifest and work + // update work for clusterB to have applied condition as false for manifest and work Expect(k8sClient.Get(ctx, types.NamespacedName{ Name: crp.Name, Namespace: fmt.Sprintf(utils.NamespaceNameFormat, clusterB.Name), @@ -1652,7 +1652,7 @@ var _ = Describe("Test Cluster Resource Placement Controller", func() { Version: "v1", } - // update work in clusterA to have applied condition as false work, and have one manifest condition as false + // update work for clusterA to have applied condition as false, and have one manifest condition as false Expect(k8sClient.Get(ctx, types.NamespacedName{ Name: crp.Name, Namespace: fmt.Sprintf(utils.NamespaceNameFormat, clusterA.Name), From a4f36e32439e555d89a519cec4f4fdff1d58e9e7 Mon Sep 17 00:00:00 2001 From: Arvind Thirumurugan Date: Thu, 27 Oct 2022 12:03:35 -0700 Subject: [PATCH 03/15] Fix test names --- test/integration/cluster_placement_test.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/integration/cluster_placement_test.go b/test/integration/cluster_placement_test.go index f52d3039d..488397210 100644 --- a/test/integration/cluster_placement_test.go +++ b/test/integration/cluster_placement_test.go @@ -1457,7 +1457,7 @@ var _ = Describe("Test Cluster Resource Placement Controller", func() { }, timeout, interval).Should(BeTrue()) }) - It("Test partial work failed to apply", func() { + It("Test manifest failed to apply in one cluster and succeed in another", func() { By("create clusterResourcePlacement CR") crp = &fleetv1alpha1.ClusterResourcePlacement{ ObjectMeta: metav1.ObjectMeta{ @@ -1603,7 +1603,7 @@ var _ = Describe("Test Cluster Resource Placement Controller", func() { }, timeout, interval).Should(Succeed(), "Failed to compare actual and expected CRP status in hub cluster") }) - It("Test partial manifest failed to apply", func() { + It("Test one of two manifests failed to apply in cluster", func() { By("create clusterResourcePlacement CR") crp = &fleetv1alpha1.ClusterResourcePlacement{ ObjectMeta: metav1.ObjectMeta{ From df3e8c061f6c21983f5609f11d6f717e22a07001 Mon Sep 17 00:00:00 2001 From: Arvind Thirumurugan Date: Thu, 27 Oct 2022 14:21:56 -0700 Subject: [PATCH 04/15] Use new namespace, cloneset --- test/integration/cluster_placement_test.go | 100 +++++++++++++-------- 1 file changed, 64 insertions(+), 36 deletions(-) diff --git a/test/integration/cluster_placement_test.go b/test/integration/cluster_placement_test.go index 488397210..280618ed0 100644 --- a/test/integration/cluster_placement_test.go +++ b/test/integration/cluster_placement_test.go @@ -7,6 +7,8 @@ package integration import ( "fmt" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" + kruisev1alpha1 "github.com/openkruise/kruise/apis/apps/v1alpha1" "reflect" "time" @@ -1603,7 +1605,33 @@ var _ = Describe("Test Cluster Resource Placement Controller", func() { }, timeout, interval).Should(Succeed(), "Failed to compare actual and expected CRP status in hub cluster") }) - It("Test one of two manifests failed to apply in cluster", func() { + It("Test one of many manifests failed to apply in cluster", func() { + By("create namespace") + ns := &corev1.Namespace{ + ObjectMeta: metav1.ObjectMeta{ + Name: "test-namespace", + }, + } + Expect(k8sClient.Create(ctx, ns)).Should(Succeed()) + By("create clone set") + cs := &kruisev1alpha1.CloneSet{ + ObjectMeta: metav1.ObjectMeta{ + Name: "test-cloneset", + Namespace: "test-namespace", + }, + Spec: kruisev1alpha1.CloneSetSpec{ + Replicas: to.Int32Ptr(20), + Selector: &metav1.LabelSelector{ + MatchLabels: map[string]string{"app.kubernetes.io/name": "test-clone-set"}, + }, + Template: corev1.PodTemplateSpec{ + ObjectMeta: metav1.ObjectMeta{ + Labels: map[string]string{"app.kubernetes.io/name": "test-clone-set"}, + }, + }, + }, + } + Expect(k8sClient.Create(ctx, cs)).Should(Succeed()) By("create clusterResourcePlacement CR") crp = &fleetv1alpha1.ClusterResourcePlacement{ ObjectMeta: metav1.ObjectMeta{ @@ -1612,16 +1640,10 @@ var _ = Describe("Test Cluster Resource Placement Controller", func() { Spec: fleetv1alpha1.ClusterResourcePlacementSpec{ ResourceSelectors: []fleetv1alpha1.ClusterResourceSelector{ { - Group: rbacv1.GroupName, - Version: "v1", - Kind: ClusterRoleKind, - Name: "test-cluster-role", - }, - { - Group: apiextensionsv1.GroupName, + Group: corev1.GroupName, Version: "v1", - Kind: "CustomResourceDefinition", - Name: "clonesets.apps.kruise.io", + Kind: "Namespace", + Name: "test-namespace", }, }, Policy: &fleetv1alpha1.PlacementPolicy{ @@ -1630,34 +1652,34 @@ var _ = Describe("Test Cluster Resource Placement Controller", func() { }, } Expect(k8sClient.Create(ctx, crp)).Should(Succeed()) - - By("verify that we have created work objects that contain the resource selected") - verifyWorkObjects(crp, []string{ClusterRoleKind, "CustomResourceDefinition"}, []*fleetv1alpha1.MemberCluster{&clusterA}) + Expect(k8sClient.Get(ctx, types.NamespacedName{Name: crp.Name}, crp)) var clusterWork workv1alpha1.Work workResourceIdentifier1 := workv1alpha1.ResourceIdentifier{ - Group: rbacv1.GroupName, - Kind: ClusterRoleKind, - Name: "test-cluster-role", + Group: corev1.GroupName, + Kind: "Namespace", + Name: "test-namespace", Ordinal: 0, - Resource: "clusterroles", + Resource: "namespaces", Version: "v1", } workResourceIdentifier2 := workv1alpha1.ResourceIdentifier{ - Group: apiextensionsv1.GroupName, - Kind: "CustomResourceDefinition", - Name: "clonesets.apps.kruise.io", + Group: kruisev1alpha1.GroupVersion.Group, + Kind: "CloneSet", + Name: "test-cloneset", Ordinal: 1, Resource: "clonesets", - Version: "v1", + Version: kruisev1alpha1.GroupVersion.Version, } - // update work for clusterA to have applied condition as false, and have one manifest condition as false - Expect(k8sClient.Get(ctx, types.NamespacedName{ - Name: crp.Name, - Namespace: fmt.Sprintf(utils.NamespaceNameFormat, clusterA.Name), - }, &clusterWork)).Should(Succeed()) + Eventually(func() error { + if err := k8sClient.Get(ctx, types.NamespacedName{Name: crp.Name, Namespace: fmt.Sprintf(utils.NamespaceNameFormat, clusterA.Name)}, &clusterWork); err != nil { + return err + } + return nil + }, timeout, interval).Should(Succeed(), "Failed to retrieve %s work", crp.Name) + // update work for clusterA to have applied condition as false, and have one manifest condition as false appliedCondition := metav1.Condition{ Type: workapi.ConditionTypeApplied, Status: metav1.ConditionFalse, @@ -1694,16 +1716,17 @@ var _ = Describe("Test Cluster Resource Placement Controller", func() { Expect(k8sClient.Status().Update(ctx, &clusterWork)).Should(Succeed()) fleetResourceIdentifier1 := fleetv1alpha1.ResourceIdentifier{ - Group: rbacv1.GroupName, + Group: corev1.GroupName, Version: "v1", - Kind: ClusterRoleKind, - Name: "test-cluster-role", + Kind: "Namespace", + Name: "test-namespace", } fleetResourceIdentifier2 := fleetv1alpha1.ResourceIdentifier{ - Group: apiextensionsv1.GroupName, - Version: "v1", - Kind: "CustomResourceDefinition", - Name: "clonesets.apps.kruise.io", + Group: kruisev1alpha1.GroupVersion.Group, + Version: kruisev1alpha1.GroupVersion.Version, + Kind: "CloneSet", + Name: "test-cloneset", + Namespace: "test-namespace", } wantCRPStatus := fleetv1alpha1.ClusterResourcePlacementStatus{ Conditions: []metav1.Condition{ @@ -1720,12 +1743,17 @@ var _ = Describe("Test Cluster Resource Placement Controller", func() { Reason: "ApplyFailed", }, }, - SelectedResources: []fleetv1alpha1.ResourceIdentifier{fleetResourceIdentifier1, fleetResourceIdentifier2}, + SelectedResources: []fleetv1alpha1.ResourceIdentifier{fleetResourceIdentifier2, fleetResourceIdentifier1}, TargetClusters: []string{clusterA.Name}, FailedResourcePlacements: []fleetv1alpha1.FailedResourcePlacement{ { - ResourceIdentifier: fleetResourceIdentifier2, - ClusterName: clusterA.Name, + ResourceIdentifier: fleetv1alpha1.ResourceIdentifier{ + Group: kruisev1alpha1.GroupVersion.Group, + Version: kruisev1alpha1.GroupVersion.Version, + Kind: "CloneSet", + Name: "test-cloneset", + }, + ClusterName: clusterA.Name, Condition: metav1.Condition{ Type: string(fleetv1alpha1.ResourcePlacementStatusConditionTypeApplied), Status: metav1.ConditionFalse, From 3e3651f18471e152c784671c532230d217c79edc Mon Sep 17 00:00:00 2001 From: Arvind Thirumurugan Date: Thu, 27 Oct 2022 14:30:28 -0700 Subject: [PATCH 05/15] fix imports --- test/integration/cluster_placement_test.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/integration/cluster_placement_test.go b/test/integration/cluster_placement_test.go index 280618ed0..e49089e38 100644 --- a/test/integration/cluster_placement_test.go +++ b/test/integration/cluster_placement_test.go @@ -7,15 +7,15 @@ package integration import ( "fmt" - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - kruisev1alpha1 "github.com/openkruise/kruise/apis/apps/v1alpha1" "reflect" "time" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" "github.com/google/go-cmp/cmp" "github.com/google/go-cmp/cmp/cmpopts" . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" + kruisev1alpha1 "github.com/openkruise/kruise/apis/apps/v1alpha1" adminv1 "k8s.io/api/admissionregistration/v1" coordv1 "k8s.io/api/coordination/v1" corev1 "k8s.io/api/core/v1" From 1f4d964118f0b1b1f72b50c2170bb5809d2e0b81 Mon Sep 17 00:00:00 2001 From: Arvind Thirumurugan Date: Thu, 27 Oct 2022 16:35:59 -0700 Subject: [PATCH 06/15] update work status --- test/integration/cluster_placement_test.go | 90 +++++++++++++++++----- 1 file changed, 70 insertions(+), 20 deletions(-) diff --git a/test/integration/cluster_placement_test.go b/test/integration/cluster_placement_test.go index e49089e38..d990298b8 100644 --- a/test/integration/cluster_placement_test.go +++ b/test/integration/cluster_placement_test.go @@ -1656,21 +1656,21 @@ var _ = Describe("Test Cluster Resource Placement Controller", func() { var clusterWork workv1alpha1.Work workResourceIdentifier1 := workv1alpha1.ResourceIdentifier{ - Group: corev1.GroupName, - Kind: "Namespace", - Name: "test-namespace", - Ordinal: 0, - Resource: "namespaces", - Version: "v1", - } - workResourceIdentifier2 := workv1alpha1.ResourceIdentifier{ Group: kruisev1alpha1.GroupVersion.Group, Kind: "CloneSet", Name: "test-cloneset", - Ordinal: 1, + Ordinal: 0, Resource: "clonesets", Version: kruisev1alpha1.GroupVersion.Version, } + workResourceIdentifier2 := workv1alpha1.ResourceIdentifier{ + Group: corev1.GroupName, + Kind: "Namespace", + Name: "test-namespace", + Ordinal: 1, + Resource: "namespaces", + Version: "v1", + } Eventually(func() error { if err := k8sClient.Get(ctx, types.NamespacedName{Name: crp.Name, Namespace: fmt.Sprintf(utils.NamespaceNameFormat, clusterA.Name)}, &clusterWork); err != nil { @@ -1693,8 +1693,8 @@ var _ = Describe("Test Cluster Resource Placement Controller", func() { Conditions: []metav1.Condition{ { Type: workapi.ConditionTypeApplied, - Status: metav1.ConditionTrue, - Reason: "ManifestCreated", + Status: metav1.ConditionFalse, + Reason: "appliedManifestFailed", LastTransitionTime: metav1.Now(), }, }, @@ -1704,8 +1704,8 @@ var _ = Describe("Test Cluster Resource Placement Controller", func() { Conditions: []metav1.Condition{ { Type: workapi.ConditionTypeApplied, - Status: metav1.ConditionFalse, - Reason: "appliedManifestFailed", + Status: metav1.ConditionTrue, + Reason: "ManifestNoChange", LastTransitionTime: metav1.Now(), }, }, @@ -1716,18 +1716,18 @@ var _ = Describe("Test Cluster Resource Placement Controller", func() { Expect(k8sClient.Status().Update(ctx, &clusterWork)).Should(Succeed()) fleetResourceIdentifier1 := fleetv1alpha1.ResourceIdentifier{ - Group: corev1.GroupName, - Version: "v1", - Kind: "Namespace", - Name: "test-namespace", - } - fleetResourceIdentifier2 := fleetv1alpha1.ResourceIdentifier{ Group: kruisev1alpha1.GroupVersion.Group, Version: kruisev1alpha1.GroupVersion.Version, Kind: "CloneSet", Name: "test-cloneset", Namespace: "test-namespace", } + fleetResourceIdentifier2 := fleetv1alpha1.ResourceIdentifier{ + Group: corev1.GroupName, + Version: "v1", + Kind: "Namespace", + Name: "test-namespace", + } wantCRPStatus := fleetv1alpha1.ClusterResourcePlacementStatus{ Conditions: []metav1.Condition{ { @@ -1743,7 +1743,7 @@ var _ = Describe("Test Cluster Resource Placement Controller", func() { Reason: "ApplyFailed", }, }, - SelectedResources: []fleetv1alpha1.ResourceIdentifier{fleetResourceIdentifier2, fleetResourceIdentifier1}, + SelectedResources: []fleetv1alpha1.ResourceIdentifier{fleetResourceIdentifier1, fleetResourceIdentifier2}, TargetClusters: []string{clusterA.Name}, FailedResourcePlacements: []fleetv1alpha1.FailedResourcePlacement{ { @@ -1752,6 +1752,7 @@ var _ = Describe("Test Cluster Resource Placement Controller", func() { Version: kruisev1alpha1.GroupVersion.Version, Kind: "CloneSet", Name: "test-cloneset", + // Namespace for clone set is not being picked up }, ClusterName: clusterA.Name, Condition: metav1.Condition{ @@ -1779,6 +1780,55 @@ var _ = Describe("Test Cluster Resource Placement Controller", func() { } return nil }, timeout, interval).Should(Succeed(), "Failed to compare actual and expected CRP status in hub cluster") + + By("Update CRP to select CRD") + crp.Spec.ResourceSelectors = []fleetv1alpha1.ClusterResourceSelector{ + { + Group: apiextensionsv1.GroupName, + Version: "v1", + Kind: "CustomResourceDefinition", + Name: "clonesets.apps.kruise.io", + }, + { + Group: corev1.GroupName, + Version: "v1", + Kind: "Namespace", + Name: "test-namespace", + }, + } + Expect(k8sClient.Update(ctx, crp)).Should(Succeed()) + + // Update work status + appliedCondition.Status = metav1.ConditionTrue + appliedCondition.Reason = "appliedWorkComplete" + workResourceIdentifier2.Ordinal = 2 + workResourceIdentifier3 := workResourceIdentifier2 + workResourceIdentifier2 = workv1alpha1.ResourceIdentifier{ + Group: apiextensionsv1.GroupName, + Kind: "CustomResourceDefinition", + Name: "clonesets.apps.kruise.io", + Ordinal: 1, + Resource: "customresourcedefinitions", + Version: "v1", + } + manifestCondition1.Conditions[0].Status = metav1.ConditionTrue + manifestCondition1.Conditions[0].Reason = "ManifestCreated" + manifestCondition2.Identifier = workResourceIdentifier2 + manifestCondition3 := workv1alpha1.ManifestCondition{ + Identifier: workResourceIdentifier3, + Conditions: []metav1.Condition{ + { + Type: workapi.ConditionTypeApplied, + Status: metav1.ConditionTrue, + Reason: "ManifestNoChange", + LastTransitionTime: metav1.Now(), + }, + }, + } + + clusterWork.Status.Conditions = []metav1.Condition{appliedCondition} + clusterWork.Status.ManifestConditions = []workv1alpha1.ManifestCondition{manifestCondition1, manifestCondition2, manifestCondition3} + Expect(k8sClient.Status().Update(ctx, &clusterWork)).Should(Succeed()) }) }) }) From 5c3f7174b5f8035f42cbecbd274e39618b6bbada Mon Sep 17 00:00:00 2001 From: Arvind Thirumurugan Date: Fri, 28 Oct 2022 13:05:18 -0700 Subject: [PATCH 07/15] fail and succeed --- test/integration/cluster_placement_test.go | 40 +++++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) diff --git a/test/integration/cluster_placement_test.go b/test/integration/cluster_placement_test.go index d990298b8..cac4da14e 100644 --- a/test/integration/cluster_placement_test.go +++ b/test/integration/cluster_placement_test.go @@ -1798,9 +1798,10 @@ var _ = Describe("Test Cluster Resource Placement Controller", func() { } Expect(k8sClient.Update(ctx, crp)).Should(Succeed()) - // Update work status + // Update work status to reflect selecting CRD appliedCondition.Status = metav1.ConditionTrue appliedCondition.Reason = "appliedWorkComplete" + appliedCondition.ObservedGeneration = 2 workResourceIdentifier2.Ordinal = 2 workResourceIdentifier3 := workResourceIdentifier2 workResourceIdentifier2 = workv1alpha1.ResourceIdentifier{ @@ -1829,6 +1830,43 @@ var _ = Describe("Test Cluster Resource Placement Controller", func() { clusterWork.Status.Conditions = []metav1.Condition{appliedCondition} clusterWork.Status.ManifestConditions = []workv1alpha1.ManifestCondition{manifestCondition1, manifestCondition2, manifestCondition3} Expect(k8sClient.Status().Update(ctx, &clusterWork)).Should(Succeed()) + + fleetResourceIdentifier3 := fleetResourceIdentifier2 + fleetResourceIdentifier2 = fleetv1alpha1.ResourceIdentifier{ + Group: apiextensionsv1.GroupName, + Version: "v1", + Kind: "CustomResourceDefinition", + Name: "clonesets.apps.kruise.io", + } + + wantCRPStatus = fleetv1alpha1.ClusterResourcePlacementStatus{ + Conditions: []metav1.Condition{ + { + Type: string(fleetv1alpha1.ResourcePlacementConditionTypeScheduled), + Status: metav1.ConditionTrue, + ObservedGeneration: 2, + Reason: "ScheduleSucceeded", + }, + { + Type: string(fleetv1alpha1.ResourcePlacementStatusConditionTypeApplied), + Status: metav1.ConditionTrue, + ObservedGeneration: 2, + Reason: "ApplySucceeded", + }, + }, + SelectedResources: []fleetv1alpha1.ResourceIdentifier{fleetResourceIdentifier1, fleetResourceIdentifier2, fleetResourceIdentifier3}, + TargetClusters: []string{clusterA.Name}, + } + + Eventually(func() error { + if err := k8sClient.Get(ctx, types.NamespacedName{Name: crp.Name}, crp); err != nil { + return err + } + if diff := cmp.Diff(wantCRPStatus, crp.Status, crpStatusCmpOptions...); diff != "" { + return fmt.Errorf("CRP status(%s) mismatch (-want +got):\n%s", crp.Name, diff) + } + return nil + }, time.Second*60, interval).Should(Succeed(), "Failed to compare actual and expected CRP status in hub cluster") }) }) }) From 694967b4df3c3b18e5decbf196cbc6880a33eb87 Mon Sep 17 00:00:00 2001 From: Arvind Thirumurugan Date: Fri, 28 Oct 2022 13:25:54 -0700 Subject: [PATCH 08/15] add optional description --- test/integration/cluster_placement_test.go | 26 +++++++++++----------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/test/integration/cluster_placement_test.go b/test/integration/cluster_placement_test.go index cac4da14e..5f33620fe 100644 --- a/test/integration/cluster_placement_test.go +++ b/test/integration/cluster_placement_test.go @@ -1476,7 +1476,7 @@ var _ = Describe("Test Cluster Resource Placement Controller", func() { }, }, } - Expect(k8sClient.Create(ctx, crp)).Should(Succeed()) + Expect(k8sClient.Create(ctx, crp)).Should(Succeed(), "Failed to create %s cluster resource placement", crp.Name) By("verify that we have created work objects that contain the resource selected") verifyWorkObjects(crp, []string{ClusterRoleKind}, []*fleetv1alpha1.MemberCluster{&clusterA, &clusterB}) @@ -1495,7 +1495,7 @@ var _ = Describe("Test Cluster Resource Placement Controller", func() { Expect(k8sClient.Get(ctx, types.NamespacedName{ Name: crp.Name, Namespace: fmt.Sprintf(utils.NamespaceNameFormat, clusterA.Name), - }, &clusterWork)).Should(Succeed()) + }, &clusterWork)).Should(Succeed(), "Failed to get %s work", clusterWork.Name) appliedCondition := metav1.Condition{ Type: workapi.ConditionTypeApplied, @@ -1519,13 +1519,13 @@ var _ = Describe("Test Cluster Resource Placement Controller", func() { clusterWork.Status.Conditions = []metav1.Condition{appliedCondition} clusterWork.Status.ManifestConditions = []workv1alpha1.ManifestCondition{manifestCondition} - Expect(k8sClient.Status().Update(ctx, &clusterWork)).Should(Succeed()) + Expect(k8sClient.Status().Update(ctx, &clusterWork)).Should(Succeed(), "Failed to update %s work status", clusterWork.Name) // update work for clusterB to have applied condition as false for manifest and work Expect(k8sClient.Get(ctx, types.NamespacedName{ Name: crp.Name, Namespace: fmt.Sprintf(utils.NamespaceNameFormat, clusterB.Name), - }, &clusterWork)).Should(Succeed()) + }, &clusterWork)).Should(Succeed(), "Failed to get %s work", clusterWork.Name) appliedCondition = metav1.Condition{ Type: workapi.ConditionTypeApplied, @@ -1549,7 +1549,7 @@ var _ = Describe("Test Cluster Resource Placement Controller", func() { clusterWork.Status.Conditions = []metav1.Condition{appliedCondition} clusterWork.Status.ManifestConditions = []workv1alpha1.ManifestCondition{manifestCondition} - Expect(k8sClient.Status().Update(ctx, &clusterWork)).Should(Succeed()) + Expect(k8sClient.Status().Update(ctx, &clusterWork)).Should(Succeed(), "Failed to update %s work status", clusterWork.Name) fleetResourceIdentifier := fleetv1alpha1.ResourceIdentifier{ Group: rbacv1.GroupName, @@ -1612,7 +1612,7 @@ var _ = Describe("Test Cluster Resource Placement Controller", func() { Name: "test-namespace", }, } - Expect(k8sClient.Create(ctx, ns)).Should(Succeed()) + Expect(k8sClient.Create(ctx, ns)).Should(Succeed(), "Failed to create %s namespace", ns.Name) By("create clone set") cs := &kruisev1alpha1.CloneSet{ ObjectMeta: metav1.ObjectMeta{ @@ -1631,7 +1631,7 @@ var _ = Describe("Test Cluster Resource Placement Controller", func() { }, }, } - Expect(k8sClient.Create(ctx, cs)).Should(Succeed()) + Expect(k8sClient.Create(ctx, cs)).Should(Succeed(), "Failed to create %s clone set", cs.Name) By("create clusterResourcePlacement CR") crp = &fleetv1alpha1.ClusterResourcePlacement{ ObjectMeta: metav1.ObjectMeta{ @@ -1651,8 +1651,8 @@ var _ = Describe("Test Cluster Resource Placement Controller", func() { }, }, } - Expect(k8sClient.Create(ctx, crp)).Should(Succeed()) - Expect(k8sClient.Get(ctx, types.NamespacedName{Name: crp.Name}, crp)) + Expect(k8sClient.Create(ctx, crp)).Should(Succeed(), "Failed to create %s cluster resource placement", crp.Name) + Expect(k8sClient.Get(ctx, types.NamespacedName{Name: crp.Name}, crp)).Should(Succeed(), "Failed to get %s cluster resource placement", crp.Name) var clusterWork workv1alpha1.Work workResourceIdentifier1 := workv1alpha1.ResourceIdentifier{ @@ -1713,7 +1713,7 @@ var _ = Describe("Test Cluster Resource Placement Controller", func() { clusterWork.Status.Conditions = []metav1.Condition{appliedCondition} clusterWork.Status.ManifestConditions = []workv1alpha1.ManifestCondition{manifestCondition1, manifestCondition2} - Expect(k8sClient.Status().Update(ctx, &clusterWork)).Should(Succeed()) + Expect(k8sClient.Status().Update(ctx, &clusterWork)).Should(Succeed(), "Failed to update %s work status", clusterWork.Name) fleetResourceIdentifier1 := fleetv1alpha1.ResourceIdentifier{ Group: kruisev1alpha1.GroupVersion.Group, @@ -1796,7 +1796,7 @@ var _ = Describe("Test Cluster Resource Placement Controller", func() { Name: "test-namespace", }, } - Expect(k8sClient.Update(ctx, crp)).Should(Succeed()) + Expect(k8sClient.Update(ctx, crp)).Should(Succeed(), "Failed to update %s cluster resource placement", crp.Name) // Update work status to reflect selecting CRD appliedCondition.Status = metav1.ConditionTrue @@ -1829,7 +1829,7 @@ var _ = Describe("Test Cluster Resource Placement Controller", func() { clusterWork.Status.Conditions = []metav1.Condition{appliedCondition} clusterWork.Status.ManifestConditions = []workv1alpha1.ManifestCondition{manifestCondition1, manifestCondition2, manifestCondition3} - Expect(k8sClient.Status().Update(ctx, &clusterWork)).Should(Succeed()) + Expect(k8sClient.Status().Update(ctx, &clusterWork)).Should(Succeed(), "Failed to update %s work status", clusterWork.Name) fleetResourceIdentifier3 := fleetResourceIdentifier2 fleetResourceIdentifier2 = fleetv1alpha1.ResourceIdentifier{ @@ -1866,7 +1866,7 @@ var _ = Describe("Test Cluster Resource Placement Controller", func() { return fmt.Errorf("CRP status(%s) mismatch (-want +got):\n%s", crp.Name, diff) } return nil - }, time.Second*60, interval).Should(Succeed(), "Failed to compare actual and expected CRP status in hub cluster") + }, timeout, interval).Should(Succeed(), "Failed to compare actual and expected CRP status in hub cluster") }) }) }) From 11448c3cbbcc9d17617af14f3659ae5459a36151 Mon Sep 17 00:00:00 2001 From: Arvind Thirumurugan Date: Fri, 28 Oct 2022 13:42:39 -0700 Subject: [PATCH 09/15] Add optional description --- test/integration/cluster_placement_test.go | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/test/integration/cluster_placement_test.go b/test/integration/cluster_placement_test.go index 5f33620fe..b909eabf1 100644 --- a/test/integration/cluster_placement_test.go +++ b/test/integration/cluster_placement_test.go @@ -1040,7 +1040,7 @@ var _ = Describe("Test Cluster Resource Placement Controller", func() { Name: "test-cluster-role", }, } - Expect(k8sClient.Create(ctx, crb)).Should(Succeed()) + Expect(k8sClient.Create(ctx, crb)).Should(Succeed(), "Failed to create %s cluster role binding", crb.Name) By("create cluster resource placement") crp = &fleetv1alpha1.ClusterResourcePlacement{ @@ -1062,7 +1062,7 @@ var _ = Describe("Test Cluster Resource Placement Controller", func() { }, }, } - Expect(k8sClient.Create(ctx, crp)).Should(Succeed()) + Expect(k8sClient.Create(ctx, crp)).Should(Succeed(), "Failed to create %s cluster resource placement", crp.Name) By("Select resource by label clusterResourcePlacement created") // verify that we have created the work object @@ -1121,7 +1121,7 @@ var _ = Describe("Test Cluster Resource Placement Controller", func() { crb.ObjectMeta.Labels = map[string]string{ "fleet.azure.com/env": "prod", } - Expect(k8sClient.Update(ctx, crb)).Should(Succeed()) + Expect(k8sClient.Update(ctx, crb)).Should(Succeed(), "Failed to update %s cluster role binding", crb.Name) // verify that the work object created is not present anymore since we are not picking the cluster role binding nsName := fmt.Sprintf(utils.NamespaceNameFormat, clusterA.Name) @@ -1131,7 +1131,7 @@ var _ = Describe("Test Cluster Resource Placement Controller", func() { Name: crp.Name, Namespace: nsName, }, &clusterWork)) - }, timeout, interval).Should(BeTrue()) + }, timeout, interval).Should(BeTrue(), "Failed to verify %s work doesn't exist") By("Verified the work object is removed") wantCRPStatus = fleetv1alpha1.ClusterResourcePlacementStatus{ @@ -1162,7 +1162,7 @@ var _ = Describe("Test Cluster Resource Placement Controller", func() { }, timeout, interval).Should(Succeed(), "Failed to compare actual and expected CRP status in hub cluster") By("Delete cluster role binding") - Expect(k8sClient.Delete(ctx, crb)).Should(Succeed()) + Expect(k8sClient.Delete(ctx, crb)).Should(Succeed(), "Failed to delete %s cluster role binding", crb.Name) }) It("Test a cluster scoped resource selected by multiple placements", func() { @@ -1495,7 +1495,7 @@ var _ = Describe("Test Cluster Resource Placement Controller", func() { Expect(k8sClient.Get(ctx, types.NamespacedName{ Name: crp.Name, Namespace: fmt.Sprintf(utils.NamespaceNameFormat, clusterA.Name), - }, &clusterWork)).Should(Succeed(), "Failed to get %s work", clusterWork.Name) + }, &clusterWork)).Should(Succeed(), "Failed to retireve %s work", clusterWork.Name) appliedCondition := metav1.Condition{ Type: workapi.ConditionTypeApplied, @@ -1525,7 +1525,7 @@ var _ = Describe("Test Cluster Resource Placement Controller", func() { Expect(k8sClient.Get(ctx, types.NamespacedName{ Name: crp.Name, Namespace: fmt.Sprintf(utils.NamespaceNameFormat, clusterB.Name), - }, &clusterWork)).Should(Succeed(), "Failed to get %s work", clusterWork.Name) + }, &clusterWork)).Should(Succeed(), "Failed to retrieve %s work", clusterWork.Name) appliedCondition = metav1.Condition{ Type: workapi.ConditionTypeApplied, @@ -1652,7 +1652,7 @@ var _ = Describe("Test Cluster Resource Placement Controller", func() { }, } Expect(k8sClient.Create(ctx, crp)).Should(Succeed(), "Failed to create %s cluster resource placement", crp.Name) - Expect(k8sClient.Get(ctx, types.NamespacedName{Name: crp.Name}, crp)).Should(Succeed(), "Failed to get %s cluster resource placement", crp.Name) + Expect(k8sClient.Get(ctx, types.NamespacedName{Name: crp.Name}, crp)).Should(Succeed(), "Failed to retrieve %s cluster resource placement", crp.Name) var clusterWork workv1alpha1.Work workResourceIdentifier1 := workv1alpha1.ResourceIdentifier{ @@ -1798,7 +1798,7 @@ var _ = Describe("Test Cluster Resource Placement Controller", func() { } Expect(k8sClient.Update(ctx, crp)).Should(Succeed(), "Failed to update %s cluster resource placement", crp.Name) - // Update work status to reflect selecting CRD + // update work status to reflect selecting CRD appliedCondition.Status = metav1.ConditionTrue appliedCondition.Reason = "appliedWorkComplete" appliedCondition.ObservedGeneration = 2 From ed1d307b6516caec5b763183b47c5a7f9ddefc36 Mon Sep 17 00:00:00 2001 From: Arvind Thirumurugan Date: Fri, 28 Oct 2022 13:52:31 -0700 Subject: [PATCH 10/15] make reviewable --- test/integration/cluster_placement_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/integration/cluster_placement_test.go b/test/integration/cluster_placement_test.go index b909eabf1..42e219a66 100644 --- a/test/integration/cluster_placement_test.go +++ b/test/integration/cluster_placement_test.go @@ -1495,7 +1495,7 @@ var _ = Describe("Test Cluster Resource Placement Controller", func() { Expect(k8sClient.Get(ctx, types.NamespacedName{ Name: crp.Name, Namespace: fmt.Sprintf(utils.NamespaceNameFormat, clusterA.Name), - }, &clusterWork)).Should(Succeed(), "Failed to retireve %s work", clusterWork.Name) + }, &clusterWork)).Should(Succeed(), "Failed to retrieve %s work", clusterWork.Name) appliedCondition := metav1.Condition{ Type: workapi.ConditionTypeApplied, From 664e9a2abe76c4a1e37d8312a99c139a2ecd38c3 Mon Sep 17 00:00:00 2001 From: Arvind Thirumurugan Date: Fri, 28 Oct 2022 14:16:02 -0700 Subject: [PATCH 11/15] Fix failing test --- test/integration/cluster_placement_test.go | 1 - 1 file changed, 1 deletion(-) diff --git a/test/integration/cluster_placement_test.go b/test/integration/cluster_placement_test.go index 42e219a66..2129790f6 100644 --- a/test/integration/cluster_placement_test.go +++ b/test/integration/cluster_placement_test.go @@ -1652,7 +1652,6 @@ var _ = Describe("Test Cluster Resource Placement Controller", func() { }, } Expect(k8sClient.Create(ctx, crp)).Should(Succeed(), "Failed to create %s cluster resource placement", crp.Name) - Expect(k8sClient.Get(ctx, types.NamespacedName{Name: crp.Name}, crp)).Should(Succeed(), "Failed to retrieve %s cluster resource placement", crp.Name) var clusterWork workv1alpha1.Work workResourceIdentifier1 := workv1alpha1.ResourceIdentifier{ From 0b23cd022a2ff5487122b608e5fa634a8a24b967 Mon Sep 17 00:00:00 2001 From: Arvind Thirumurugan Date: Fri, 28 Oct 2022 16:21:25 -0700 Subject: [PATCH 12/15] fix namespace issue --- test/integration/cluster_placement_test.go | 35 +++++++++++----------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/test/integration/cluster_placement_test.go b/test/integration/cluster_placement_test.go index 2129790f6..1b1df7628 100644 --- a/test/integration/cluster_placement_test.go +++ b/test/integration/cluster_placement_test.go @@ -1643,7 +1643,7 @@ var _ = Describe("Test Cluster Resource Placement Controller", func() { Group: corev1.GroupName, Version: "v1", Kind: "Namespace", - Name: "test-namespace", + Name: ns.Name, }, }, Policy: &fleetv1alpha1.PlacementPolicy{ @@ -1655,17 +1655,18 @@ var _ = Describe("Test Cluster Resource Placement Controller", func() { var clusterWork workv1alpha1.Work workResourceIdentifier1 := workv1alpha1.ResourceIdentifier{ - Group: kruisev1alpha1.GroupVersion.Group, - Kind: "CloneSet", - Name: "test-cloneset", - Ordinal: 0, - Resource: "clonesets", - Version: kruisev1alpha1.GroupVersion.Version, + Group: kruisev1alpha1.GroupVersion.Group, + Kind: "CloneSet", + Name: cs.Name, + Namespace: cs.Namespace, + Ordinal: 0, + Resource: "clonesets", + Version: kruisev1alpha1.GroupVersion.Version, } workResourceIdentifier2 := workv1alpha1.ResourceIdentifier{ Group: corev1.GroupName, Kind: "Namespace", - Name: "test-namespace", + Name: ns.Name, Ordinal: 1, Resource: "namespaces", Version: "v1", @@ -1718,14 +1719,14 @@ var _ = Describe("Test Cluster Resource Placement Controller", func() { Group: kruisev1alpha1.GroupVersion.Group, Version: kruisev1alpha1.GroupVersion.Version, Kind: "CloneSet", - Name: "test-cloneset", - Namespace: "test-namespace", + Name: cs.Name, + Namespace: cs.Namespace, } fleetResourceIdentifier2 := fleetv1alpha1.ResourceIdentifier{ Group: corev1.GroupName, Version: "v1", Kind: "Namespace", - Name: "test-namespace", + Name: ns.Name, } wantCRPStatus := fleetv1alpha1.ClusterResourcePlacementStatus{ Conditions: []metav1.Condition{ @@ -1747,11 +1748,11 @@ var _ = Describe("Test Cluster Resource Placement Controller", func() { FailedResourcePlacements: []fleetv1alpha1.FailedResourcePlacement{ { ResourceIdentifier: fleetv1alpha1.ResourceIdentifier{ - Group: kruisev1alpha1.GroupVersion.Group, - Version: kruisev1alpha1.GroupVersion.Version, - Kind: "CloneSet", - Name: "test-cloneset", - // Namespace for clone set is not being picked up + Group: kruisev1alpha1.GroupVersion.Group, + Version: kruisev1alpha1.GroupVersion.Version, + Kind: "CloneSet", + Name: cs.Name, + Namespace: cs.Namespace, }, ClusterName: clusterA.Name, Condition: metav1.Condition{ @@ -1792,7 +1793,7 @@ var _ = Describe("Test Cluster Resource Placement Controller", func() { Group: corev1.GroupName, Version: "v1", Kind: "Namespace", - Name: "test-namespace", + Name: ns.Name, }, } Expect(k8sClient.Update(ctx, crp)).Should(Succeed(), "Failed to update %s cluster resource placement", crp.Name) From 07c4f0e40a1823333857d02ea924aa64cc3b79a2 Mon Sep 17 00:00:00 2001 From: Arvind Thirumurugan Date: Fri, 28 Oct 2022 16:31:23 -0700 Subject: [PATCH 13/15] reuse var --- test/integration/cluster_placement_test.go | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/test/integration/cluster_placement_test.go b/test/integration/cluster_placement_test.go index 1b1df7628..151bf271e 100644 --- a/test/integration/cluster_placement_test.go +++ b/test/integration/cluster_placement_test.go @@ -1747,14 +1747,8 @@ var _ = Describe("Test Cluster Resource Placement Controller", func() { TargetClusters: []string{clusterA.Name}, FailedResourcePlacements: []fleetv1alpha1.FailedResourcePlacement{ { - ResourceIdentifier: fleetv1alpha1.ResourceIdentifier{ - Group: kruisev1alpha1.GroupVersion.Group, - Version: kruisev1alpha1.GroupVersion.Version, - Kind: "CloneSet", - Name: cs.Name, - Namespace: cs.Namespace, - }, - ClusterName: clusterA.Name, + ResourceIdentifier: fleetResourceIdentifier1, + ClusterName: clusterA.Name, Condition: metav1.Condition{ Type: string(fleetv1alpha1.ResourcePlacementStatusConditionTypeApplied), Status: metav1.ConditionFalse, From 9c9dd6645f82e47fc197d3f761d051601cdbe417 Mon Sep 17 00:00:00 2001 From: Arvind Thirumurugan Date: Fri, 28 Oct 2022 16:32:51 -0700 Subject: [PATCH 14/15] use ns.name --- test/integration/cluster_placement_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/integration/cluster_placement_test.go b/test/integration/cluster_placement_test.go index 151bf271e..8831c6445 100644 --- a/test/integration/cluster_placement_test.go +++ b/test/integration/cluster_placement_test.go @@ -1617,7 +1617,7 @@ var _ = Describe("Test Cluster Resource Placement Controller", func() { cs := &kruisev1alpha1.CloneSet{ ObjectMeta: metav1.ObjectMeta{ Name: "test-cloneset", - Namespace: "test-namespace", + Namespace: ns.Name, }, Spec: kruisev1alpha1.CloneSetSpec{ Replicas: to.Int32Ptr(20), From 71986feae389b1f07c1f47ceaacf4fd0bf6231a3 Mon Sep 17 00:00:00 2001 From: Arvind Thirumurugan Date: Sun, 30 Oct 2022 18:02:03 -0700 Subject: [PATCH 15/15] use consts --- test/integration/cluster_placement_test.go | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/test/integration/cluster_placement_test.go b/test/integration/cluster_placement_test.go index 8831c6445..426776839 100644 --- a/test/integration/cluster_placement_test.go +++ b/test/integration/cluster_placement_test.go @@ -1094,7 +1094,7 @@ var _ = Describe("Test Cluster Resource Placement Controller", func() { Type: string(fleetv1alpha1.ResourcePlacementStatusConditionTypeApplied), Status: metav1.ConditionUnknown, ObservedGeneration: 1, - Reason: "ApplyPending", + Reason: clusterresourceplacement.ApplyPendingReason, }, }, SelectedResources: []fleetv1alpha1.ResourceIdentifier{fleetResourceIdentifier}, @@ -1146,7 +1146,7 @@ var _ = Describe("Test Cluster Resource Placement Controller", func() { Type: string(fleetv1alpha1.ResourcePlacementStatusConditionTypeApplied), Status: metav1.ConditionUnknown, ObservedGeneration: 1, - Reason: "ApplyPending", + Reason: clusterresourceplacement.ApplyPendingReason, }, }, } @@ -1511,7 +1511,7 @@ var _ = Describe("Test Cluster Resource Placement Controller", func() { { Type: workapi.ConditionTypeApplied, Status: metav1.ConditionTrue, - Reason: "ManifestCreated", + Reason: string(workapi.ManifestCreatedAction), LastTransitionTime: metav1.Now(), }, }, @@ -1569,7 +1569,7 @@ var _ = Describe("Test Cluster Resource Placement Controller", func() { Type: string(fleetv1alpha1.ResourcePlacementStatusConditionTypeApplied), Status: metav1.ConditionFalse, ObservedGeneration: 1, - Reason: "ApplyFailed", + Reason: clusterresourceplacement.ApplyFailedReason, }, }, SelectedResources: []fleetv1alpha1.ResourceIdentifier{fleetResourceIdentifier}, @@ -1705,7 +1705,7 @@ var _ = Describe("Test Cluster Resource Placement Controller", func() { { Type: workapi.ConditionTypeApplied, Status: metav1.ConditionTrue, - Reason: "ManifestNoChange", + Reason: string(workapi.ManifestNoChangeAction), LastTransitionTime: metav1.Now(), }, }, @@ -1740,7 +1740,7 @@ var _ = Describe("Test Cluster Resource Placement Controller", func() { Type: string(fleetv1alpha1.ResourcePlacementStatusConditionTypeApplied), Status: metav1.ConditionFalse, ObservedGeneration: 1, - Reason: "ApplyFailed", + Reason: clusterresourceplacement.ApplyFailedReason, }, }, SelectedResources: []fleetv1alpha1.ResourceIdentifier{fleetResourceIdentifier1, fleetResourceIdentifier2}, @@ -1807,7 +1807,7 @@ var _ = Describe("Test Cluster Resource Placement Controller", func() { Version: "v1", } manifestCondition1.Conditions[0].Status = metav1.ConditionTrue - manifestCondition1.Conditions[0].Reason = "ManifestCreated" + manifestCondition1.Conditions[0].Reason = string(workapi.ManifestCreatedAction) manifestCondition2.Identifier = workResourceIdentifier2 manifestCondition3 := workv1alpha1.ManifestCondition{ Identifier: workResourceIdentifier3, @@ -1815,7 +1815,7 @@ var _ = Describe("Test Cluster Resource Placement Controller", func() { { Type: workapi.ConditionTypeApplied, Status: metav1.ConditionTrue, - Reason: "ManifestNoChange", + Reason: string(workapi.ManifestNoChangeAction), LastTransitionTime: metav1.Now(), }, }, @@ -1845,7 +1845,7 @@ var _ = Describe("Test Cluster Resource Placement Controller", func() { Type: string(fleetv1alpha1.ResourcePlacementStatusConditionTypeApplied), Status: metav1.ConditionTrue, ObservedGeneration: 2, - Reason: "ApplySucceeded", + Reason: clusterresourceplacement.ApplySucceededReason, }, }, SelectedResources: []fleetv1alpha1.ResourceIdentifier{fleetResourceIdentifier1, fleetResourceIdentifier2, fleetResourceIdentifier3},