@@ -30,6 +30,7 @@ import (
30
30
"k8s.io/apimachinery/pkg/types"
31
31
"k8s.io/apimachinery/pkg/util/wait"
32
32
clientset "k8s.io/client-go/kubernetes"
33
+ "k8s.io/client-go/util/retry"
33
34
34
35
"k8s.io/kubernetes/test/e2e/framework"
35
36
testutils "k8s.io/kubernetes/test/utils"
@@ -204,10 +205,15 @@ func RemoveExtendedResource(ctx context.Context, clientSet clientset.Interface,
204
205
extendedResource := v1 .ResourceName (extendedResourceName )
205
206
206
207
ginkgo .By ("Removing a custom resource" )
207
- node , err := clientSet .CoreV1 ().Nodes ().Get (ctx , nodeName , metav1.GetOptions {})
208
- framework .ExpectNoError (err )
209
- delete (node .Status .Capacity , extendedResource )
210
- delete (node .Status .Allocatable , extendedResource )
211
- _ , err = clientSet .CoreV1 ().Nodes ().UpdateStatus (ctx , node , metav1.UpdateOptions {})
208
+ err := retry .RetryOnConflict (retry .DefaultBackoff , func () error {
209
+ node , err := clientSet .CoreV1 ().Nodes ().Get (ctx , nodeName , metav1.GetOptions {})
210
+ if err != nil {
211
+ return fmt .Errorf ("failed to get node %s: %w" , nodeName , err )
212
+ }
213
+ delete (node .Status .Capacity , extendedResource )
214
+ delete (node .Status .Allocatable , extendedResource )
215
+ _ , err = clientSet .CoreV1 ().Nodes ().UpdateStatus (ctx , node , metav1.UpdateOptions {})
216
+ return err
217
+ })
212
218
framework .ExpectNoError (err )
213
219
}
0 commit comments