From a8bd9a886efda2683574724f8f027a7f4489a03f Mon Sep 17 00:00:00 2001 From: Mickael Stanislas Date: Fri, 21 Feb 2025 17:20:14 +0100 Subject: [PATCH] fix: create simultaneously edgegateway failure --- .changelog/993.txt | 3 +++ internal/provider/edgegw/edgegateway_resource.go | 6 +++--- 2 files changed, 6 insertions(+), 3 deletions(-) create mode 100644 .changelog/993.txt diff --git a/.changelog/993.txt b/.changelog/993.txt new file mode 100644 index 00000000..38662c73 --- /dev/null +++ b/.changelog/993.txt @@ -0,0 +1,3 @@ +```release-note:bug +`resource/cloudavenue_edgegateway` - Fix the problem that prevents the creation of several edge gateways simultaneously. +``` \ No newline at end of file diff --git a/internal/provider/edgegw/edgegateway_resource.go b/internal/provider/edgegw/edgegateway_resource.go index 74ce496d..cb71b402 100644 --- a/internal/provider/edgegw/edgegateway_resource.go +++ b/internal/provider/edgegw/edgegateway_resource.go @@ -250,6 +250,9 @@ func (r *edgeGatewayResource) Create(ctx context.Context, req resource.CreateReq ctx, cancel = context.WithTimeout(ctx, createTimeout) defer cancel() + cloudavenue.Lock(ctx) + defer cloudavenue.Unlock(ctx) + // List all edge gateways for determining the ID of the new edge gateway edgegws, err := r.client.CAVSDK.V1.EdgeGateway.List() if err != nil { @@ -257,9 +260,6 @@ func (r *edgeGatewayResource) Create(ctx context.Context, req resource.CreateReq return } - cloudavenue.Lock(ctx) - defer cloudavenue.Unlock(ctx) - var job *commoncloudavenue.JobStatus vdcOrVDCGroup, err := r.client.CAVSDK.V1.VDC().GetVDCOrVDCGroup(plan.OwnerName.Get())