From 86541ea4530e6d5db50734a012b5a1654cce97e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20J=2E=20Nu=C3=B1ez=20Madrazo?= Date: Mon, 13 Feb 2023 11:58:06 +0000 Subject: [PATCH] Fixed error when you change the node pool count (#165) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Alejandro J. Nuñez Madrazo --- civo/resource_kubernetes_cluster.go | 3 ++- civo/resource_kubernetes_cluster_nodepool.go | 8 +++----- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/civo/resource_kubernetes_cluster.go b/civo/resource_kubernetes_cluster.go index 9ad0baf7..18e974be 100644 --- a/civo/resource_kubernetes_cluster.go +++ b/civo/resource_kubernetes_cluster.go @@ -457,7 +457,7 @@ func resourceKubernetesClusterUpdate(ctx context.Context, d *schema.ResourceData return diag.Errorf("[ERR] failed to update kubernetes cluster: %s", err) } - err = waitForKubernetesNodePoolCreate(apiClient, d) + err = waitForKubernetesNodePoolCreate(apiClient, d, d.Id()) if err != nil { return diag.Errorf("Error updating Kubernetes node pool: %s", err) } @@ -527,6 +527,7 @@ func flattenInstalledApplication(apps []civogo.KubernetesInstalledApplication) [ return flattenedInstalledApplication } +// exapandNodePools function to expand the node pools func expandNodePools(nodePools []interface{}) []civogo.KubernetesClusterPoolConfig { expandedNodePools := make([]civogo.KubernetesClusterPoolConfig, 0, len(nodePools)) for _, rawPool := range nodePools { diff --git a/civo/resource_kubernetes_cluster_nodepool.go b/civo/resource_kubernetes_cluster_nodepool.go index ee44752b..6092587f 100644 --- a/civo/resource_kubernetes_cluster_nodepool.go +++ b/civo/resource_kubernetes_cluster_nodepool.go @@ -145,7 +145,7 @@ func resourceKubernetesClusterNodePoolCreate(ctx context.Context, d *schema.Reso d.SetId(nodePoolLabel) - err = waitForKubernetesNodePoolCreate(apiClient, d) + err = waitForKubernetesNodePoolCreate(apiClient, d, clusterID) if err != nil { return diag.Errorf("Error creating Kubernetes node pool: %s", err) } @@ -237,7 +237,7 @@ func resourceKubernetesClusterNodePoolUpdate(ctx context.Context, d *schema.Reso return diag.Errorf("[ERR] failed to update kubernetes cluster: %s", err) } - err = waitForKubernetesNodePoolCreate(apiClient, d) + err = waitForKubernetesNodePoolCreate(apiClient, d, clusterID) if err != nil { return diag.Errorf("Error updating Kubernetes node pool: %s", err) } @@ -355,7 +355,7 @@ func updateNodePool(s []civogo.KubernetesClusterPoolConfig, id string, count int } // waitForKubernetesNodePoolCreate is a utility function to wait for a node pool to be created -func waitForKubernetesNodePoolCreate(client *civogo.Client, d *schema.ResourceData) error { +func waitForKubernetesNodePoolCreate(client *civogo.Client, d *schema.ResourceData, clusterID string) error { var ( tickerInterval = 10 * time.Second timeoutSeconds = d.Timeout(schema.TimeoutCreate).Seconds() @@ -364,12 +364,10 @@ func waitForKubernetesNodePoolCreate(client *civogo.Client, d *schema.ResourceDa totalRequiredInstance = 0 totalRunningInstance = 0 ticker = time.NewTicker(tickerInterval) - clusterID = d.Get("cluster_id").(string) nodePoolID = d.Id() ) for range ticker.C { - cluster, err := client.GetKubernetesCluster(clusterID) if err != nil { ticker.Stop()