mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-21 10:51:29 +00:00
retry dry-run update on conflict
This commit is contained in:
parent
b418bc83db
commit
a1e57a4c6d
@ -31,6 +31,7 @@ go_test(
|
||||
"//staging/src/k8s.io/apiserver/pkg/util/feature:go_default_library",
|
||||
"//staging/src/k8s.io/client-go/dynamic:go_default_library",
|
||||
"//staging/src/k8s.io/client-go/kubernetes:go_default_library",
|
||||
"//staging/src/k8s.io/client-go/util/retry:go_default_library",
|
||||
"//staging/src/k8s.io/component-base/featuregate/testing:go_default_library",
|
||||
"//test/integration/etcd:go_default_library",
|
||||
"//test/integration/framework:go_default_library",
|
||||
|
@ -32,6 +32,7 @@ import (
|
||||
utilfeature "k8s.io/apiserver/pkg/util/feature"
|
||||
"k8s.io/client-go/dynamic"
|
||||
"k8s.io/client-go/kubernetes"
|
||||
"k8s.io/client-go/util/retry"
|
||||
featuregatetesting "k8s.io/component-base/featuregate/testing"
|
||||
kubeapiservertesting "k8s.io/kubernetes/cmd/kube-apiserver/app/testing"
|
||||
"k8s.io/kubernetes/test/integration/etcd"
|
||||
@ -150,17 +151,18 @@ func DryRunScaleUpdateTest(t *testing.T, rsc dynamic.ResourceInterface, name str
|
||||
func DryRunUpdateTest(t *testing.T, rsc dynamic.ResourceInterface, name string) {
|
||||
var err error
|
||||
var obj *unstructured.Unstructured
|
||||
for i := 0; i < 3; i++ {
|
||||
err = retry.RetryOnConflict(retry.DefaultBackoff, func() error {
|
||||
obj, err = rsc.Get(context.TODO(), name, metav1.GetOptions{})
|
||||
if err != nil {
|
||||
t.Fatalf("failed to retrieve object: %v", err)
|
||||
}
|
||||
obj.SetAnnotations(map[string]string{"update": "true"})
|
||||
obj, err = rsc.Update(context.TODO(), obj, metav1.UpdateOptions{DryRun: []string{metav1.DryRunAll}})
|
||||
if err == nil || !apierrors.IsConflict(err) {
|
||||
break
|
||||
}
|
||||
if apierrors.IsConflict(err) {
|
||||
t.Logf("conflict error: %v", err)
|
||||
}
|
||||
return err
|
||||
})
|
||||
if err != nil {
|
||||
t.Fatalf("failed to dry-run update resource: %v", err)
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user