Skip to content

Commit 45b3535

Browse files
committed
add
1 parent 97669a0 commit 45b3535

File tree

1 file changed

+96
-1
lines changed

1 file changed

+96
-1
lines changed

tencentcloud/services/tke/resource_tc_kubernetes_cluster_extension.go

Lines changed: 96 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -476,7 +476,7 @@ func resourceTencentCloudKubernetesClusterCreatePostHandleResponse0(ctx context.
476476
}
477477
}
478478

479-
//Modify node pool global config
479+
//Modify node pool global config(sync)
480480
if _, ok := d.GetOk("node_pool_global_config"); ok {
481481
request := tkeGetNodePoolGlobalConfig(d)
482482
request.ClusterId = &id
@@ -492,20 +492,45 @@ func resourceTencentCloudKubernetesClusterCreatePostHandleResponse0(ctx context.
492492
}
493493
}
494494

495+
// sync
495496
if v, ok := d.GetOk("acquire_cluster_admin_role"); ok && v.(bool) {
496497
err := service.AcquireClusterAdminRole(ctx, id)
497498
if err != nil {
498499
return err
499500
}
500501
}
501502

503+
// async
502504
if _, ok := d.GetOk("auth_options"); ok {
503505
request := tkeGetAuthOptions(d, id)
504506
if err := service.ModifyClusterAuthenticationOptions(ctx, request); err != nil {
505507
return err
506508
}
509+
510+
// wait
511+
err = resource.Retry(3*tccommon.ReadRetryTimeout, func() *resource.RetryError {
512+
resp, inErr := service.DescribeKubernetesAuthAttachmentById(ctx, id)
513+
if inErr != nil {
514+
return tccommon.RetryError(inErr)
515+
}
516+
517+
if resp == nil {
518+
return resource.NonRetryableError(fmt.Errorf("Describe cluster aauthentication options failed, Response is nil."))
519+
}
520+
521+
if resp.LatestOperationState != nil || *resp.LatestOperationState == "Success" {
522+
return nil
523+
}
524+
525+
return resource.RetryableError(fmt.Errorf("Modify auth options running..."))
526+
})
527+
528+
if err != nil {
529+
return err
530+
}
507531
}
508532

533+
// async
509534
if v, ok := helper.InterfacesHeadMap(d, "log_agent"); ok {
510535
enabled := v["enabled"].(bool)
511536
rootDir := v["kubelet_root_dir"].(string)
@@ -515,9 +540,33 @@ func resourceTencentCloudKubernetesClusterCreatePostHandleResponse0(ctx context.
515540
if err != nil {
516541
return err
517542
}
543+
544+
// wait
545+
err = resource.Retry(3*tccommon.ReadRetryTimeout, func() *resource.RetryError {
546+
resp, inErr := service.DescribeLogSwitches(ctx, id)
547+
if inErr != nil {
548+
return tccommon.RetryError(inErr)
549+
}
550+
551+
if resp == nil || len(resp) < 1 {
552+
return resource.NonRetryableError(fmt.Errorf("Describe log switches failed, Response is nil."))
553+
}
554+
555+
ret := resp[0]
556+
if ret.Log != nil && ret.Log.Status != nil && *ret.Log.Status == "opened" {
557+
return nil
558+
}
559+
560+
return resource.RetryableError(fmt.Errorf("Modify log agent running..."))
561+
})
562+
563+
if err != nil {
564+
return err
565+
}
518566
}
519567
}
520568

569+
// async
521570
if v, ok := helper.InterfacesHeadMap(d, "event_persistence"); ok {
522571
enabled := v["enabled"].(bool)
523572
logSetId := v["log_set_id"].(string)
@@ -527,6 +576,29 @@ func resourceTencentCloudKubernetesClusterCreatePostHandleResponse0(ctx context.
527576
if err != nil {
528577
return err
529578
}
579+
580+
// wait
581+
err = resource.Retry(3*tccommon.ReadRetryTimeout, func() *resource.RetryError {
582+
resp, inErr := service.DescribeLogSwitches(ctx, id)
583+
if inErr != nil {
584+
return tccommon.RetryError(inErr)
585+
}
586+
587+
if resp == nil || len(resp) < 1 {
588+
return resource.NonRetryableError(fmt.Errorf("Describe event persistence failed, Response is nil."))
589+
}
590+
591+
ret := resp[0]
592+
if ret.Event != nil && ret.Event.Status != nil && *ret.Event.Status == "opened" {
593+
return nil
594+
}
595+
596+
return resource.RetryableError(fmt.Errorf("Modify event persistence running..."))
597+
})
598+
599+
if err != nil {
600+
return err
601+
}
530602
}
531603
}
532604

@@ -539,6 +611,29 @@ func resourceTencentCloudKubernetesClusterCreatePostHandleResponse0(ctx context.
539611
if err != nil {
540612
return err
541613
}
614+
615+
// wait
616+
err = resource.Retry(3*tccommon.ReadRetryTimeout, func() *resource.RetryError {
617+
resp, inErr := service.DescribeLogSwitches(ctx, id)
618+
if inErr != nil {
619+
return tccommon.RetryError(inErr)
620+
}
621+
622+
if resp == nil || len(resp) < 1 {
623+
return resource.NonRetryableError(fmt.Errorf("Describe cluster audit failed, Response is nil."))
624+
}
625+
626+
ret := resp[0]
627+
if ret.Audit != nil && ret.Audit.Status != nil && *ret.Audit.Status == "opened" {
628+
return nil
629+
}
630+
631+
return resource.RetryableError(fmt.Errorf("Modify cluster audit running..."))
632+
})
633+
634+
if err != nil {
635+
return err
636+
}
542637
}
543638
}
544639
return nil

0 commit comments

Comments
 (0)