Merge pull request #128954 from sanposhiho/conflict-error

fix(e2e): retry on conflict when deleting extended resource
This commit is contained in:
Kubernetes Prow Robot 2024-12-07 07:08:00 +00:00 committed by GitHub
commit a499facee6
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -30,6 +30,7 @@ import (
"k8s.io/apimachinery/pkg/types" "k8s.io/apimachinery/pkg/types"
"k8s.io/apimachinery/pkg/util/wait" "k8s.io/apimachinery/pkg/util/wait"
clientset "k8s.io/client-go/kubernetes" clientset "k8s.io/client-go/kubernetes"
"k8s.io/client-go/util/retry"
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
testutils "k8s.io/kubernetes/test/utils" testutils "k8s.io/kubernetes/test/utils"
@ -204,10 +205,15 @@ func RemoveExtendedResource(ctx context.Context, clientSet clientset.Interface,
extendedResource := v1.ResourceName(extendedResourceName) extendedResource := v1.ResourceName(extendedResourceName)
ginkgo.By("Removing a custom resource") ginkgo.By("Removing a custom resource")
node, err := clientSet.CoreV1().Nodes().Get(ctx, nodeName, metav1.GetOptions{}) err := retry.RetryOnConflict(retry.DefaultBackoff, func() error {
framework.ExpectNoError(err) node, err := clientSet.CoreV1().Nodes().Get(ctx, nodeName, metav1.GetOptions{})
delete(node.Status.Capacity, extendedResource) if err != nil {
delete(node.Status.Allocatable, extendedResource) return fmt.Errorf("failed to get node %s: %w", nodeName, err)
_, err = clientSet.CoreV1().Nodes().UpdateStatus(ctx, node, metav1.UpdateOptions{}) }
delete(node.Status.Capacity, extendedResource)
delete(node.Status.Allocatable, extendedResource)
_, err = clientSet.CoreV1().Nodes().UpdateStatus(ctx, node, metav1.UpdateOptions{})
return err
})
framework.ExpectNoError(err) framework.ExpectNoError(err)
} }