From 70ab7fd3800eda9f2d8962ddc0ea5272232939ab Mon Sep 17 00:00:00 2001 From: Tiberiu Gal Date: Mon, 9 Oct 2023 10:17:35 +0300 Subject: [PATCH] fix address PR feedback - typos, inconsistent wording --- castai/resource_eviction_config.go | 57 +++++++++---------------- castai/resource_eviction_config_test.go | 4 +- 2 files changed, 22 insertions(+), 39 deletions(-) diff --git a/castai/resource_eviction_config.go b/castai/resource_eviction_config.go index 14fffac8..27494e10 100644 --- a/castai/resource_eviction_config.go +++ b/castai/resource_eviction_config.go @@ -152,9 +152,6 @@ func resourceEvictionConfigRead(ctx context.Context, data *schema.ResourceData, } func readAdvancedEvictorConfig(ctx context.Context, data *schema.ResourceData, meta interface{}) error { - log.Printf("[INFO] EvictorAdvancedConfig get call start") - defer log.Printf("[INFO] EvictorAdvancedConfig policies get call end") - clusterId := getClusterId(data) if clusterId == "" { log.Print("[INFO] ClusterId is missing. Will skip operation.") @@ -177,15 +174,7 @@ func readAdvancedEvictorConfig(ctx context.Context, data *schema.ResourceData, m } func resourceEvictionConfigCreate(ctx context.Context, data *schema.ResourceData, meta interface{}) diag.Diagnostics { - clusterId := getClusterId(data) - if clusterId == "" { - log.Print("[INFO] ClusterId is missing. Will skip operation.") - return nil - } - - err := upsertEvictionConfigs(ctx, data, meta) - if err != nil { - log.Print("[INFO] ClusterId is missing. Will skip operation.", err) + if err := upsertEvictionConfigs(ctx, data, meta); err != nil { return diag.FromErr(err) } @@ -193,36 +182,40 @@ func resourceEvictionConfigCreate(ctx context.Context, data *schema.ResourceData return nil } -func upsertEvictionConfigs(ctx context.Context, data *schema.ResourceData, meta interface{}) error { - clusterId := getClusterId(data) - if clusterId == "" { - log.Print("[INFO] ClusterId is missing. Will skip operation.") - return nil - } +func getEvictorAdvancedConfigAsJson(data *schema.ResourceData) ([]byte, error) { eac, ok := data.GetOk(FieldEvictorAdvancedConfig) if !ok { - return fmt.Errorf("failed to extract evictor advanced config [%v], [%+v]", eac, data.GetRawState()) + return nil, fmt.Errorf("failed to extract evictor advanced config [%v], [%+v]", eac, data.GetRawState()) } evictionConfigs, err := toEvictionConfig(eac) if err != nil { - return err + return nil, err } ccd := sdk.CastaiEvictorV1AdvancedConfig{EvictionConfig: evictionConfigs} - eacJsonDump, err := json.Marshal(ccd) + return json.Marshal(ccd) +} + +func upsertEvictionConfigs(ctx context.Context, data *schema.ResourceData, meta interface{}) error { + clusterId := getClusterId(data) + if clusterId == "" { + log.Print("[INFO] ClusterId is missing. Will skip operation.") + return nil + } + evictorAdvancedConfigJson, err := getEvictorAdvancedConfigAsJson(data) if err != nil { - return fmt.Errorf("failed to marshal evictor advanced config %w", err) + log.Printf("[ERROR] Failed to extract evictor advanced config: %v", err) + return err } client := meta.(*ProviderConfig).api resp, err := client.EvictorAPIUpsertAdvancedConfigWithBodyWithResponse( ctx, clusterId, "application/json", - bytes.NewReader([]byte(eacJsonDump)), + bytes.NewReader(evictorAdvancedConfigJson), ) - - if err != nil { - log.Printf("[ERROR] Failed to set read evictor advanced config: %v", err) + if err != nil || resp.JSON200 == nil { + log.Printf("[ERROR] Failed to upsert evictor advanced config: %v", err) return err } err = data.Set(FieldEvictorAdvancedConfig, flattenEvictionConfig(resp.JSON200.EvictionConfig)) @@ -235,12 +228,6 @@ func upsertEvictionConfigs(ctx context.Context, data *schema.ResourceData, meta } func resourceEvictionConfigUpdate(ctx context.Context, data *schema.ResourceData, meta interface{}) diag.Diagnostics { - clusterId := getClusterId(data) - if clusterId == "" { - log.Print("[INFO] ClusterId is missing. Will skip operation.") - return nil - } - err := upsertEvictionConfigs(ctx, data, meta) if err != nil { return diag.FromErr(err) @@ -251,7 +238,6 @@ func resourceEvictionConfigUpdate(ctx context.Context, data *schema.ResourceData } func resourceEvictionConfigDelete(ctx context.Context, data *schema.ResourceData, meta interface{}) diag.Diagnostics { - err := deleteEvictionConfigs(ctx, data, meta) if err != nil { return diag.FromErr(err) @@ -275,9 +261,8 @@ func deleteEvictionConfigs(ctx context.Context, data *schema.ResourceData, meta "application/json", bytes.NewReader([]byte("{}")), ) - - if err != nil { - log.Printf("[ERROR] Failed to set read evictor advanced config: %v", err) + if err != nil || resp.JSON200 == nil { + log.Printf("[ERROR] Failed to upsert evictor advanced config: %v", err) return err } err = data.Set(FieldEvictorAdvancedConfig, flattenEvictionConfig(resp.JSON200.EvictionConfig)) diff --git a/castai/resource_eviction_config_test.go b/castai/resource_eviction_config_test.go index 6187a69d..2590eb18 100644 --- a/castai/resource_eviction_config_test.go +++ b/castai/resource_eviction_config_test.go @@ -149,9 +149,7 @@ func TestEvictionConfig_CreateContext(t *testing.T) { }, } clusterId := "b6bfc074-a267-400f-b8f1-db0850c369b1" - // evictionConfigRequest := `{"evictionConfig":[{"aggressive":true,"pod_selector":[{"kind":"Job","match_labels":{"key1":"val1"}}]}]}` - evictionConfigResponse := ` - { + evictionConfigResponse := `{ "evictionConfig": [ { "podSelector": {