From 9990e8fc85da49e06b1a06801f604fee8aabca23 Mon Sep 17 00:00:00 2001 From: andrewjiang Date: Fri, 20 Sep 2024 20:41:12 +0800 Subject: [PATCH 1/9] feat(tke): delete taints and lables --- .../tke/resource_tc_kubernetes_node_pool.go | 27 +--- ...ource_tc_kubernetes_node_pool_extension.go | 137 +++++++++++++++--- 2 files changed, 121 insertions(+), 43 deletions(-) diff --git a/tencentcloud/services/tke/resource_tc_kubernetes_node_pool.go b/tencentcloud/services/tke/resource_tc_kubernetes_node_pool.go index 7812b1d5e1..f49000f418 100644 --- a/tencentcloud/services/tke/resource_tc_kubernetes_node_pool.go +++ b/tencentcloud/services/tke/resource_tc_kubernetes_node_pool.go @@ -13,8 +13,8 @@ import ( tccommon "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/common" "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/internal/helper" - svcas "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/services/as" svccvm "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/services/cvm" + svcas "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/services/as" ) func ResourceTencentCloudKubernetesNodePool() *schema.Resource { @@ -870,7 +870,7 @@ func resourceTencentCloudKubernetesNodePoolUpdate(d *schema.ResourceData, meta i } needChange := false - mutableArgs := []string{"name", "max_size", "min_size", "taints", "enable_auto_scale", "deletion_protection"} + mutableArgs := []string{"name", "max_size", "min_size", "enable_auto_scale", "deletion_protection"} for _, v := range mutableArgs { if d.HasChange(v) { needChange = true @@ -881,6 +881,8 @@ func resourceTencentCloudKubernetesNodePoolUpdate(d *schema.ResourceData, meta i if needChange { request := tkev20180525.NewModifyClusterNodePoolRequest() + response := tkev20180525.NewModifyClusterNodePoolResponse() + request.ClusterId = helper.String(clusterId) request.NodePoolId = helper.String(nodePoolId) @@ -897,23 +899,6 @@ func resourceTencentCloudKubernetesNodePoolUpdate(d *schema.ResourceData, meta i request.MinNodesNum = helper.IntInt64(v.(int)) } - if v, ok := d.GetOk("taints"); ok { - for _, item := range v.([]interface{}) { - taintsMap := item.(map[string]interface{}) - taint := tkev20180525.Taint{} - if v, ok := taintsMap["key"]; ok { - taint.Key = helper.String(v.(string)) - } - if v, ok := taintsMap["value"]; ok { - taint.Value = helper.String(v.(string)) - } - if v, ok := taintsMap["effect"]; ok { - taint.Effect = helper.String(v.(string)) - } - request.Taints = append(request.Taints, &taint) - } - } - if v, ok := d.GetOkExists("enable_auto_scale"); ok { request.EnableAutoscale = helper.Bool(v.(bool)) } @@ -935,6 +920,10 @@ func resourceTencentCloudKubernetesNodePoolUpdate(d *schema.ResourceData, meta i log.Printf("[CRITAL]%s update kubernetes node pool failed, reason:%+v", logId, err) return err } + if err := resourceTencentCloudKubernetesNodePoolUpdatePostHandleResponse0(ctx, response); err != nil { + return err + } + } if err := resourceTencentCloudKubernetesNodePoolUpdateOnExit(ctx); err != nil { diff --git a/tencentcloud/services/tke/resource_tc_kubernetes_node_pool_extension.go b/tencentcloud/services/tke/resource_tc_kubernetes_node_pool_extension.go index fed9b7504e..f45706a215 100644 --- a/tencentcloud/services/tke/resource_tc_kubernetes_node_pool_extension.go +++ b/tencentcloud/services/tke/resource_tc_kubernetes_node_pool_extension.go @@ -6,6 +6,8 @@ import ( "log" "strings" + tchttp "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/http" + as "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/as/v20180419" sdkErrors "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/errors" @@ -616,45 +618,49 @@ func resourceTencentCloudKubernetesNodePoolUpdateOnStart(ctx context.Context) er "labels", "tags", ) { - request := tke.NewModifyClusterNodePoolRequest() - request.ClusterId = &clusterId - request.NodePoolId = &nodePoolId + var body map[string]interface{} + nodeOs := d.Get("node_os").(string) + nodeOsType := d.Get("node_os_type").(string) + //自定镜像不能指定节点操作系统类型 + if strings.Contains(nodeOs, "img-") { + nodeOsType = "" + } labels := GetTkeLabels(d, "labels") - tags := helper.GetTags(d, "tags") - if len(labels) > 0 { - request.Labels = labels + body = map[string]interface{}{ + "ClusterId": clusterId, + "NodePoolId": nodePoolId, + "OsName": nodeOs, + "OsCustomizeType": nodeOsType, + "Labels": labels, } + + tags := helper.GetTags(d, "tags") if len(tags) > 0 { + var tmpTags []*tke.Tag for k, v := range tags { key := k val := v - request.Tags = append(request.Tags, &tke.Tag{ + tmpTags = append(tmpTags, &tke.Tag{ Key: &key, Value: &val, }) } + + body["Tags"] = tmpTags } - nodeOs := d.Get("node_os").(string) - nodeOsType := d.Get("node_os_type").(string) - //自定镜像不能指定节点操作系统类型 - if strings.Contains(nodeOs, "img-") { - nodeOsType = "" + client := meta.(tccommon.ProviderMeta).GetAPIV3Conn().UseOmitNilClient("tke") + request := tchttp.NewCommonRequest("tke", "2018-05-25", "ModifyClusterNodePool") + err := request.SetActionParameters(body) + if err != nil { + return err } - request.OsName = &nodeOs - request.OsCustomizeType = &nodeOsType - err := resource.Retry(tccommon.WriteRetryTimeout, func() *resource.RetryError { - result, e := meta.(tccommon.ProviderMeta).GetAPIV3Conn().UseTkeClient().ModifyClusterNodePool(request) - if e != nil { - return tccommon.RetryError(e) - } else { - log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), result.ToJsonString()) - } - return nil - }) + + response := tchttp.NewCommonResponse() + err = client.Send(request, response) if err != nil { - log.Printf("[CRITAL]%s update kubernetes node pool failed, reason:%+v", logId, err) + fmt.Printf("update kubernetes node pool taints failed: %v \n", err) return err } @@ -1243,3 +1249,86 @@ func desiredCapacityOutRange(d *schema.ResourceData) bool { maxSize := d.Get("max_size").(int) return capacity > maxSize || capacity < minSize } + +func resourceTencentCloudKubernetesNodePoolUpdatePostHandleResponse0(ctx context.Context, resp *tke.ModifyClusterNodePoolResponse) error { + d := tccommon.ResourceDataFromContext(ctx) + meta := tccommon.ProviderMetaFromContext(ctx) + logId := tccommon.GetLogId(tccommon.ContextNil) + + idSplit := strings.Split(d.Id(), tccommon.FILED_SP) + if len(idSplit) != 2 { + return fmt.Errorf("id is broken,%s", d.Id()) + } + clusterId := idSplit[0] + nodePoolId := idSplit[1] + + if d.HasChange("taints") { + _, n := d.GetChange("taints") + + // clean taints + if len(n.([]interface{})) == 0 { + body := map[string]interface{}{ + "ClusterId": clusterId, + "NodePoolId": nodePoolId, + "Taints": []interface{}{}, + } + + client := meta.(tccommon.ProviderMeta).GetAPIV3Conn().UseOmitNilClient("tke") + request := tchttp.NewCommonRequest("tke", "2018-05-25", "ModifyClusterNodePool") + err := request.SetActionParameters(body) + if err != nil { + return err + } + + response := tchttp.NewCommonResponse() + err = client.Send(request, response) + if err != nil { + fmt.Printf("update kubernetes node pool taints failed: %v \n", err) + return err + } + } else { + request := tke.NewModifyClusterNodePoolRequest() + request.ClusterId = helper.String(clusterId) + request.NodePoolId = helper.String(nodePoolId) + + if v, ok := d.GetOk("taints"); ok { + for _, item := range v.([]interface{}) { + taintsMap := item.(map[string]interface{}) + taint := tke.Taint{} + if v, ok := taintsMap["key"]; ok { + taint.Key = helper.String(v.(string)) + } + + if v, ok := taintsMap["value"]; ok { + taint.Value = helper.String(v.(string)) + } + + if v, ok := taintsMap["effect"]; ok { + taint.Effect = helper.String(v.(string)) + } + + request.Taints = append(request.Taints, &taint) + } + } + + err := resource.Retry(tccommon.WriteRetryTimeout, func() *resource.RetryError { + result, e := meta.(tccommon.ProviderMeta).GetAPIV3Conn().UseTkeV20180525Client().ModifyClusterNodePoolWithContext(ctx, request) + if e != nil { + return tccommon.RetryError(e) + } else { + log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), result.ToJsonString()) + } + + return nil + }) + + if err != nil { + log.Printf("[CRITAL]%s update kubernetes node pool taints failed, reason:%+v", logId, err) + return err + } + } + + return nil + } + return nil +} From cfad72ca8aa9bae34ad46e2018127f6a0d66d774 Mon Sep 17 00:00:00 2001 From: andrewjiang Date: Fri, 20 Sep 2024 20:43:36 +0800 Subject: [PATCH 2/9] docs(tke): add changelog --- .changelog/2837.txt | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .changelog/2837.txt diff --git a/.changelog/2837.txt b/.changelog/2837.txt new file mode 100644 index 0000000000..7887962eeb --- /dev/null +++ b/.changelog/2837.txt @@ -0,0 +1,3 @@ +```release-note:enhancement +resource/tencentcloud_kubernetes_node_pool: support delete `taints` and `labels` params +``` From 2806d964ac68f7d44779f2a9c8400bc055e111b9 Mon Sep 17 00:00:00 2001 From: andrewjiang Date: Fri, 20 Sep 2024 20:49:47 +0800 Subject: [PATCH 3/9] docs(tke): add changelog --- tencentcloud/services/tke/resource_tc_kubernetes_node_pool.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tencentcloud/services/tke/resource_tc_kubernetes_node_pool.go b/tencentcloud/services/tke/resource_tc_kubernetes_node_pool.go index f49000f418..61c6df0fa3 100644 --- a/tencentcloud/services/tke/resource_tc_kubernetes_node_pool.go +++ b/tencentcloud/services/tke/resource_tc_kubernetes_node_pool.go @@ -13,8 +13,8 @@ import ( tccommon "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/common" "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/internal/helper" - svccvm "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/services/cvm" svcas "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/services/as" + svccvm "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/services/cvm" ) func ResourceTencentCloudKubernetesNodePool() *schema.Resource { From 7caa77b08cf2ac84206ac8c330f6f9b47d20fba0 Mon Sep 17 00:00:00 2001 From: SevenEarth <391613297@qq.com> Date: Tue, 24 Sep 2024 17:14:42 +0800 Subject: [PATCH 4/9] fix --- tencentcloud/services/tke/resource_tc_kubernetes_node_pool.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tencentcloud/services/tke/resource_tc_kubernetes_node_pool.go b/tencentcloud/services/tke/resource_tc_kubernetes_node_pool.go index 61c6df0fa3..7bdabe1528 100644 --- a/tencentcloud/services/tke/resource_tc_kubernetes_node_pool.go +++ b/tencentcloud/services/tke/resource_tc_kubernetes_node_pool.go @@ -870,7 +870,7 @@ func resourceTencentCloudKubernetesNodePoolUpdate(d *schema.ResourceData, meta i } needChange := false - mutableArgs := []string{"name", "max_size", "min_size", "enable_auto_scale", "deletion_protection"} + mutableArgs := []string{"name", "max_size", "min_size", "taints", "enable_auto_scale", "deletion_protection"} for _, v := range mutableArgs { if d.HasChange(v) { needChange = true From 8185f51be0cae150b051c94a74c5049e834126a6 Mon Sep 17 00:00:00 2001 From: SevenEarth <391613297@qq.com> Date: Thu, 26 Sep 2024 21:31:10 +0800 Subject: [PATCH 5/9] add --- .../tke/resource_tc_kubernetes_node_pool.go | 15 +++++++++++++++ ...resource_tc_kubernetes_node_pool_extension.go | 16 ++++++++++++++++ 2 files changed, 31 insertions(+) diff --git a/tencentcloud/services/tke/resource_tc_kubernetes_node_pool.go b/tencentcloud/services/tke/resource_tc_kubernetes_node_pool.go index 7bdabe1528..26a3eadddd 100644 --- a/tencentcloud/services/tke/resource_tc_kubernetes_node_pool.go +++ b/tencentcloud/services/tke/resource_tc_kubernetes_node_pool.go @@ -920,6 +920,21 @@ func resourceTencentCloudKubernetesNodePoolUpdate(d *schema.ResourceData, meta i log.Printf("[CRITAL]%s update kubernetes node pool failed, reason:%+v", logId, err) return err } + + service := TkeService{client: meta.(tccommon.ProviderMeta).GetAPIV3Conn()} + err = resource.Retry(5*tccommon.ReadRetryTimeout, func() *resource.RetryError { + nodePool, _, errRet := service.DescribeNodePool(ctx, clusterId, nodePoolId) + if errRet != nil { + return tccommon.RetryError(errRet, tccommon.InternalError) + } + if nodePool != nil && *nodePool.LifeState == "normal" { + return nil + } + return resource.RetryableError(fmt.Errorf("node pool status is %s, retry...", *nodePool.LifeState)) + }) + if err != nil { + return err + } if err := resourceTencentCloudKubernetesNodePoolUpdatePostHandleResponse0(ctx, response); err != nil { return err } diff --git a/tencentcloud/services/tke/resource_tc_kubernetes_node_pool_extension.go b/tencentcloud/services/tke/resource_tc_kubernetes_node_pool_extension.go index f45706a215..eec8831408 100644 --- a/tencentcloud/services/tke/resource_tc_kubernetes_node_pool_extension.go +++ b/tencentcloud/services/tke/resource_tc_kubernetes_node_pool_extension.go @@ -1328,6 +1328,22 @@ func resourceTencentCloudKubernetesNodePoolUpdatePostHandleResponse0(ctx context } } + service := TkeService{client: meta.(tccommon.ProviderMeta).GetAPIV3Conn()} + err := resource.Retry(5*tccommon.ReadRetryTimeout, func() *resource.RetryError { + nodePool, _, errRet := service.DescribeNodePool(ctx, clusterId, nodePoolId) + if errRet != nil { + return tccommon.RetryError(errRet, tccommon.InternalError) + } + if nodePool != nil && *nodePool.LifeState == "normal" { + return nil + } + return resource.RetryableError(fmt.Errorf("node pool status is %s, retry...", *nodePool.LifeState)) + }) + + if err != nil { + return err + } + return nil } return nil From 85d3c9c6704d39d5c89c0a674b5b63f39339483b Mon Sep 17 00:00:00 2001 From: andrewjiang Date: Thu, 26 Sep 2024 23:06:52 +0800 Subject: [PATCH 6/9] feat(tke): delete taints and labels --- .../tke/resource_tc_kubernetes_node_pool.go | 57 ++++++++++++++----- ...ource_tc_kubernetes_node_pool_extension.go | 30 +++++----- 2 files changed, 57 insertions(+), 30 deletions(-) diff --git a/tencentcloud/services/tke/resource_tc_kubernetes_node_pool.go b/tencentcloud/services/tke/resource_tc_kubernetes_node_pool.go index 26a3eadddd..3fa376893c 100644 --- a/tencentcloud/services/tke/resource_tc_kubernetes_node_pool.go +++ b/tencentcloud/services/tke/resource_tc_kubernetes_node_pool.go @@ -6,6 +6,7 @@ import ( "fmt" "log" "strings" + "time" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" @@ -920,25 +921,20 @@ func resourceTencentCloudKubernetesNodePoolUpdate(d *schema.ResourceData, meta i log.Printf("[CRITAL]%s update kubernetes node pool failed, reason:%+v", logId, err) return err } - - service := TkeService{client: meta.(tccommon.ProviderMeta).GetAPIV3Conn()} - err = resource.Retry(5*tccommon.ReadRetryTimeout, func() *resource.RetryError { - nodePool, _, errRet := service.DescribeNodePool(ctx, clusterId, nodePoolId) - if errRet != nil { - return tccommon.RetryError(errRet, tccommon.InternalError) - } - if nodePool != nil && *nodePool.LifeState == "normal" { - return nil - } - return resource.RetryableError(fmt.Errorf("node pool status is %s, retry...", *nodePool.LifeState)) - }) - if err != nil { - return err - } if err := resourceTencentCloudKubernetesNodePoolUpdatePostHandleResponse0(ctx, response); err != nil { return err } + if _, err := (&resource.StateChangeConf{ + Delay: 10 * time.Second, + MinTimeout: 3 * time.Second, + Pending: []string{}, + Refresh: resourceKubernetesNodePoolUpdateStateRefreshFunc_0_0(ctx, clusterId, nodePoolId), + Target: []string{"normal"}, + Timeout: 600 * time.Second, + }).WaitForStateContext(ctx); err != nil { + return err + } } if err := resourceTencentCloudKubernetesNodePoolUpdateOnExit(ctx); err != nil { @@ -1004,3 +1000,34 @@ func resourceTencentCloudKubernetesNodePoolDelete(d *schema.ResourceData, meta i return nil } + +func resourceKubernetesNodePoolUpdateStateRefreshFunc_0_0(ctx context.Context, clusterId string, nodePoolId string) resource.StateRefreshFunc { + var req *tkev20180525.DescribeClusterNodePoolDetailRequest + return func() (interface{}, string, error) { + meta := tccommon.ProviderMetaFromContext(ctx) + if meta == nil { + return nil, "", fmt.Errorf("resource data can not be nil") + } + if req == nil { + d := tccommon.ResourceDataFromContext(ctx) + if d == nil { + return nil, "", fmt.Errorf("resource data can not be nil") + } + _ = d + req = tkev20180525.NewDescribeClusterNodePoolDetailRequest() + req.ClusterId = helper.String(clusterId) + + req.NodePoolId = helper.String(nodePoolId) + + } + resp, err := meta.(tccommon.ProviderMeta).GetAPIV3Conn().UseTkeV20180525Client().DescribeClusterNodePoolDetailWithContext(ctx, req) + if err != nil { + return nil, "", err + } + if resp == nil || resp.Response == nil { + return nil, "", nil + } + state := fmt.Sprintf("%v", *resp.Response.NodePool.LifeState) + return resp.Response, state, nil + } +} diff --git a/tencentcloud/services/tke/resource_tc_kubernetes_node_pool_extension.go b/tencentcloud/services/tke/resource_tc_kubernetes_node_pool_extension.go index eec8831408..a65c5e91ca 100644 --- a/tencentcloud/services/tke/resource_tc_kubernetes_node_pool_extension.go +++ b/tencentcloud/services/tke/resource_tc_kubernetes_node_pool_extension.go @@ -1328,21 +1328,21 @@ func resourceTencentCloudKubernetesNodePoolUpdatePostHandleResponse0(ctx context } } - service := TkeService{client: meta.(tccommon.ProviderMeta).GetAPIV3Conn()} - err := resource.Retry(5*tccommon.ReadRetryTimeout, func() *resource.RetryError { - nodePool, _, errRet := service.DescribeNodePool(ctx, clusterId, nodePoolId) - if errRet != nil { - return tccommon.RetryError(errRet, tccommon.InternalError) - } - if nodePool != nil && *nodePool.LifeState == "normal" { - return nil - } - return resource.RetryableError(fmt.Errorf("node pool status is %s, retry...", *nodePool.LifeState)) - }) - - if err != nil { - return err - } + // service := TkeService{client: meta.(tccommon.ProviderMeta).GetAPIV3Conn()} + // err := resource.Retry(5*tccommon.ReadRetryTimeout, func() *resource.RetryError { + // nodePool, _, errRet := service.DescribeNodePool(ctx, clusterId, nodePoolId) + // if errRet != nil { + // return tccommon.RetryError(errRet, tccommon.InternalError) + // } + // if nodePool != nil && *nodePool.LifeState == "normal" { + // return nil + // } + // return resource.RetryableError(fmt.Errorf("node pool status is %s, retry...", *nodePool.LifeState)) + // }) + + // if err != nil { + // return err + // } return nil } From 3b52115dec12520af56c130b6a98da51fde9e730 Mon Sep 17 00:00:00 2001 From: andrewjiang Date: Thu, 26 Sep 2024 23:17:58 +0800 Subject: [PATCH 7/9] feat(tke): delete taints and labels --- ...ource_tc_kubernetes_node_pool_extension.go | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/tencentcloud/services/tke/resource_tc_kubernetes_node_pool_extension.go b/tencentcloud/services/tke/resource_tc_kubernetes_node_pool_extension.go index a65c5e91ca..eec8831408 100644 --- a/tencentcloud/services/tke/resource_tc_kubernetes_node_pool_extension.go +++ b/tencentcloud/services/tke/resource_tc_kubernetes_node_pool_extension.go @@ -1328,21 +1328,21 @@ func resourceTencentCloudKubernetesNodePoolUpdatePostHandleResponse0(ctx context } } - // service := TkeService{client: meta.(tccommon.ProviderMeta).GetAPIV3Conn()} - // err := resource.Retry(5*tccommon.ReadRetryTimeout, func() *resource.RetryError { - // nodePool, _, errRet := service.DescribeNodePool(ctx, clusterId, nodePoolId) - // if errRet != nil { - // return tccommon.RetryError(errRet, tccommon.InternalError) - // } - // if nodePool != nil && *nodePool.LifeState == "normal" { - // return nil - // } - // return resource.RetryableError(fmt.Errorf("node pool status is %s, retry...", *nodePool.LifeState)) - // }) - - // if err != nil { - // return err - // } + service := TkeService{client: meta.(tccommon.ProviderMeta).GetAPIV3Conn()} + err := resource.Retry(5*tccommon.ReadRetryTimeout, func() *resource.RetryError { + nodePool, _, errRet := service.DescribeNodePool(ctx, clusterId, nodePoolId) + if errRet != nil { + return tccommon.RetryError(errRet, tccommon.InternalError) + } + if nodePool != nil && *nodePool.LifeState == "normal" { + return nil + } + return resource.RetryableError(fmt.Errorf("node pool status is %s, retry...", *nodePool.LifeState)) + }) + + if err != nil { + return err + } return nil } From 8029c7c4af23b3a1a33230e71fbe481f554bb8e0 Mon Sep 17 00:00:00 2001 From: andrewjiang Date: Thu, 26 Sep 2024 23:36:33 +0800 Subject: [PATCH 8/9] feat(tke): delete taints and labels --- .../tke/resource_tc_kubernetes_node_pool.go | 6 ------ .../resource_tc_kubernetes_node_pool_extension.go | 15 +++++++-------- 2 files changed, 7 insertions(+), 14 deletions(-) diff --git a/tencentcloud/services/tke/resource_tc_kubernetes_node_pool.go b/tencentcloud/services/tke/resource_tc_kubernetes_node_pool.go index 3fa376893c..2aca906f9e 100644 --- a/tencentcloud/services/tke/resource_tc_kubernetes_node_pool.go +++ b/tencentcloud/services/tke/resource_tc_kubernetes_node_pool.go @@ -882,8 +882,6 @@ func resourceTencentCloudKubernetesNodePoolUpdate(d *schema.ResourceData, meta i if needChange { request := tkev20180525.NewModifyClusterNodePoolRequest() - response := tkev20180525.NewModifyClusterNodePoolResponse() - request.ClusterId = helper.String(clusterId) request.NodePoolId = helper.String(nodePoolId) @@ -921,10 +919,6 @@ func resourceTencentCloudKubernetesNodePoolUpdate(d *schema.ResourceData, meta i log.Printf("[CRITAL]%s update kubernetes node pool failed, reason:%+v", logId, err) return err } - if err := resourceTencentCloudKubernetesNodePoolUpdatePostHandleResponse0(ctx, response); err != nil { - return err - } - if _, err := (&resource.StateChangeConf{ Delay: 10 * time.Second, MinTimeout: 3 * time.Second, diff --git a/tencentcloud/services/tke/resource_tc_kubernetes_node_pool_extension.go b/tencentcloud/services/tke/resource_tc_kubernetes_node_pool_extension.go index eec8831408..d481d038c3 100644 --- a/tencentcloud/services/tke/resource_tc_kubernetes_node_pool_extension.go +++ b/tencentcloud/services/tke/resource_tc_kubernetes_node_pool_extension.go @@ -713,6 +713,12 @@ func resourceTencentCloudKubernetesNodePoolUpdateOnExit(ctx context.Context) err clusterId := items[0] nodePoolId := items[1] + + err := resourceTencentCloudKubernetesNodePoolUpdateTaints(ctx, clusterId, nodePoolId) + if err != nil { + return err + } + // ModifyScalingGroup if d.HasChange("scaling_group_name") || d.HasChange("zones") || @@ -1250,18 +1256,11 @@ func desiredCapacityOutRange(d *schema.ResourceData) bool { return capacity > maxSize || capacity < minSize } -func resourceTencentCloudKubernetesNodePoolUpdatePostHandleResponse0(ctx context.Context, resp *tke.ModifyClusterNodePoolResponse) error { +func resourceTencentCloudKubernetesNodePoolUpdateTaints(ctx context.Context, clusterId string, nodePoolId string) error { d := tccommon.ResourceDataFromContext(ctx) meta := tccommon.ProviderMetaFromContext(ctx) logId := tccommon.GetLogId(tccommon.ContextNil) - idSplit := strings.Split(d.Id(), tccommon.FILED_SP) - if len(idSplit) != 2 { - return fmt.Errorf("id is broken,%s", d.Id()) - } - clusterId := idSplit[0] - nodePoolId := idSplit[1] - if d.HasChange("taints") { _, n := d.GetChange("taints") From 618f651c38aded3ebafe1ae2fd6c5a8805cc6d99 Mon Sep 17 00:00:00 2001 From: SevenEarth <391613297@qq.com> Date: Fri, 27 Sep 2024 10:19:34 +0800 Subject: [PATCH 9/9] add --- .../services/tke/resource_tc_kubernetes_node_pool_extension.go | 1 - 1 file changed, 1 deletion(-) diff --git a/tencentcloud/services/tke/resource_tc_kubernetes_node_pool_extension.go b/tencentcloud/services/tke/resource_tc_kubernetes_node_pool_extension.go index d481d038c3..aa32faada0 100644 --- a/tencentcloud/services/tke/resource_tc_kubernetes_node_pool_extension.go +++ b/tencentcloud/services/tke/resource_tc_kubernetes_node_pool_extension.go @@ -713,7 +713,6 @@ func resourceTencentCloudKubernetesNodePoolUpdateOnExit(ctx context.Context) err clusterId := items[0] nodePoolId := items[1] - err := resourceTencentCloudKubernetesNodePoolUpdateTaints(ctx, clusterId, nodePoolId) if err != nil { return err