fix occasional suspension case failed
Signed-off-by: changzhen <changzhen5@huawei.com>
This commit is contained in:
parent
4ac95b95a1
commit
998c547414
|
@ -1075,8 +1075,7 @@ var _ = ginkgo.Describe("[DeleteCase] ClusterPropagationPolicy testing", func()
|
|||
})
|
||||
})
|
||||
|
||||
// Suspend dispatching of ClusterPropagationPolicy
|
||||
var _ = ginkgo.Describe("[Suspend] clusterPropagation testing", func() {
|
||||
var _ = ginkgo.Describe("[Suspension] ClusterPropagationPolicy testing", func() {
|
||||
var policy *policyv1alpha1.ClusterPropagationPolicy
|
||||
var clusterRole *rbacv1.ClusterRole
|
||||
var targetMember string
|
||||
|
@ -1106,27 +1105,30 @@ var _ = ginkgo.Describe("[Suspend] clusterPropagation testing", func() {
|
|||
ginkgo.BeforeEach(func() {
|
||||
framework.CreateClusterPropagationPolicy(karmadaClient, policy)
|
||||
framework.CreateClusterRole(kubeClient, clusterRole)
|
||||
framework.WaitClusterRolePresentOnClusterFitWith(targetMember, clusterRole.Name, func(*rbacv1.ClusterRole) bool {
|
||||
return true
|
||||
})
|
||||
ginkgo.DeferCleanup(func() {
|
||||
framework.RemoveClusterPropagationPolicy(karmadaClient, policy.Name)
|
||||
framework.RemoveClusterRole(kubeClient, clusterRole.Name)
|
||||
})
|
||||
})
|
||||
|
||||
ginkgo.BeforeEach(func() {
|
||||
policy.Spec.Suspension = &policyv1alpha1.Suspension{
|
||||
Dispatching: ptr.To(true),
|
||||
}
|
||||
framework.UpdateClusterPropagationPolicyWithSpec(karmadaClient, policy.Name, policy.Spec)
|
||||
})
|
||||
ginkgo.It("suspend the CPP dispatching", func() {
|
||||
ginkgo.By("update the cpp suspension dispatching to true", func() {
|
||||
policy.Spec.Suspension = &policyv1alpha1.Suspension{
|
||||
Dispatching: ptr.To(true),
|
||||
}
|
||||
framework.UpdateClusterPropagationPolicyWithSpec(karmadaClient, policy.Name, policy.Spec)
|
||||
})
|
||||
|
||||
ginkgo.Context("suspend the ClusterPropagationPolicy dispatching", func() {
|
||||
ginkgo.It("suspends ClusterResourceBinding", func() {
|
||||
ginkgo.By("check CRB suspension spec", func() {
|
||||
framework.WaitClusterResourceBindingFitWith(karmadaClient, resourceBindingName, func(binding *workv1alpha2.ClusterResourceBinding) bool {
|
||||
return binding.Spec.Suspension != nil && ptr.Deref(binding.Spec.Suspension.Dispatching, false)
|
||||
})
|
||||
})
|
||||
|
||||
ginkgo.It("suspends Work", func() {
|
||||
ginkgo.By("check Work suspension spec", func() {
|
||||
esName := names.GenerateExecutionSpaceName(targetMember)
|
||||
gomega.Eventually(func() bool {
|
||||
work, err := karmadaClient.WorkV1alpha1().Works(esName).Get(context.TODO(), workName, metav1.GetOptions{})
|
||||
|
@ -1137,7 +1139,7 @@ var _ = ginkgo.Describe("[Suspend] clusterPropagation testing", func() {
|
|||
}, pollTimeout, pollInterval).Should(gomega.Equal(true))
|
||||
})
|
||||
|
||||
ginkgo.It("adds suspend dispatching condition to Work", func() {
|
||||
ginkgo.By("check Work Dispatching status condition", func() {
|
||||
esName := names.GenerateExecutionSpaceName(targetMember)
|
||||
gomega.Eventually(func() bool {
|
||||
work, err := karmadaClient.WorkV1alpha1().Works(esName).Get(context.TODO(), workName, metav1.GetOptions{})
|
||||
|
|
|
@ -1161,7 +1161,7 @@ var _ = ginkgo.Describe("[AdvancedCase] PropagationPolicy testing", func() {
|
|||
})
|
||||
})
|
||||
|
||||
var _ = ginkgo.Describe("[Suspend] PropagationPolicy testing", func() {
|
||||
var _ = ginkgo.Describe("[Suspension] PropagationPolicy testing", func() {
|
||||
var policy *policyv1alpha1.PropagationPolicy
|
||||
var deployment *appsv1.Deployment
|
||||
var targetMember string
|
||||
|
@ -1185,36 +1185,33 @@ var _ = ginkgo.Describe("[Suspend] PropagationPolicy testing", func() {
|
|||
|
||||
ginkgo.BeforeEach(func() {
|
||||
framework.CreatePropagationPolicy(karmadaClient, policy)
|
||||
ginkgo.DeferCleanup(func() {
|
||||
framework.RemovePropagationPolicy(karmadaClient, policy.Namespace, policy.Name)
|
||||
})
|
||||
framework.CreateDeployment(kubeClient, deployment)
|
||||
framework.WaitDeploymentPresentOnClusterFitWith(targetMember, deployment.Namespace, deployment.Name,
|
||||
func(*appsv1.Deployment) bool {
|
||||
return true
|
||||
})
|
||||
})
|
||||
|
||||
ginkgo.BeforeEach(func() {
|
||||
policy.Spec.Suspension = &policyv1alpha1.Suspension{
|
||||
Dispatching: ptr.To(true),
|
||||
}
|
||||
framework.UpdatePropagationPolicyWithSpec(karmadaClient, policy.Namespace, policy.Name, policy.Spec)
|
||||
})
|
||||
|
||||
ginkgo.Context("suspend the PropagationPolicy dispatching", func() {
|
||||
ginkgo.AfterEach(func() {
|
||||
ginkgo.DeferCleanup(func() {
|
||||
framework.RemovePropagationPolicy(karmadaClient, policy.Namespace, policy.Name)
|
||||
framework.RemoveDeployment(kubeClient, deployment.Namespace, deployment.Name)
|
||||
})
|
||||
})
|
||||
|
||||
ginkgo.It("suspends ResourceBinding", func() {
|
||||
ginkgo.It("suspend the PP dispatching", func() {
|
||||
ginkgo.By("update the pp suspension dispatching to true", func() {
|
||||
policy.Spec.Suspension = &policyv1alpha1.Suspension{
|
||||
Dispatching: ptr.To(true),
|
||||
}
|
||||
framework.UpdatePropagationPolicyWithSpec(karmadaClient, policy.Namespace, policy.Name, policy.Spec)
|
||||
})
|
||||
|
||||
ginkgo.By("check RB suspension spec", func() {
|
||||
framework.WaitResourceBindingFitWith(karmadaClient, deployment.Namespace, names.GenerateBindingName(deployment.Kind, deployment.Name),
|
||||
func(binding *workv1alpha2.ResourceBinding) bool {
|
||||
return binding.Spec.Suspension != nil && ptr.Deref(binding.Spec.Suspension.Dispatching, false)
|
||||
})
|
||||
})
|
||||
|
||||
ginkgo.It("suspends Work", func() {
|
||||
ginkgo.By("check Work suspension spec", func() {
|
||||
workName := names.GenerateWorkName(deployment.Kind, deployment.Name, deployment.Namespace)
|
||||
esName := names.GenerateExecutionSpaceName(targetMember)
|
||||
gomega.Eventually(func() bool {
|
||||
|
@ -1226,7 +1223,7 @@ var _ = ginkgo.Describe("[Suspend] PropagationPolicy testing", func() {
|
|||
}, pollTimeout, pollInterval).Should(gomega.Equal(true))
|
||||
})
|
||||
|
||||
ginkgo.It("adds suspend dispatching condition to Work", func() {
|
||||
ginkgo.By("check Work Dispatching status condition", func() {
|
||||
workName := names.GenerateWorkName(deployment.Kind, deployment.Name, deployment.Namespace)
|
||||
esName := names.GenerateExecutionSpaceName(targetMember)
|
||||
gomega.Eventually(func() bool {
|
||||
|
@ -1238,7 +1235,7 @@ var _ = ginkgo.Describe("[Suspend] PropagationPolicy testing", func() {
|
|||
}, pollTimeout, pollInterval).Should(gomega.Equal(true))
|
||||
})
|
||||
|
||||
ginkgo.It("adds dispatching event with suspend message", func() {
|
||||
ginkgo.By("check dispatching event", func() {
|
||||
workName := names.GenerateWorkName(deployment.Kind, deployment.Name, deployment.Namespace)
|
||||
esName := names.GenerateExecutionSpaceName(targetMember)
|
||||
framework.WaitEventFitWith(kubeClient, esName, workName,
|
||||
|
@ -1249,34 +1246,21 @@ var _ = ginkgo.Describe("[Suspend] PropagationPolicy testing", func() {
|
|||
})
|
||||
})
|
||||
|
||||
ginkgo.Context("update resource in the control plane", func() {
|
||||
ginkgo.JustBeforeEach(func() {
|
||||
ginkgo.It("suspension resume", func() {
|
||||
ginkgo.By("update deployment replicas", func() {
|
||||
framework.UpdateDeploymentReplicas(kubeClient, deployment, updateDeploymentReplicas)
|
||||
})
|
||||
|
||||
ginkgo.AfterEach(func() {
|
||||
framework.RemoveDeployment(kubeClient, deployment.Namespace, deployment.Name)
|
||||
ginkgo.By("resume the propagationPolicy", func() {
|
||||
policy.Spec.Suspension = &policyv1alpha1.Suspension{}
|
||||
framework.UpdatePropagationPolicyWithSpec(karmadaClient, policy.Namespace, policy.Name, policy.Spec)
|
||||
})
|
||||
|
||||
ginkgo.It("suspends updating deployment replicas in member cluster", func() {
|
||||
ginkgo.By("check deployment replicas", func() {
|
||||
framework.WaitDeploymentPresentOnClusterFitWith(targetMember, deployment.Namespace, deployment.Name,
|
||||
func(d *appsv1.Deployment) bool {
|
||||
return *d.Spec.Replicas != updateDeploymentReplicas
|
||||
return *d.Spec.Replicas == updateDeploymentReplicas
|
||||
})
|
||||
})
|
||||
|
||||
ginkgo.When("propagation is resumed", func() {
|
||||
ginkgo.JustBeforeEach(func() {
|
||||
policy.Spec.Suspension = &policyv1alpha1.Suspension{}
|
||||
framework.UpdatePropagationPolicyWithSpec(karmadaClient, policy.Namespace, policy.Name, policy.Spec)
|
||||
})
|
||||
|
||||
ginkgo.It("updates deployment replicas in member cluster", func() {
|
||||
framework.WaitDeploymentPresentOnClusterFitWith(targetMember, deployment.Namespace, deployment.Name,
|
||||
func(d *appsv1.Deployment) bool {
|
||||
return *d.Spec.Replicas == updateDeploymentReplicas
|
||||
})
|
||||
})
|
||||
})
|
||||
})
|
||||
})
|
||||
|
|
Loading…
Reference in New Issue