diff --git a/CHANGELOG.md b/CHANGELOG.md index 5ac0122470..72b4736522 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,10 @@ -## 1.56.4 (Unreleased) +## 1.56.5 (Unreleased) +## 1.56.4 (April 26, 2021) + +BUG FIXES: + +* Resource: `tencentcloud_kubernetes_cluster` upgrade instances timeout depend on instance number. + ## 1.56.3 (April 25, 2021) ENHANCEMENTS: diff --git a/tencentcloud/resource_tc_kubernetes_cluster.go b/tencentcloud/resource_tc_kubernetes_cluster.go index 1bd072d8ba..b09ba359d8 100644 --- a/tencentcloud/resource_tc_kubernetes_cluster.go +++ b/tencentcloud/resource_tc_kubernetes_cluster.go @@ -273,6 +273,7 @@ import ( "net" "strconv" "strings" + "time" "github.com/hashicorp/terraform-plugin-sdk/helper/resource" "github.com/hashicorp/terraform-plugin-sdk/helper/schema" @@ -1321,7 +1322,8 @@ func upgradeClusterInstances(tkeService TkeService, ctx context.Context, id stri } } log.Println("instancesIds for upgrade:", instanceIds) - if len(instanceIds) == 0 { + instNum := len(instanceIds) + if instNum == 0 { return nil } @@ -1337,8 +1339,9 @@ func upgradeClusterInstances(tkeService TkeService, ctx context.Context, id stri return err } - // check update status - err = resource.Retry(readRetryTimeout, func() *resource.RetryError { + // check update status: upgrade instance one by one, so timeout depend on instance number. + timeout := readRetryTimeout * time.Duration(instNum) + err = resource.Retry(timeout, func() *resource.RetryError { done, inErr := tkeService.GetUpgradeInstanceResult(ctx, id) if inErr != nil { return retryError(inErr)