Merge pull request #5226 from mohamedawnallah/unifyAccessToClusterMembersinE2E
test/e2e: unify access to cluster members utilizing `framework.ClusterMembers()[i]`
This commit is contained in:
commit
0cd96b4266
|
@ -122,7 +122,7 @@ var _ = framework.SerialDescribe("Aggregated Kubernetes API Endpoint testing", f
|
|||
})
|
||||
|
||||
ginkgo.BeforeEach(func() {
|
||||
member1, member2 = "member1", "member2"
|
||||
member1, member2 = framework.ClusterNames()[0], framework.ClusterNames()[1]
|
||||
|
||||
saName = fmt.Sprintf("tom-%s", rand.String(RandomStrLength))
|
||||
saNamespace = testNamespace
|
||||
|
@ -207,7 +207,7 @@ var _ = framework.SerialDescribe("Aggregated Kubernetes API Endpoint testing", f
|
|||
framework.RemoveClusterRoleBinding(clusterClient, tomClusterRoleBindingOnMember.Name)
|
||||
})
|
||||
|
||||
ginkgo.It("tom access the member1 cluster api with and without right", func() {
|
||||
ginkgo.It(fmt.Sprintf("tom access the %s cluster api with and without right", member1), func() {
|
||||
ginkgo.By(fmt.Sprintf("access the %s cluster `/api` path with right", member1), func() {
|
||||
gomega.Eventually(func(g gomega.Gomega) (int, error) {
|
||||
code, err := helper.DoRequest(fmt.Sprintf(karmadaHost+clusterProxy+"api", member1), tomToken)
|
||||
|
@ -238,7 +238,7 @@ var _ = framework.SerialDescribe("Aggregated Kubernetes API Endpoint testing", f
|
|||
})
|
||||
|
||||
ginkgo.When(fmt.Sprintf("Serviceaccount(tom) access the %s cluster", member2), func() {
|
||||
ginkgo.It("tom access the member2 cluster without right", func() {
|
||||
ginkgo.It(fmt.Sprintf("tom access the %s cluster without right", member2), func() {
|
||||
ginkgo.By(fmt.Sprintf("access the %s cluster `/api` path without right", member2), func() {
|
||||
code, err := helper.DoRequest(fmt.Sprintf(karmadaHost+clusterProxy, member2), tomToken)
|
||||
gomega.Expect(err).ShouldNot(gomega.HaveOccurred())
|
||||
|
|
|
@ -44,10 +44,13 @@ var _ = ginkgo.Describe("[ClusterAffinities] propagation testing", func() {
|
|||
var deployment *appsv1.Deployment
|
||||
var policy *policyv1alpha1.PropagationPolicy
|
||||
var member1LabelKey, member2LabelKey string
|
||||
var member1, member2 string
|
||||
|
||||
ginkgo.BeforeEach(func() {
|
||||
member1LabelKey = "member1-" + rand.String(RandomStrLength)
|
||||
member2LabelKey = "member2-" + rand.String(RandomStrLength)
|
||||
member1 = framework.ClusterNames()[0]
|
||||
member2 = framework.ClusterNames()[1]
|
||||
member1LabelKey = fmt.Sprintf("%s-%s", member1, rand.String(RandomStrLength))
|
||||
member2LabelKey = fmt.Sprintf("%s-%s", member2, rand.String(RandomStrLength))
|
||||
|
||||
deployment = testhelper.NewDeployment(testNamespace, deploymentNamePrefix+rand.String(RandomStrLength))
|
||||
policy = testhelper.NewPropagationPolicy(deployment.Namespace, deployment.Name, []policyv1alpha1.ResourceSelector{
|
||||
|
@ -72,17 +75,17 @@ var _ = ginkgo.Describe("[ClusterAffinities] propagation testing", func() {
|
|||
},
|
||||
{
|
||||
AffinityName: "group4",
|
||||
ClusterAffinity: policyv1alpha1.ClusterAffinity{ClusterNames: []string{"member1"}},
|
||||
ClusterAffinity: policyv1alpha1.ClusterAffinity{ClusterNames: []string{member1}},
|
||||
},
|
||||
}})
|
||||
})
|
||||
|
||||
ginkgo.BeforeEach(func() {
|
||||
framework.UpdateClusterLabels(karmadaClient, "member1", map[string]string{member1LabelKey: "ok"})
|
||||
framework.UpdateClusterLabels(karmadaClient, "member2", map[string]string{member2LabelKey: "ok"})
|
||||
framework.UpdateClusterLabels(karmadaClient, member1, map[string]string{member1LabelKey: "ok"})
|
||||
framework.UpdateClusterLabels(karmadaClient, member2, map[string]string{member2LabelKey: "ok"})
|
||||
ginkgo.DeferCleanup(func() {
|
||||
framework.DeleteClusterLabels(karmadaClient, "member1", map[string]string{member1LabelKey: ""})
|
||||
framework.DeleteClusterLabels(karmadaClient, "member2", map[string]string{member2LabelKey: ""})
|
||||
framework.DeleteClusterLabels(karmadaClient, member1, map[string]string{member1LabelKey: ""})
|
||||
framework.DeleteClusterLabels(karmadaClient, member2, map[string]string{member2LabelKey: ""})
|
||||
})
|
||||
})
|
||||
|
||||
|
@ -97,29 +100,32 @@ var _ = ginkgo.Describe("[ClusterAffinities] propagation testing", func() {
|
|||
|
||||
ginkgo.It("propagate deployment and then update the cluster label", func() {
|
||||
// 1. wait for deployment present on member1 cluster
|
||||
framework.WaitDeploymentPresentOnClusterFitWith("member1", deployment.Namespace, deployment.Name, func(*appsv1.Deployment) bool { return true })
|
||||
framework.WaitDeploymentPresentOnClusterFitWith(member1, deployment.Namespace, deployment.Name, func(*appsv1.Deployment) bool { return true })
|
||||
|
||||
// 2. update member1 cluster label to make it's unmatched with the policy
|
||||
framework.UpdateClusterLabels(karmadaClient, "member1", map[string]string{member1LabelKey: "not-ok"})
|
||||
framework.WaitDeploymentDisappearOnCluster("member1", deployment.Namespace, deployment.Name)
|
||||
framework.UpdateClusterLabels(karmadaClient, member1, map[string]string{member1LabelKey: "not-ok"})
|
||||
framework.WaitDeploymentDisappearOnCluster(member1, deployment.Namespace, deployment.Name)
|
||||
|
||||
// 3. wait for deployment present on member2 cluster
|
||||
framework.WaitDeploymentPresentOnClusterFitWith("member2", deployment.Namespace, deployment.Name, func(*appsv1.Deployment) bool { return true })
|
||||
framework.WaitDeploymentPresentOnClusterFitWith(member2, deployment.Namespace, deployment.Name, func(*appsv1.Deployment) bool { return true })
|
||||
|
||||
// 4. update member2 cluster label to make it's unmatched with the policy
|
||||
framework.UpdateClusterLabels(karmadaClient, "member2", map[string]string{member2LabelKey: "not-ok"})
|
||||
framework.WaitDeploymentDisappearOnCluster("member2", deployment.Namespace, deployment.Name)
|
||||
framework.UpdateClusterLabels(karmadaClient, member2, map[string]string{member2LabelKey: "not-ok"})
|
||||
framework.WaitDeploymentDisappearOnCluster(member2, deployment.Namespace, deployment.Name)
|
||||
|
||||
// 5. wait for deployment present on member1 cluster
|
||||
framework.WaitDeploymentPresentOnClusterFitWith("member1", deployment.Namespace, deployment.Name, func(*appsv1.Deployment) bool { return true })
|
||||
framework.WaitDeploymentPresentOnClusterFitWith(member1, deployment.Namespace, deployment.Name, func(*appsv1.Deployment) bool { return true })
|
||||
})
|
||||
})
|
||||
|
||||
ginkgo.Context("schedule change from clusterAffinity to clusterAffinities", func() {
|
||||
var deployment *appsv1.Deployment
|
||||
var policy *policyv1alpha1.PropagationPolicy
|
||||
var member1, member2 string
|
||||
|
||||
ginkgo.BeforeEach(func() {
|
||||
member1 = framework.ClusterNames()[0]
|
||||
member2 = framework.ClusterNames()[1]
|
||||
deployment = testhelper.NewDeployment(testNamespace, deploymentNamePrefix+rand.String(RandomStrLength))
|
||||
policy = testhelper.NewPropagationPolicy(deployment.Namespace, deployment.Name, []policyv1alpha1.ResourceSelector{
|
||||
{
|
||||
|
@ -128,7 +134,7 @@ var _ = ginkgo.Describe("[ClusterAffinities] propagation testing", func() {
|
|||
Name: deployment.Name,
|
||||
},
|
||||
}, policyv1alpha1.Placement{
|
||||
ClusterAffinity: &policyv1alpha1.ClusterAffinity{ClusterNames: []string{"member1"}},
|
||||
ClusterAffinity: &policyv1alpha1.ClusterAffinity{ClusterNames: []string{member1}},
|
||||
})
|
||||
})
|
||||
|
||||
|
@ -143,26 +149,29 @@ var _ = ginkgo.Describe("[ClusterAffinities] propagation testing", func() {
|
|||
|
||||
ginkgo.It("propagate deployment and then update the cluster label", func() {
|
||||
// 1. wait for deployment present on member1 cluster
|
||||
framework.WaitDeploymentPresentOnClusterFitWith("member1", deployment.Namespace, deployment.Name, func(*appsv1.Deployment) bool { return true })
|
||||
framework.WaitDeploymentPresentOnClusterFitWith(member1, deployment.Namespace, deployment.Name, func(*appsv1.Deployment) bool { return true })
|
||||
|
||||
// 2. update policy placement with clusterAffinities
|
||||
policy.Spec.Placement.ClusterAffinity = nil
|
||||
policy.Spec.Placement.ClusterAffinities = []policyv1alpha1.ClusterAffinityTerm{{
|
||||
AffinityName: "group1",
|
||||
ClusterAffinity: policyv1alpha1.ClusterAffinity{ClusterNames: []string{"member2"}},
|
||||
ClusterAffinity: policyv1alpha1.ClusterAffinity{ClusterNames: []string{member2}},
|
||||
}}
|
||||
framework.UpdatePropagationPolicyWithSpec(karmadaClient, policy.Namespace, policy.Name, policy.Spec)
|
||||
|
||||
// 3. wait for deployment present on member2 cluster
|
||||
framework.WaitDeploymentPresentOnClusterFitWith("member2", deployment.Namespace, deployment.Name, func(*appsv1.Deployment) bool { return true })
|
||||
framework.WaitDeploymentPresentOnClusterFitWith(member2, deployment.Namespace, deployment.Name, func(*appsv1.Deployment) bool { return true })
|
||||
})
|
||||
})
|
||||
|
||||
ginkgo.Context("schedule change from clusterAffinities to clusterAffinity", func() {
|
||||
var deployment *appsv1.Deployment
|
||||
var policy *policyv1alpha1.PropagationPolicy
|
||||
var member1, member2 string
|
||||
|
||||
ginkgo.BeforeEach(func() {
|
||||
member1 = framework.ClusterNames()[0]
|
||||
member2 = framework.ClusterNames()[1]
|
||||
deployment = testhelper.NewDeployment(testNamespace, deploymentNamePrefix+rand.String(RandomStrLength))
|
||||
policy = testhelper.NewPropagationPolicy(deployment.Namespace, deployment.Name, []policyv1alpha1.ResourceSelector{
|
||||
{
|
||||
|
@ -173,7 +182,7 @@ var _ = ginkgo.Describe("[ClusterAffinities] propagation testing", func() {
|
|||
}, policyv1alpha1.Placement{
|
||||
ClusterAffinities: []policyv1alpha1.ClusterAffinityTerm{{
|
||||
AffinityName: "group1",
|
||||
ClusterAffinity: policyv1alpha1.ClusterAffinity{ClusterNames: []string{"member1"}},
|
||||
ClusterAffinity: policyv1alpha1.ClusterAffinity{ClusterNames: []string{member1}},
|
||||
}},
|
||||
})
|
||||
})
|
||||
|
@ -189,15 +198,15 @@ var _ = ginkgo.Describe("[ClusterAffinities] propagation testing", func() {
|
|||
|
||||
ginkgo.It("propagate deployment and then update the cluster label", func() {
|
||||
// 1. wait for deployment present on member1 cluster
|
||||
framework.WaitDeploymentPresentOnClusterFitWith("member1", deployment.Namespace, deployment.Name, func(*appsv1.Deployment) bool { return true })
|
||||
framework.WaitDeploymentPresentOnClusterFitWith(member1, deployment.Namespace, deployment.Name, func(*appsv1.Deployment) bool { return true })
|
||||
|
||||
// 2. update policy placement with clusterAffinities
|
||||
policy.Spec.Placement.ClusterAffinity = &policyv1alpha1.ClusterAffinity{ClusterNames: []string{"member2"}}
|
||||
policy.Spec.Placement.ClusterAffinity = &policyv1alpha1.ClusterAffinity{ClusterNames: []string{member2}}
|
||||
policy.Spec.Placement.ClusterAffinities = nil
|
||||
framework.UpdatePropagationPolicyWithSpec(karmadaClient, policy.Namespace, policy.Name, policy.Spec)
|
||||
|
||||
// 3. wait for deployment present on member2 cluster
|
||||
framework.WaitDeploymentPresentOnClusterFitWith("member2", deployment.Namespace, deployment.Name, func(*appsv1.Deployment) bool { return true })
|
||||
framework.WaitDeploymentPresentOnClusterFitWith(member2, deployment.Namespace, deployment.Name, func(*appsv1.Deployment) bool { return true })
|
||||
})
|
||||
})
|
||||
})
|
||||
|
@ -207,10 +216,13 @@ var _ = ginkgo.Describe("[ClusterAffinities] propagation testing", func() {
|
|||
var policy *policyv1alpha1.ClusterPropagationPolicy
|
||||
var clusterRole *rbacv1.ClusterRole
|
||||
var member1LabelKey, member2LabelKey string
|
||||
var member1, member2 string
|
||||
|
||||
ginkgo.BeforeEach(func() {
|
||||
member1LabelKey = "member1-" + rand.String(RandomStrLength)
|
||||
member2LabelKey = "member2-" + rand.String(RandomStrLength)
|
||||
member1 = framework.ClusterNames()[0]
|
||||
member2 = framework.ClusterNames()[1]
|
||||
member1LabelKey = fmt.Sprintf("%s-%s", member1, rand.String(RandomStrLength))
|
||||
member2LabelKey = fmt.Sprintf("%s-%s", member2, rand.String(RandomStrLength))
|
||||
|
||||
clusterRole = testhelper.NewClusterRole(clusterRoleNamePrefix+rand.String(RandomStrLength), nil)
|
||||
policy = testhelper.NewClusterPropagationPolicy(clusterRole.Name, []policyv1alpha1.ResourceSelector{
|
||||
|
@ -235,17 +247,17 @@ var _ = ginkgo.Describe("[ClusterAffinities] propagation testing", func() {
|
|||
},
|
||||
{
|
||||
AffinityName: "group4",
|
||||
ClusterAffinity: policyv1alpha1.ClusterAffinity{ClusterNames: []string{"member1"}},
|
||||
ClusterAffinity: policyv1alpha1.ClusterAffinity{ClusterNames: []string{member1}},
|
||||
},
|
||||
}})
|
||||
})
|
||||
|
||||
ginkgo.BeforeEach(func() {
|
||||
framework.UpdateClusterLabels(karmadaClient, "member1", map[string]string{member1LabelKey: "ok"})
|
||||
framework.UpdateClusterLabels(karmadaClient, "member2", map[string]string{member2LabelKey: "ok"})
|
||||
framework.UpdateClusterLabels(karmadaClient, member1, map[string]string{member1LabelKey: "ok"})
|
||||
framework.UpdateClusterLabels(karmadaClient, member2, map[string]string{member2LabelKey: "ok"})
|
||||
ginkgo.DeferCleanup(func() {
|
||||
framework.DeleteClusterLabels(karmadaClient, "member1", map[string]string{member1LabelKey: ""})
|
||||
framework.DeleteClusterLabels(karmadaClient, "member2", map[string]string{member2LabelKey: ""})
|
||||
framework.DeleteClusterLabels(karmadaClient, member1, map[string]string{member1LabelKey: ""})
|
||||
framework.DeleteClusterLabels(karmadaClient, member2, map[string]string{member2LabelKey: ""})
|
||||
})
|
||||
})
|
||||
|
||||
|
@ -260,29 +272,32 @@ var _ = ginkgo.Describe("[ClusterAffinities] propagation testing", func() {
|
|||
|
||||
ginkgo.It("propagate clusterRole and then update the cluster label", func() {
|
||||
// 1. wait for clusterRole present on member1 cluster
|
||||
framework.WaitClusterRolePresentOnClusterFitWith("member1", clusterRole.Name, func(*rbacv1.ClusterRole) bool { return true })
|
||||
framework.WaitClusterRolePresentOnClusterFitWith(member1, clusterRole.Name, func(*rbacv1.ClusterRole) bool { return true })
|
||||
|
||||
// 2. update member1 cluster label to make it's unmatched with the policy
|
||||
framework.UpdateClusterLabels(karmadaClient, "member1", map[string]string{member1LabelKey: "not-ok"})
|
||||
framework.WaitClusterRoleDisappearOnCluster("member1", clusterRole.Name)
|
||||
framework.UpdateClusterLabels(karmadaClient, member1, map[string]string{member1LabelKey: "not-ok"})
|
||||
framework.WaitClusterRoleDisappearOnCluster(member1, clusterRole.Name)
|
||||
|
||||
// 3. wait for clusterRole present on member2 cluster
|
||||
framework.WaitClusterRolePresentOnClusterFitWith("member2", clusterRole.Name, func(*rbacv1.ClusterRole) bool { return true })
|
||||
framework.WaitClusterRolePresentOnClusterFitWith(member2, clusterRole.Name, func(*rbacv1.ClusterRole) bool { return true })
|
||||
|
||||
// 4. update member2 cluster label to make it's unmatched with the policy
|
||||
framework.UpdateClusterLabels(karmadaClient, "member2", map[string]string{member2LabelKey: "not-ok"})
|
||||
framework.WaitClusterRoleDisappearOnCluster("member2", clusterRole.Name)
|
||||
framework.UpdateClusterLabels(karmadaClient, member2, map[string]string{member2LabelKey: "not-ok"})
|
||||
framework.WaitClusterRoleDisappearOnCluster(member2, clusterRole.Name)
|
||||
|
||||
// 5. wait for deployment present on member1 cluster
|
||||
framework.WaitClusterRolePresentOnClusterFitWith("member1", clusterRole.Name, func(*rbacv1.ClusterRole) bool { return true })
|
||||
framework.WaitClusterRolePresentOnClusterFitWith(member1, clusterRole.Name, func(*rbacv1.ClusterRole) bool { return true })
|
||||
})
|
||||
})
|
||||
|
||||
ginkgo.Context("schedule change from clusterAffinity to clusterAffinities", func() {
|
||||
var policy *policyv1alpha1.ClusterPropagationPolicy
|
||||
var clusterRole *rbacv1.ClusterRole
|
||||
var member1, member2 string
|
||||
|
||||
ginkgo.BeforeEach(func() {
|
||||
member1 = framework.ClusterNames()[0]
|
||||
member2 = framework.ClusterNames()[1]
|
||||
clusterRole = testhelper.NewClusterRole(clusterRoleNamePrefix+rand.String(RandomStrLength), nil)
|
||||
policy = testhelper.NewClusterPropagationPolicy(clusterRole.Name, []policyv1alpha1.ResourceSelector{
|
||||
{
|
||||
|
@ -291,7 +306,7 @@ var _ = ginkgo.Describe("[ClusterAffinities] propagation testing", func() {
|
|||
Name: clusterRole.Name,
|
||||
},
|
||||
}, policyv1alpha1.Placement{
|
||||
ClusterAffinity: &policyv1alpha1.ClusterAffinity{ClusterNames: []string{"member1"}},
|
||||
ClusterAffinity: &policyv1alpha1.ClusterAffinity{ClusterNames: []string{member1}},
|
||||
})
|
||||
})
|
||||
|
||||
|
@ -306,26 +321,29 @@ var _ = ginkgo.Describe("[ClusterAffinities] propagation testing", func() {
|
|||
|
||||
ginkgo.It("propagate clusterRole and then update the cluster label", func() {
|
||||
// 1. wait for clusterRole present on member1 cluster
|
||||
framework.WaitClusterRolePresentOnClusterFitWith("member1", clusterRole.Name, func(*rbacv1.ClusterRole) bool { return true })
|
||||
framework.WaitClusterRolePresentOnClusterFitWith(member1, clusterRole.Name, func(*rbacv1.ClusterRole) bool { return true })
|
||||
|
||||
// 2. update policy placement with clusterAffinities
|
||||
policy.Spec.Placement.ClusterAffinity = nil
|
||||
policy.Spec.Placement.ClusterAffinities = []policyv1alpha1.ClusterAffinityTerm{{
|
||||
AffinityName: "group1",
|
||||
ClusterAffinity: policyv1alpha1.ClusterAffinity{ClusterNames: []string{"member2"}},
|
||||
ClusterAffinity: policyv1alpha1.ClusterAffinity{ClusterNames: []string{member2}},
|
||||
}}
|
||||
framework.UpdateClusterPropagationPolicyWithSpec(karmadaClient, policy.Name, policy.Spec)
|
||||
|
||||
// 3. wait for clusterRole present on member2 cluster
|
||||
framework.WaitClusterRolePresentOnClusterFitWith("member2", clusterRole.Name, func(*rbacv1.ClusterRole) bool { return true })
|
||||
framework.WaitClusterRolePresentOnClusterFitWith(member2, clusterRole.Name, func(*rbacv1.ClusterRole) bool { return true })
|
||||
})
|
||||
})
|
||||
|
||||
ginkgo.Context("schedule change from clusterAffinities to clusterAffinity", func() {
|
||||
var policy *policyv1alpha1.ClusterPropagationPolicy
|
||||
var clusterRole *rbacv1.ClusterRole
|
||||
var member1, member2 string
|
||||
|
||||
ginkgo.BeforeEach(func() {
|
||||
member1 = framework.ClusterNames()[0]
|
||||
member2 = framework.ClusterNames()[1]
|
||||
clusterRole = testhelper.NewClusterRole(clusterRoleNamePrefix+rand.String(RandomStrLength), nil)
|
||||
policy = testhelper.NewClusterPropagationPolicy(clusterRole.Name, []policyv1alpha1.ResourceSelector{
|
||||
{
|
||||
|
@ -336,7 +354,7 @@ var _ = ginkgo.Describe("[ClusterAffinities] propagation testing", func() {
|
|||
}, policyv1alpha1.Placement{
|
||||
ClusterAffinities: []policyv1alpha1.ClusterAffinityTerm{{
|
||||
AffinityName: "group1",
|
||||
ClusterAffinity: policyv1alpha1.ClusterAffinity{ClusterNames: []string{"member1"}},
|
||||
ClusterAffinity: policyv1alpha1.ClusterAffinity{ClusterNames: []string{member1}},
|
||||
}},
|
||||
})
|
||||
})
|
||||
|
@ -352,15 +370,15 @@ var _ = ginkgo.Describe("[ClusterAffinities] propagation testing", func() {
|
|||
|
||||
ginkgo.It("propagate clusterRole and then update the cluster label", func() {
|
||||
// 1. wait for clusterRole present on member1 cluster
|
||||
framework.WaitClusterRolePresentOnClusterFitWith("member1", clusterRole.Name, func(*rbacv1.ClusterRole) bool { return true })
|
||||
framework.WaitClusterRolePresentOnClusterFitWith(member1, clusterRole.Name, func(*rbacv1.ClusterRole) bool { return true })
|
||||
|
||||
// 2. update policy placement with clusterAffinities
|
||||
policy.Spec.Placement.ClusterAffinity = &policyv1alpha1.ClusterAffinity{ClusterNames: []string{"member2"}}
|
||||
policy.Spec.Placement.ClusterAffinity = &policyv1alpha1.ClusterAffinity{ClusterNames: []string{member2}}
|
||||
policy.Spec.Placement.ClusterAffinities = nil
|
||||
framework.UpdateClusterPropagationPolicyWithSpec(karmadaClient, policy.Name, policy.Spec)
|
||||
|
||||
// 3. wait for clusterRole present on member2 cluster
|
||||
framework.WaitClusterRolePresentOnClusterFitWith("member2", clusterRole.Name, func(*rbacv1.ClusterRole) bool { return true })
|
||||
framework.WaitClusterRolePresentOnClusterFitWith(member2, clusterRole.Name, func(*rbacv1.ClusterRole) bool { return true })
|
||||
})
|
||||
})
|
||||
})
|
||||
|
@ -368,8 +386,11 @@ var _ = ginkgo.Describe("[ClusterAffinities] propagation testing", func() {
|
|||
framework.SerialWhen("[Failover] member cluster become unReachable", func() {
|
||||
var deployment *appsv1.Deployment
|
||||
var policy *policyv1alpha1.PropagationPolicy
|
||||
var member1, member2 string
|
||||
|
||||
ginkgo.BeforeEach(func() {
|
||||
member1 = framework.ClusterNames()[0]
|
||||
member2 = framework.ClusterNames()[1]
|
||||
deployment = testhelper.NewDeployment(testNamespace, deploymentNamePrefix+rand.String(RandomStrLength))
|
||||
|
||||
policy = testhelper.NewPropagationPolicy(deployment.Namespace, deployment.Name, []policyv1alpha1.ResourceSelector{
|
||||
|
@ -386,11 +407,11 @@ var _ = ginkgo.Describe("[ClusterAffinities] propagation testing", func() {
|
|||
ClusterAffinities: []policyv1alpha1.ClusterAffinityTerm{
|
||||
{
|
||||
AffinityName: "group1",
|
||||
ClusterAffinity: policyv1alpha1.ClusterAffinity{ClusterNames: []string{"member1"}},
|
||||
ClusterAffinity: policyv1alpha1.ClusterAffinity{ClusterNames: []string{member1}},
|
||||
},
|
||||
{
|
||||
AffinityName: "group2",
|
||||
ClusterAffinity: policyv1alpha1.ClusterAffinity{ClusterNames: []string{"member2"}},
|
||||
ClusterAffinity: policyv1alpha1.ClusterAffinity{ClusterNames: []string{member2}},
|
||||
}}})
|
||||
})
|
||||
|
||||
|
@ -406,30 +427,30 @@ var _ = ginkgo.Describe("[ClusterAffinities] propagation testing", func() {
|
|||
ginkgo.It("deployment failover testing", func() {
|
||||
// 1. set cluster member1 condition status to false
|
||||
ginkgo.By("set cluster member1 condition status to false", func() {
|
||||
err := disableCluster(controlPlaneClient, "member1")
|
||||
err := disableCluster(controlPlaneClient, member1)
|
||||
gomega.Expect(err).ShouldNot(gomega.HaveOccurred())
|
||||
|
||||
framework.WaitClusterFitWith(controlPlaneClient, "member1", func(cluster *clusterv1alpha1.Cluster) bool {
|
||||
framework.WaitClusterFitWith(controlPlaneClient, member1, func(cluster *clusterv1alpha1.Cluster) bool {
|
||||
return helper.TaintExists(cluster.Spec.Taints, controllercluster.NotReadyTaintTemplate)
|
||||
})
|
||||
})
|
||||
|
||||
// 2. wait for deployment present on member2 cluster
|
||||
framework.WaitDeploymentPresentOnClusterFitWith("member2", deployment.Namespace, deployment.Name, func(*appsv1.Deployment) bool { return true })
|
||||
framework.WaitDeploymentPresentOnClusterFitWith(member2, deployment.Namespace, deployment.Name, func(*appsv1.Deployment) bool { return true })
|
||||
|
||||
// 3. recover not ready cluster
|
||||
ginkgo.By("recover not ready cluster", func() {
|
||||
originalAPIEndpoint := getClusterAPIEndpoint("member1")
|
||||
err := recoverCluster(controlPlaneClient, "member1", originalAPIEndpoint)
|
||||
originalAPIEndpoint := getClusterAPIEndpoint(member1)
|
||||
err := recoverCluster(controlPlaneClient, member1, originalAPIEndpoint)
|
||||
gomega.Expect(err).ShouldNot(gomega.HaveOccurred())
|
||||
|
||||
err = wait.PollUntilContextTimeout(context.TODO(), pollInterval, pollTimeout, true, func(_ context.Context) (done bool, err error) {
|
||||
currentCluster, err := util.GetCluster(controlPlaneClient, "member1")
|
||||
currentCluster, err := util.GetCluster(controlPlaneClient, member1)
|
||||
if err != nil {
|
||||
return false, err
|
||||
}
|
||||
if !helper.TaintExists(currentCluster.Spec.Taints, controllercluster.NotReadyTaintTemplate) {
|
||||
fmt.Printf("cluster %s recovered\n", "member1")
|
||||
fmt.Printf("cluster %s recovered\n", member1)
|
||||
return true, nil
|
||||
}
|
||||
return false, nil
|
||||
|
|
|
@ -38,8 +38,8 @@ var _ = ginkgo.Describe("[DependenciesDistributor] automatically propagate relev
|
|||
var policy *policyv1alpha1.PropagationPolicy
|
||||
|
||||
ginkgo.BeforeEach(func() {
|
||||
initClusterNames = []string{"member1"}
|
||||
updateClusterNames = []string{"member2"}
|
||||
initClusterNames = []string{framework.ClusterNames()[0]}
|
||||
updateClusterNames = []string{framework.ClusterNames()[1]}
|
||||
|
||||
policyName = deploymentNamePrefix + rand.String(RandomStrLength)
|
||||
deploymentName = policyName
|
||||
|
@ -351,8 +351,8 @@ var _ = ginkgo.Describe("[DependenciesDistributor] automatically propagate relev
|
|||
var policy *policyv1alpha1.ClusterPropagationPolicy
|
||||
|
||||
ginkgo.BeforeEach(func() {
|
||||
initClusterNames = []string{"member1"}
|
||||
updateClusterNames = []string{"member2"}
|
||||
initClusterNames = []string{framework.ClusterNames()[0]}
|
||||
updateClusterNames = []string{framework.ClusterNames()[1]}
|
||||
|
||||
policyName = deploymentNamePrefix + rand.String(RandomStrLength)
|
||||
deploymentName = policyName
|
||||
|
|
|
@ -56,7 +56,7 @@ var _ = ginkgo.Describe("propagation with fieldSelector testing", func() {
|
|||
originalClusterRegionInfo = make(map[string]string)
|
||||
desiredProvider = []string{"huaweicloud"}
|
||||
undesiredRegion = []string{"cn-north-1"}
|
||||
desiredScheduleResult = "member1"
|
||||
desiredScheduleResult = framework.ClusterNames()[0]
|
||||
|
||||
// desire to schedule to clusters of huaweicloud but not in cn-north-1 region
|
||||
filedSelector = &policyv1alpha1.FieldSelector{
|
||||
|
|
|
@ -60,7 +60,7 @@ var _ = ginkgo.Describe("Karmadactl promote testing", func() {
|
|||
var member1Client kubernetes.Interface
|
||||
|
||||
ginkgo.BeforeEach(func() {
|
||||
member1 = "member1"
|
||||
member1 = framework.ClusterNames()[0]
|
||||
member1Client = framework.GetClusterClient(member1)
|
||||
defaultConfigFlags := genericclioptions.NewConfigFlags(true).WithDeprecatedPasswordFlag().WithDiscoveryBurst(300).WithDiscoveryQPS(50.0)
|
||||
defaultConfigFlags.Context = &karmadaContext
|
||||
|
@ -616,7 +616,7 @@ var _ = ginkgo.Describe("Karmadactl logs testing", func() {
|
|||
var member1Client kubernetes.Interface
|
||||
|
||||
ginkgo.BeforeEach(func() {
|
||||
member1 = "member1"
|
||||
member1 = framework.ClusterNames()[0]
|
||||
member1Client = framework.GetClusterClient(member1)
|
||||
})
|
||||
|
||||
|
@ -794,7 +794,7 @@ var _ = ginkgo.Describe("Karmadactl get testing", func() {
|
|||
var member1Client kubernetes.Interface
|
||||
|
||||
ginkgo.BeforeEach(func() {
|
||||
member1 = "member1"
|
||||
member1 = framework.ClusterNames()[0]
|
||||
member1Client = framework.GetClusterClient(member1)
|
||||
})
|
||||
|
||||
|
@ -898,7 +898,7 @@ var _ = ginkgo.Describe("Karmadactl describe testing", func() {
|
|||
var member1Client kubernetes.Interface
|
||||
|
||||
ginkgo.BeforeEach(func() {
|
||||
member1 = "member1"
|
||||
member1 = framework.ClusterNames()[0]
|
||||
member1Client = framework.GetClusterClient(member1)
|
||||
})
|
||||
|
||||
|
|
|
@ -17,6 +17,7 @@ limitations under the License.
|
|||
package e2e
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
"github.com/onsi/ginkgo/v2"
|
||||
|
@ -113,7 +114,7 @@ var _ = ginkgo.Describe("Lazy activation policy testing", func() {
|
|||
waitDeploymentPresentOnCluster(originalCluster, namespace, deploymentName)
|
||||
})
|
||||
|
||||
ginkgo.By("step 2: after policy updated (cluster=member2, remove lazy activationPreference field), the propagation of deployment changed", func() {
|
||||
ginkgo.By(fmt.Sprintf("step 2: after policy updated (cluster=%s, remove lazy activationPreference field), the propagation of deployment changed", modifiedCluster), func() {
|
||||
// 1. remove lazy activationPreference field
|
||||
policy.Spec.ActivationPreference = ""
|
||||
// 2. update policy placement with clusterAffinities
|
||||
|
@ -137,7 +138,7 @@ var _ = ginkgo.Describe("Lazy activation policy testing", func() {
|
|||
waitDeploymentPresentOnCluster(originalCluster, namespace, deploymentName)
|
||||
})
|
||||
|
||||
ginkgo.By("step 2: after policy updated (cluster=member2, activationPreference=lazy), the propagation of deployment unchanged", func() {
|
||||
ginkgo.By(fmt.Sprintf("step 2: after policy updated (cluster=%s, activationPreference=lazy), the propagation of deployment unchanged", modifiedCluster), func() {
|
||||
// 1. activationPreference=lazy
|
||||
policy.Spec.ActivationPreference = policyv1alpha1.LazyActivation
|
||||
// 2. update policy placement with clusterAffinities
|
||||
|
@ -166,7 +167,7 @@ var _ = ginkgo.Describe("Lazy activation policy testing", func() {
|
|||
waitDeploymentPresentOnCluster(originalCluster, namespace, deploymentName)
|
||||
})
|
||||
|
||||
ginkgo.By("step 2: create PP2 (match nginx, cluster=member2, not lazy, priority=2, preemption=true)", func() {
|
||||
ginkgo.By(fmt.Sprintf("step 2: create PP2 (match nginx, cluster=%s, not lazy, priority=2, preemption=true)", modifiedCluster), func() {
|
||||
policyHigherPriority.Spec.ActivationPreference = "" // remove lazy activationPreference field
|
||||
framework.CreatePropagationPolicy(karmadaClient, policyHigherPriority)
|
||||
waitDeploymentPresentOnCluster(modifiedCluster, namespace, deploymentName)
|
||||
|
@ -184,7 +185,7 @@ var _ = ginkgo.Describe("Lazy activation policy testing", func() {
|
|||
waitDeploymentPresentOnCluster(originalCluster, namespace, deploymentName)
|
||||
})
|
||||
|
||||
ginkgo.By("step 2: create PP2 (match nginx, cluster=member2, lazy, priority=2, preemption=true)", func() {
|
||||
ginkgo.By(fmt.Sprintf("step 2: create PP2 (match nginx, cluster=%s, lazy, priority=2, preemption=true)", modifiedCluster), func() {
|
||||
framework.CreatePropagationPolicy(karmadaClient, policyHigherPriority)
|
||||
// 1. annotation of policy name changed
|
||||
framework.WaitDeploymentFitWith(kubeClient, namespace, deploymentName, func(deployment *appsv1.Deployment) bool {
|
||||
|
|
|
@ -46,8 +46,7 @@ import (
|
|||
)
|
||||
|
||||
var (
|
||||
serviceExportClusterName = "member1"
|
||||
serviceImportClusterName = "member2"
|
||||
serviceExportClusterName, serviceImportClusterName string
|
||||
|
||||
serviceExportResource = "serviceexports"
|
||||
serviceImportResource = "serviceimports"
|
||||
|
@ -205,6 +204,8 @@ var _ = ginkgo.Describe("Multi-Cluster Service testing", func() {
|
|||
var demoService corev1.Service
|
||||
|
||||
ginkgo.BeforeEach(func() {
|
||||
serviceExportClusterName = framework.ClusterNames()[0]
|
||||
serviceImportClusterName = framework.ClusterNames()[1]
|
||||
serviceExportPolicyName = fmt.Sprintf("%s-%s-policy", serviceExportResource, rand.String(RandomStrLength))
|
||||
serviceImportPolicyName = fmt.Sprintf("%s-%s-policy", serviceImportResource, rand.String(RandomStrLength))
|
||||
|
||||
|
@ -529,7 +530,7 @@ var _ = ginkgo.Describe("CrossCluster MultiClusterService testing", func() {
|
|||
})
|
||||
|
||||
// case 1: ProviderClusters field is [member1], ConsumerClusters field is [member2]
|
||||
ginkgo.Context("ProviderClusters field is [member1], ConsumerClusters field is [member2]", func() {
|
||||
ginkgo.Context(fmt.Sprintf("ProviderClusters field is [%s], ConsumerClusters field is [%s]", member1Name, member2Name), func() {
|
||||
var mcs *networkingv1alpha1.MultiClusterService
|
||||
|
||||
ginkgo.BeforeEach(func() {
|
||||
|
@ -562,7 +563,7 @@ var _ = ginkgo.Describe("CrossCluster MultiClusterService testing", func() {
|
|||
})
|
||||
|
||||
// case 2: ProviderClusters field is [member1,member2], ConsumerClusters field is [member2]
|
||||
ginkgo.Context("ProviderClusters field is [member1,member2], ConsumerClusters field is [member2]", func() {
|
||||
ginkgo.Context(fmt.Sprintf("ProviderClusters field is [%s,%s], ConsumerClusters field is [%s]", member1Name, member2Name, member2Name), func() {
|
||||
var mcs *networkingv1alpha1.MultiClusterService
|
||||
|
||||
ginkgo.BeforeEach(func() {
|
||||
|
@ -642,7 +643,7 @@ var _ = ginkgo.Describe("CrossCluster MultiClusterService testing", func() {
|
|||
})
|
||||
|
||||
// case 4: ProviderClusters field is empty, ConsumerClusters field is [member2]
|
||||
ginkgo.Context("ProviderClusters field is empty, ConsumerClusters field is [member2]", func() {
|
||||
ginkgo.Context(fmt.Sprintf("ProviderClusters field is empty, ConsumerClusters field is [%s]", member2Name), func() {
|
||||
var mcs *networkingv1alpha1.MultiClusterService
|
||||
|
||||
ginkgo.BeforeEach(func() {
|
||||
|
@ -675,7 +676,7 @@ var _ = ginkgo.Describe("CrossCluster MultiClusterService testing", func() {
|
|||
})
|
||||
|
||||
// case 5: ProviderClusters field is [member1], ConsumerClusters field is empty
|
||||
ginkgo.Context("ProviderClusters field is [member1], ConsumerClusters field is empty", func() {
|
||||
ginkgo.Context(fmt.Sprintf("ProviderClusters field is [%s], ConsumerClusters field is empty", member1Name), func() {
|
||||
var mcs *networkingv1alpha1.MultiClusterService
|
||||
|
||||
ginkgo.BeforeEach(func() {
|
||||
|
|
|
@ -29,8 +29,12 @@ import (
|
|||
)
|
||||
|
||||
var _ = ginkgo.Describe("[Preemption] propagation policy preemption testing", func() {
|
||||
preemptingClusterName := "member2"
|
||||
preemptedClusterName := "member1"
|
||||
var preemptingClusterName, preemptedClusterName string
|
||||
|
||||
ginkgo.BeforeEach(func() {
|
||||
preemptingClusterName = framework.ClusterNames()[1]
|
||||
preemptedClusterName = framework.ClusterNames()[0]
|
||||
})
|
||||
|
||||
ginkgo.When("[PropagationPolicy Preemption] PropagationPolicy preempts another (Cluster)PropagationPolicy", func() {
|
||||
ginkgo.Context("High-priority PropagationPolicy preempts low-priority PropagationPolicy", func() {
|
||||
|
|
|
@ -269,7 +269,7 @@ var _ = ginkgo.Describe("[cluster joined] reschedule testing", func() {
|
|||
|
||||
ginkgo.Context("testing clusterAffinity of the policy", func() {
|
||||
ginkgo.BeforeEach(func() {
|
||||
initClusterNames = []string{"member1", "member2", newClusterName}
|
||||
initClusterNames = []string{framework.ClusterNames()[0], framework.ClusterNames()[1], newClusterName}
|
||||
policyNamespace = testNamespace
|
||||
policyName = deploymentNamePrefix + rand.String(RandomStrLength)
|
||||
deploymentNamespace = testNamespace
|
||||
|
@ -329,7 +329,7 @@ var _ = ginkgo.Describe("[cluster joined] reschedule testing", func() {
|
|||
|
||||
gomega.Eventually(func(gomega.Gomega) bool {
|
||||
targetClusterNames := framework.ExtractTargetClustersFrom(controlPlaneClient, deployment)
|
||||
return testhelper.IsExclude("member3", targetClusterNames)
|
||||
return testhelper.IsExclude(framework.ClusterNames()[2], targetClusterNames)
|
||||
}, pollTimeout, pollInterval).Should(gomega.BeTrue())
|
||||
|
||||
})
|
||||
|
|
|
@ -50,13 +50,9 @@ import (
|
|||
)
|
||||
|
||||
var _ = ginkgo.Describe("[karmada-search] karmada search testing", ginkgo.Ordered, func() {
|
||||
var member1 = "member1"
|
||||
var member2 = "member2"
|
||||
|
||||
var member1NodeName = "member1-control-plane"
|
||||
var member2NodeName = "member2-control-plane"
|
||||
var member1PodName = "etcd-member1-control-plane"
|
||||
var member2PodName = "etcd-member2-control-plane"
|
||||
var member1, member2 string
|
||||
var member1NodeName, member2NodeName string
|
||||
var member1PodName, member2PodName string
|
||||
var existsDeploymentName = "coredns"
|
||||
var existsServiceName = "kubernetes"
|
||||
var existsDaemonsetName = "kube-proxy"
|
||||
|
@ -84,6 +80,11 @@ var _ = ginkgo.Describe("[karmada-search] karmada search testing", ginkgo.Ordere
|
|||
member1, member2 = pushModeClusters[0], pushModeClusters[1]
|
||||
ginkgo.By(fmt.Sprintf("test on %v and %v", member1, member2))
|
||||
|
||||
member1NodeName = fmt.Sprintf("%s-control-plane", member1)
|
||||
member2NodeName = fmt.Sprintf("%s-control-plane", member2)
|
||||
member1PodName = fmt.Sprintf("etcd-%s-control-plane", member1)
|
||||
member2PodName = fmt.Sprintf("etcd-%s-control-plane", member2)
|
||||
|
||||
// clean ResourceRegistries before test
|
||||
gomega.Expect(karmadaClient.SearchV1alpha1().ResourceRegistries().DeleteCollection(context.TODO(), metav1.DeleteOptions{}, metav1.ListOptions{})).Should(gomega.Succeed())
|
||||
})
|
||||
|
@ -98,7 +99,7 @@ var _ = ginkgo.Describe("[karmada-search] karmada search testing", ginkgo.Ordere
|
|||
// use deployment, node, pod as search object
|
||||
ginkgo.Describe("create ResourceRegistry testings", func() {
|
||||
// use deployment as search object
|
||||
ginkgo.Context("caching cluster member1", ginkgo.Ordered, func() {
|
||||
ginkgo.Context(fmt.Sprintf("caching cluster %s", member1), ginkgo.Ordered, func() {
|
||||
var rrName string
|
||||
var rr *searchv1alpha1.ResourceRegistry
|
||||
var m1DmName, m2DmName string
|
||||
|
@ -108,13 +109,13 @@ var _ = ginkgo.Describe("[karmada-search] karmada search testing", ginkgo.Ordere
|
|||
ginkgo.BeforeAll(func() {
|
||||
member1Client = framework.GetClusterClient(member1)
|
||||
gomega.Expect(member1Client).ShouldNot(gomega.BeNil())
|
||||
m1DmName = "rr-member1-deployment-" + rand.String(RandomStrLength)
|
||||
m1DmName = fmt.Sprintf("rr-%s-deployment-%s", member1, rand.String(RandomStrLength))
|
||||
m1Dm = testhelper.NewDeployment(testNamespace, m1DmName)
|
||||
framework.CreateDeployment(member1Client, m1Dm)
|
||||
|
||||
member2Client = framework.GetClusterClient(member2)
|
||||
gomega.Expect(member2Client).ShouldNot(gomega.BeNil())
|
||||
m2DmName = "rr-member2-deployment-" + rand.String(RandomStrLength)
|
||||
m2DmName = fmt.Sprintf("rr-%s-deployment-%s", member2, rand.String(RandomStrLength))
|
||||
m2Dm = testhelper.NewDeployment(testNamespace, m2DmName)
|
||||
framework.CreateDeployment(member2Client, m2Dm)
|
||||
|
||||
|
@ -144,19 +145,19 @@ var _ = ginkgo.Describe("[karmada-search] karmada search testing", ginkgo.Ordere
|
|||
framework.RemoveResourceRegistry(karmadaClient, rrName)
|
||||
})
|
||||
|
||||
ginkgo.It("[member1 deployments] should be searchable", func() {
|
||||
ginkgo.It(fmt.Sprintf("[%s deployments] should be searchable", member1), func() {
|
||||
searchObject(pathAllDeployments, existsDeploymentName, true)
|
||||
})
|
||||
|
||||
ginkgo.It("[member2 deployments] should be not searchable", func() {
|
||||
ginkgo.It(fmt.Sprintf("[%s deployments] should be not searchable", member2), func() {
|
||||
searchObject(pathAllDeployments, m2DmName, false)
|
||||
})
|
||||
|
||||
ginkgo.It("[member1 deployments namespace] should be searchable", func() {
|
||||
ginkgo.It(fmt.Sprintf("[%s deployments namespace] should be searchable", member1), func() {
|
||||
searchObject(fmt.Sprintf(pathNSDeploymentsFmt, testNamespace), m1DmName, true)
|
||||
})
|
||||
|
||||
ginkgo.It("[member2 deployments namespace] should be not searchable", func() {
|
||||
ginkgo.It(fmt.Sprintf("[%s deployments namespace] should be not searchable", member2), func() {
|
||||
searchObject(fmt.Sprintf(pathNSDeploymentsFmt, testNamespace), m2DmName, false)
|
||||
})
|
||||
|
||||
|
@ -166,7 +167,7 @@ var _ = ginkgo.Describe("[karmada-search] karmada search testing", ginkgo.Ordere
|
|||
})
|
||||
|
||||
// use node as search object
|
||||
ginkgo.Context("caching cluster member1 & member2", ginkgo.Ordered, func() {
|
||||
ginkgo.Context(fmt.Sprintf("caching cluster %s & %s", member1, member2), ginkgo.Ordered, func() {
|
||||
var rrName string
|
||||
var rr *searchv1alpha1.ResourceRegistry
|
||||
|
||||
|
@ -195,11 +196,11 @@ var _ = ginkgo.Describe("[karmada-search] karmada search testing", ginkgo.Ordere
|
|||
framework.RemoveResourceRegistry(karmadaClient, rrName)
|
||||
})
|
||||
|
||||
ginkgo.It("[member1 nodes] should be searchable", func() {
|
||||
ginkgo.It(fmt.Sprintf("[%s nodes] should be searchable", member1), func() {
|
||||
searchObject(pathAllNodes, member1NodeName, true)
|
||||
})
|
||||
|
||||
ginkgo.It("[member2 nodes] should be searchable", func() {
|
||||
ginkgo.It(fmt.Sprintf("[%s nodes] should be searchable", member2), func() {
|
||||
searchObject(pathAllNodes, member2NodeName, true)
|
||||
})
|
||||
})
|
||||
|
@ -256,11 +257,11 @@ var _ = ginkgo.Describe("[karmada-search] karmada search testing", ginkgo.Ordere
|
|||
framework.RemoveResourceRegistry(karmadaClient, rr2Name)
|
||||
})
|
||||
|
||||
ginkgo.It("[member1 pods] should be searchable", func() {
|
||||
ginkgo.It(fmt.Sprintf("[%s pods] should be searchable", member1), func() {
|
||||
searchObject(pathAllPods, member1PodName, true)
|
||||
})
|
||||
|
||||
ginkgo.It("[member2 pods] should be searchable", func() {
|
||||
ginkgo.It(fmt.Sprintf("[%s pods] should be searchable", member2), func() {
|
||||
searchObject(pathAllPods, member2PodName, true)
|
||||
})
|
||||
})
|
||||
|
@ -576,9 +577,9 @@ var _ = ginkgo.Describe("[karmada-search] karmada search testing", ginkgo.Ordere
|
|||
|
||||
ginkgo.It("could list nodes", func() {
|
||||
fromM1 := framework.GetResourceNames(m1Dynamic.Resource(nodeGVR))
|
||||
ginkgo.By("list nodes from member1: " + strings.Join(sets.List(fromM1), ","))
|
||||
ginkgo.By(fmt.Sprintf("list nodes from %s: %s", member1, strings.Join(sets.List(fromM1), ",")))
|
||||
fromM2 := framework.GetResourceNames(m2Dynamic.Resource(nodeGVR))
|
||||
ginkgo.By("list nodes from member2: " + strings.Join(sets.List(fromM2), ","))
|
||||
ginkgo.By(fmt.Sprintf("list nodes from %s: %s", member2, strings.Join(sets.List(fromM2), ",")))
|
||||
fromMembers := sets.New[string]().Union(fromM1).Union(fromM2)
|
||||
|
||||
var proxyList *corev1.NodeList
|
||||
|
@ -612,11 +613,11 @@ var _ = ginkgo.Describe("[karmada-search] karmada search testing", ginkgo.Ordere
|
|||
ginkgo.It("could chunk list nodes", func() {
|
||||
fromM1, err := m1Client.CoreV1().Nodes().List(context.TODO(), metav1.ListOptions{})
|
||||
gomega.Expect(err).ShouldNot(gomega.HaveOccurred())
|
||||
ginkgo.By(fmt.Sprintf("list %v nodes from member1", len(fromM1.Items)))
|
||||
ginkgo.By(fmt.Sprintf("list %v nodes from %s", len(fromM1.Items), member1))
|
||||
|
||||
fromM2, err := m2Client.CoreV1().Nodes().List(context.TODO(), metav1.ListOptions{})
|
||||
gomega.Expect(err).ShouldNot(gomega.HaveOccurred())
|
||||
ginkgo.By(fmt.Sprintf("list %v nodes from member2", len(fromM2.Items)))
|
||||
ginkgo.By(fmt.Sprintf("list %v nodes from %s", len(fromM2.Items), member2))
|
||||
|
||||
total := len(fromM1.Items) + len(fromM2.Items)
|
||||
if total < 2 {
|
||||
|
@ -726,11 +727,6 @@ var _ = ginkgo.Describe("[karmada-search] karmada search testing", ginkgo.Ordere
|
|||
|
||||
// test when cluster joined, updated, karmada will reconcile search cache
|
||||
var _ = framework.SerialDescribe("reconcile ResourceRegistry when clusters joined, updated", func() {
|
||||
var member1 = "member1"
|
||||
var member2 = "member2"
|
||||
|
||||
var member1PodName = "etcd-member1-control-plane"
|
||||
var member2PodName = "etcd-member2-control-plane"
|
||||
var existsDeploymentName = "coredns"
|
||||
|
||||
var pathPrefix = "/apis/search.karmada.io/v1alpha1/search/cache/"
|
||||
|
@ -786,6 +782,7 @@ var _ = framework.SerialDescribe("reconcile ResourceRegistry when clusters joine
|
|||
},
|
||||
},
|
||||
}
|
||||
|
||||
// create a ResourceRegistry with a non joined cluster name
|
||||
ginkgo.By(fmt.Sprintf("create ResourceRegistry %s with a non joined cluster name %v and resource selector %v", rrName, clusterName, resourceSelector), func() {
|
||||
framework.CreateResourceRegistry(karmadaClient, rr)
|
||||
|
@ -837,12 +834,14 @@ var _ = framework.SerialDescribe("reconcile ResourceRegistry when clusters joine
|
|||
|
||||
ginkgo.Context("when cluster updated", func() {
|
||||
var (
|
||||
rrName string
|
||||
rr *searchv1alpha1.ResourceRegistry
|
||||
labelKey string
|
||||
labelValue string
|
||||
labelSelector *metav1.LabelSelector
|
||||
resourceSelector searchv1alpha1.ResourceSelector
|
||||
rrName string
|
||||
rr *searchv1alpha1.ResourceRegistry
|
||||
labelKey string
|
||||
labelValue string
|
||||
labelSelector *metav1.LabelSelector
|
||||
resourceSelector searchv1alpha1.ResourceSelector
|
||||
member1, member2 string
|
||||
member1PodName, member2PodName string
|
||||
)
|
||||
|
||||
ginkgo.BeforeEach(func() {
|
||||
|
@ -875,6 +874,12 @@ var _ = framework.SerialDescribe("reconcile ResourceRegistry when clusters joine
|
|||
},
|
||||
},
|
||||
}
|
||||
|
||||
member1 = framework.ClusterNames()[0]
|
||||
member2 = framework.ClusterNames()[1]
|
||||
member1PodName = fmt.Sprintf("etcd-%s-control-plane", member1)
|
||||
member2PodName = fmt.Sprintf("etcd-%s-control-plane", member2)
|
||||
|
||||
ginkgo.By(fmt.Sprintf("create ResourceRegistry %s with label selector %v and resource selector %v", rrName, labelSelector, resourceSelector), func() {
|
||||
framework.CreateResourceRegistry(karmadaClient, rr)
|
||||
})
|
||||
|
|
|
@ -51,7 +51,7 @@ var _ = framework.SerialDescribe("propagation with taint and toleration testing"
|
|||
deploymentName = policyName
|
||||
deployment = helper.NewDeployment(deploymentNamespace, deploymentName)
|
||||
tolerationKey = "cluster-toleration.karmada.io"
|
||||
tolerationValue = "member1"
|
||||
tolerationValue = framework.ClusterNames()[0]
|
||||
|
||||
// set clusterTolerations to tolerate taints in member1.
|
||||
clusterTolerations = []corev1.Toleration{
|
||||
|
|
Loading…
Reference in New Issue