@@ -61,23 +61,33 @@ func PatchClusterPropagationPolicy(client karmada.Interface, name string, patch
6161// UpdateClusterPropagationPolicyWithSpec update PropagationSpec with karmada client.
6262func UpdateClusterPropagationPolicyWithSpec (client karmada.Interface , name string , policySpec policyv1alpha1.PropagationSpec ) {
6363 ginkgo .By (fmt .Sprintf ("Updating ClusterPropagationPolicy(%s) spec" , name ), func () {
64- newPolicy , err := client .PolicyV1alpha1 ().ClusterPropagationPolicies ().Get (context .TODO (), name , metav1.GetOptions {})
65- gomega .Expect (err ).ShouldNot (gomega .HaveOccurred ())
64+ gomega .Eventually (func (g gomega.Gomega ) error {
65+ newPolicy , err := client .PolicyV1alpha1 ().ClusterPropagationPolicies ().Get (context .TODO (), name , metav1.GetOptions {})
66+ g .Expect (err ).NotTo (gomega .HaveOccurred ())
6667
67- newPolicy .Spec = policySpec
68- _ , err = client .PolicyV1alpha1 ().ClusterPropagationPolicies ().Update (context .TODO (), newPolicy , metav1.UpdateOptions {})
69- gomega .Expect (err ).ShouldNot (gomega .HaveOccurred ())
68+ newPolicy .Spec = policySpec
69+ _ , err = client .PolicyV1alpha1 ().ClusterPropagationPolicies ().Update (context .TODO (), newPolicy , metav1.UpdateOptions {})
70+ if err != nil && ! apierrors .IsConflict (err ) {
71+ g .Expect (err ).NotTo (gomega .HaveOccurred ())
72+ }
73+ return err
74+ }, PollTimeout , PollInterval ).ShouldNot (gomega .HaveOccurred ())
7075 })
7176}
7277
7378// UpdateClusterPropagationPolicy update ClusterPropagationPolicy resourceSelectors with karmada client.
7479func UpdateClusterPropagationPolicy (client karmada.Interface , name string , resourceSelectors []policyv1alpha1.ResourceSelector ) {
7580 ginkgo .By (fmt .Sprintf ("Updating ClusterPropagationPolicy(%s)" , name ), func () {
76- newPolicy , err := client .PolicyV1alpha1 ().ClusterPropagationPolicies ().Get (context .TODO (), name , metav1.GetOptions {})
77- gomega .Expect (err ).ShouldNot (gomega .HaveOccurred ())
81+ gomega .Eventually (func (g gomega.Gomega ) error {
82+ newPolicy , err := client .PolicyV1alpha1 ().ClusterPropagationPolicies ().Get (context .TODO (), name , metav1.GetOptions {})
83+ g .Expect (err ).NotTo (gomega .HaveOccurred ())
7884
79- newPolicy .Spec .ResourceSelectors = resourceSelectors
80- _ , err = client .PolicyV1alpha1 ().ClusterPropagationPolicies ().Update (context .TODO (), newPolicy , metav1.UpdateOptions {})
81- gomega .Expect (err ).ShouldNot (gomega .HaveOccurred ())
85+ newPolicy .Spec .ResourceSelectors = resourceSelectors
86+ _ , err = client .PolicyV1alpha1 ().ClusterPropagationPolicies ().Update (context .TODO (), newPolicy , metav1.UpdateOptions {})
87+ if err != nil && ! apierrors .IsConflict (err ) {
88+ g .Expect (err ).NotTo (gomega .HaveOccurred ())
89+ }
90+ return err
91+ }, PollTimeout , PollInterval ).ShouldNot (gomega .HaveOccurred ())
8292 })
8393}
0 commit comments