From 1c4a3ec96350fae02d7c8b366e22966330ca8ad3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Diogo=20Ferr=C3=A3o?= Date: Mon, 13 May 2024 17:29:07 +0100 Subject: [PATCH] BUGFIX fix seg fault in load balancer creation (#359) --- .../loadbalancer/credential/resource.go | 23 ------------------- .../loadbalancer/loadbalancer/resource.go | 22 ------------------ .../observability-credential/resource.go | 23 ------------------- 3 files changed, 68 deletions(-) diff --git a/stackit/internal/services/loadbalancer/credential/resource.go b/stackit/internal/services/loadbalancer/credential/resource.go index 04887afe..ac9b252d 100644 --- a/stackit/internal/services/loadbalancer/credential/resource.go +++ b/stackit/internal/services/loadbalancer/credential/resource.go @@ -18,7 +18,6 @@ import ( "github.com/stackitcloud/stackit-sdk-go/core/config" "github.com/stackitcloud/stackit-sdk-go/core/oapierror" "github.com/stackitcloud/stackit-sdk-go/services/loadbalancer" - "github.com/stackitcloud/stackit-sdk-go/services/loadbalancer/wait" "github.com/stackitcloud/terraform-provider-stackit/stackit/internal/conversion" "github.com/stackitcloud/terraform-provider-stackit/stackit/internal/core" "github.com/stackitcloud/terraform-provider-stackit/stackit/internal/validate" @@ -173,28 +172,6 @@ func (r *credentialResource) Create(ctx context.Context, req resource.CreateRequ projectId := model.ProjectId.ValueString() ctx = tflog.SetField(ctx, "project_id", projectId) - // Get status of load balancer functionality - statusResp, err := r.client.GetServiceStatus(ctx, projectId).Execute() - if err != nil { - core.LogAndAddError(ctx, &resp.Diagnostics, "Error getting status of load balancer functionality", fmt.Sprintf("Calling API: %v", err)) - return - } - - // If load balancer functionality is not enabled, enable it - if *statusResp.Status != wait.FunctionalityStatusReady { - _, err = r.client.EnableService(ctx, projectId).XRequestID(uuid.NewString()).Execute() - if err != nil { - core.LogAndAddError(ctx, &resp.Diagnostics, "Error enabling load balancer functionality", fmt.Sprintf("Calling API: %v", err)) - return - } - - _, err := wait.EnableServiceWaitHandler(ctx, r.client, projectId).WaitWithContext(ctx) - if err != nil { - core.LogAndAddError(ctx, &resp.Diagnostics, "Error enabling load balancer functionality", fmt.Sprintf("Waiting for enablement: %v", err)) - return - } - } - // Generate API request body from model payload, err := toCreatePayload(&model) if err != nil { diff --git a/stackit/internal/services/loadbalancer/loadbalancer/resource.go b/stackit/internal/services/loadbalancer/loadbalancer/resource.go index 7246c8d6..ce16592e 100644 --- a/stackit/internal/services/loadbalancer/loadbalancer/resource.go +++ b/stackit/internal/services/loadbalancer/loadbalancer/resource.go @@ -566,28 +566,6 @@ func (r *loadBalancerResource) Create(ctx context.Context, req resource.CreateRe projectId := model.ProjectId.ValueString() ctx = tflog.SetField(ctx, "project_id", projectId) - // Get status of load balancer functionality - statusResp, err := r.client.GetServiceStatus(ctx, projectId).Execute() - if err != nil { - core.LogAndAddError(ctx, &resp.Diagnostics, "Error getting status of load balancer functionality", fmt.Sprintf("Calling API: %v", err)) - return - } - - // If load balancer functionality is not enabled, enable it - if *statusResp.Status != wait.FunctionalityStatusReady { - _, err = r.client.EnableService(ctx, projectId).XRequestID(uuid.NewString()).Execute() - if err != nil { - core.LogAndAddError(ctx, &resp.Diagnostics, "Error enabling load balancer functionality", fmt.Sprintf("Calling API: %v", err)) - return - } - - _, err := wait.EnableServiceWaitHandler(ctx, r.client, projectId).WaitWithContext(ctx) - if err != nil { - core.LogAndAddError(ctx, &resp.Diagnostics, "Error enabling load balancer functionality", fmt.Sprintf("Waiting for enablement: %v", err)) - return - } - } - // Generate API request body from model payload, err := toCreatePayload(ctx, &model) if err != nil { diff --git a/stackit/internal/services/loadbalancer/observability-credential/resource.go b/stackit/internal/services/loadbalancer/observability-credential/resource.go index d77519b9..90bd9df7 100644 --- a/stackit/internal/services/loadbalancer/observability-credential/resource.go +++ b/stackit/internal/services/loadbalancer/observability-credential/resource.go @@ -18,7 +18,6 @@ import ( "github.com/stackitcloud/stackit-sdk-go/core/config" "github.com/stackitcloud/stackit-sdk-go/core/oapierror" "github.com/stackitcloud/stackit-sdk-go/services/loadbalancer" - "github.com/stackitcloud/stackit-sdk-go/services/loadbalancer/wait" "github.com/stackitcloud/terraform-provider-stackit/stackit/internal/conversion" "github.com/stackitcloud/terraform-provider-stackit/stackit/internal/core" "github.com/stackitcloud/terraform-provider-stackit/stackit/internal/validate" @@ -168,28 +167,6 @@ func (r *observabilityCredentialResource) Create(ctx context.Context, req resour projectId := model.ProjectId.ValueString() ctx = tflog.SetField(ctx, "project_id", projectId) - // Get status of load balancer functionality - statusResp, err := r.client.GetServiceStatus(ctx, projectId).Execute() - if err != nil { - core.LogAndAddError(ctx, &resp.Diagnostics, "Error getting status of load balancer functionality", fmt.Sprintf("Calling API: %v", err)) - return - } - - // If load balancer functionality is not enabled, enable it - if *statusResp.Status != wait.FunctionalityStatusReady { - _, err = r.client.EnableService(ctx, projectId).XRequestID(uuid.NewString()).Execute() - if err != nil { - core.LogAndAddError(ctx, &resp.Diagnostics, "Error enabling load balancer functionality", fmt.Sprintf("Calling API: %v", err)) - return - } - - _, err := wait.EnableServiceWaitHandler(ctx, r.client, projectId).WaitWithContext(ctx) - if err != nil { - core.LogAndAddError(ctx, &resp.Diagnostics, "Error enabling load balancer functionality", fmt.Sprintf("Waiting for enablement: %v", err)) - return - } - } - // Generate API request body from model payload, err := toCreatePayload(&model) if err != nil {