From 28d6e1a4887d93b48815eba3f72eb8be7205e704 Mon Sep 17 00:00:00 2001 From: shanye Date: Mon, 15 Apr 2024 16:01:40 +0800 Subject: [PATCH] resource/alicloud_ecs_disk_attachment: add retry for DisksDetachingOnEcsExceeded in DetachDisk --- alicloud/resource_alicloud_ecs_disk_attachment.go | 4 ++-- alicloud/resource_alicloud_ecs_disk_attachment_test.go | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/alicloud/resource_alicloud_ecs_disk_attachment.go b/alicloud/resource_alicloud_ecs_disk_attachment.go index e8b5d1c1a17a..cc2b1099aa38 100644 --- a/alicloud/resource_alicloud_ecs_disk_attachment.go +++ b/alicloud/resource_alicloud_ecs_disk_attachment.go @@ -100,7 +100,7 @@ func resourceAlicloudEcsDiskAttachmentCreate(d *schema.ResourceData, meta interf err = resource.Retry(d.Timeout(schema.TimeoutCreate), func() *resource.RetryError { response, err = conn.DoRequest(StringPointer(action), nil, StringPointer("POST"), StringPointer("2014-05-26"), StringPointer("AK"), nil, request, &util.RuntimeOptions{}) if err != nil { - if NeedRetry(err) || IsExpectedErrors(err, DiskInvalidOperation) { + if NeedRetry(err) || IsExpectedErrors(err, []string{"IncorrectDiskStatus", "IncorrectInstanceStatus", "OperationConflict", "InternalError", "InvalidOperation.Conflict", "IncorrectDiskStatus.Initializing"}) { wait() return resource.RetryableError(err) } @@ -203,7 +203,7 @@ func resourceAlicloudEcsDiskAttachmentDelete(d *schema.ResourceData, meta interf err = resource.Retry(d.Timeout(schema.TimeoutDelete), func() *resource.RetryError { response, err = conn.DoRequest(StringPointer(action), nil, StringPointer("POST"), StringPointer("2014-05-26"), StringPointer("AK"), nil, request, &util.RuntimeOptions{}) if err != nil { - if NeedRetry(err) || IsExpectedErrors(err, DiskInvalidOperation) { + if NeedRetry(err) || IsExpectedErrors(err, []string{"DisksDetachingOnEcsExceeded","IncorrectDiskStatus", "IncorrectInstanceStatus", "OperationConflict", "InternalError", "InvalidOperation.Conflict", "IncorrectDiskStatus.Initializing"}) { wait() return resource.RetryableError(err) } diff --git a/alicloud/resource_alicloud_ecs_disk_attachment_test.go b/alicloud/resource_alicloud_ecs_disk_attachment_test.go index 668697ea44ec..efb6c3059cae 100644 --- a/alicloud/resource_alicloud_ecs_disk_attachment_test.go +++ b/alicloud/resource_alicloud_ecs_disk_attachment_test.go @@ -10,7 +10,7 @@ import ( "github.com/hashicorp/terraform-plugin-sdk/helper/resource" ) -func TestAccAlicloudECSDiskAttachmentBasic(t *testing.T) { +func TestAccAliCloudECSDiskAttachmentBasic(t *testing.T) { var v map[string]interface{} resourceId := "alicloud_ecs_disk_attachment.default" ra := resourceAttrInit(resourceId, AlicloudEcsDiskAttachmentMap) @@ -39,7 +39,7 @@ func TestAccAlicloudECSDiskAttachmentBasic(t *testing.T) { }) } -func TestAccAlicloudECSDiskAttachmentMulti(t *testing.T) { +func TestAccAliCloudECSDiskAttachmentMulti(t *testing.T) { var v map[string]interface{} resourceId := "alicloud_ecs_disk_attachment.default.1" ra := resourceAttrInit(resourceId, AlicloudEcsDiskAttachmentMap) @@ -68,7 +68,7 @@ func TestAccAlicloudECSDiskAttachmentMulti(t *testing.T) { }) } -func TestAccAlicloudECSDiskAttachmentBasic1(t *testing.T) { +func TestAccAliCloudECSDiskAttachmentBasic1(t *testing.T) { var v map[string]interface{} resourceId := "alicloud_ecs_disk_attachment.default.1" ra := resourceAttrInit(resourceId, AlicloudEcsDiskAttachmentMap)