Skip to content

Commit 3bd9d48

Browse files
authored
fix: tke - check worker ready, cancel deprecated asg relative api (#1196)
* fix: tke - check worker ready, cancel request deprecated asg relative api * fix: tke - add node ready checking to endpoint
1 parent 7388251 commit 3bd9d48

File tree

4 files changed

+33
-15
lines changed

4 files changed

+33
-15
lines changed

tencentcloud/resource_tc_kubernetes_cluster.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2180,6 +2180,12 @@ func resourceTencentCloudTkeClusterCreate(d *schema.ResourceData, meta interface
21802180
return err
21812181
}
21822182

2183+
err = service.CheckOneOfClusterNodeReady(ctx, d.Id(), clusterInternet || clusterIntranet)
2184+
2185+
if err != nil {
2186+
return err
2187+
}
2188+
21832189
//intranet
21842190
if clusterIntranet {
21852191
err = resource.Retry(writeRetryTimeout, func() *resource.RetryError {

tencentcloud/resource_tc_kubernetes_cluster_endpoint.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -215,6 +215,10 @@ func resourceTencentCloudTkeClusterEndpointCreate(d *schema.ResourceData, meta i
215215
return fmt.Errorf("`cluster_intranet_subnet_id` can only set when `cluster_intranet` is true")
216216
}
217217

218+
if err := service.CheckOneOfClusterNodeReady(ctx, id, true); err != nil {
219+
return err
220+
}
221+
218222
// Create Intranet(Private) Network
219223
if clusterIntranet {
220224
err := tencentCloudClusterIntranetSwitch(ctx, &service, id, intranetSubnetId, true)

tencentcloud/resource_tc_kubernetes_node_pool.go

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1064,21 +1064,6 @@ func resourceKubernetesNodePoolRead(d *schema.ResourceData, meta interface{}) er
10641064
}
10651065
}
10661066

1067-
// asg node unschedulable
1068-
clusterAsg, err := service.DescribeClusterAsGroupsByGroupId(ctx, clusterId, *nodePool.AutoscalingGroupId)
1069-
1070-
if err != nil {
1071-
return err
1072-
}
1073-
1074-
unschedulable := 0
1075-
if clusterAsg != nil {
1076-
if clusterAsg.IsUnschedulable != nil && *clusterAsg.IsUnschedulable {
1077-
unschedulable = 1
1078-
}
1079-
}
1080-
_ = d.Set("unschedulable", unschedulable)
1081-
10821067
// Relative scaling group status
10831068
asg, hasAsg, err := asService.DescribeAutoScalingGroupById(ctx, *nodePool.AutoscalingGroupId)
10841069
if err != nil {

tencentcloud/service_tencentcloud_tke.go

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -660,6 +660,29 @@ func (me *TkeService) CreateClusterInstances(ctx context.Context,
660660
return
661661
}
662662

663+
func (me *TkeService) CheckOneOfClusterNodeReady(ctx context.Context, clusterId string, mustHaveWorkers bool) error {
664+
return resource.Retry(readRetryTimeout*5, func() *resource.RetryError {
665+
_, workers, err := me.DescribeClusterInstances(ctx, clusterId)
666+
if err != nil {
667+
return retryError(err)
668+
}
669+
if len(workers) == 0 {
670+
if mustHaveWorkers {
671+
return resource.RetryableError(fmt.Errorf("waiting for workers created"))
672+
}
673+
return nil
674+
}
675+
676+
for i := range workers {
677+
worker := workers[i]
678+
if worker.InstanceState == "running" {
679+
return nil
680+
}
681+
}
682+
return resource.RetryableError(fmt.Errorf("cluster %s waiting for one of the workers ready", clusterId))
683+
})
684+
}
685+
663686
/*
664687
if cluster is creating, return error:TencentCloudSDKError] Code=InternalError.ClusterState
665688
*/

0 commit comments

Comments
 (0)