fix(e2e): retry on conflict when deleting extended resource

This commit is contained in:
Kensei Nakada 2024-11-24 16:22:09 +09:00
parent cf480a3a1a
commit 89e23dd038

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)
} }