diff --git a/.changelog/3361.txt b/.changelog/3361.txt new file mode 100644 index 0000000000..0d126c5ad0 --- /dev/null +++ b/.changelog/3361.txt @@ -0,0 +1,3 @@ +```release-note:enhancement +resource/tencentcloud_kubernetes_cluster_endpoint: update retry code logic +``` diff --git a/tencentcloud/services/tke/resource_tc_kubernetes_cluster_endpoint.go b/tencentcloud/services/tke/resource_tc_kubernetes_cluster_endpoint.go index af7c79ce6f..762f0f9707 100644 --- a/tencentcloud/services/tke/resource_tc_kubernetes_cluster_endpoint.go +++ b/tencentcloud/services/tke/resource_tc_kubernetes_cluster_endpoint.go @@ -438,7 +438,7 @@ func resourceTencentCloudTkeClusterEndpointDelete(d *schema.ResourceData, meta i } func waitForClusterEndpointFinish(ctx context.Context, service *TkeService, id string, enabled bool, isInternet bool) (err error) { - return resource.Retry(2*tccommon.ReadRetryTimeout, func() *resource.RetryError { + return resource.Retry(5*tccommon.ReadRetryTimeout, func() *resource.RetryError { var ( status string message string @@ -457,15 +457,16 @@ func waitForClusterEndpointFinish(ctx context.Context, service *TkeService, id s if inErr != nil { return tccommon.RetryError(inErr) } - if status == retryableState { - return resource.RetryableError( - fmt.Errorf("%s create cluster internet endpoint status still is %s", id, status)) + + if status == retryableState || status == "TimeOut" { + return resource.RetryableError(fmt.Errorf("%s create cluster internet endpoint status still is %s", id, status)) } + if tccommon.IsContains(finishStates, status) { return nil } - return resource.NonRetryableError( - fmt.Errorf("%s create cluster internet endpoint error ,status is %s,message is %s", id, status, message)) + + return resource.NonRetryableError(fmt.Errorf("%s create cluster internet endpoint error, status is %s, message is %s", id, status, message)) }) }