Skip to content

Commit ed5e028

Browse files
committed
add
1 parent 7c01721 commit ed5e028

File tree

1 file changed

+26
-4
lines changed

1 file changed

+26
-4
lines changed

tencentcloud/services/cbs/service_tencentcloud_cbs.go

Lines changed: 26 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -311,12 +311,34 @@ func (me *CbsService) ResizeDisk(ctx context.Context, diskId string, diskSize in
311311
ratelimit.Check(request.GetAction())
312312
response, err := me.client.UseCbsClient().ResizeDisk(request)
313313
if err != nil {
314-
log.Printf("[CRITAL]%s api[%s] fail, request body [%s], reason[%s]\n",
315-
logId, request.GetAction(), request.ToJsonString(), err.Error())
314+
log.Printf("[CRITAL]%s api[%s] fail, request body [%s], reason[%s]\n", logId, request.GetAction(), request.ToJsonString(), err.Error())
316315
return err
317316
}
318-
log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n",
319-
logId, request.GetAction(), request.ToJsonString(), response.ToJsonString())
317+
318+
log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), response.ToJsonString())
319+
320+
err = resource.Retry(tccommon.ReadRetryTimeout, func() *resource.RetryError {
321+
storage, e := me.DescribeDiskById(ctx, diskId)
322+
if e != nil {
323+
return tccommon.RetryError(e)
324+
}
325+
326+
if *storage.DiskState == CBS_STORAGE_STATUS_EXPANDING {
327+
return resource.RetryableError(fmt.Errorf("cbs storage status is %s", *storage.DiskState))
328+
}
329+
330+
if *storage.DiskSize != uint64(diskSize) {
331+
return resource.RetryableError(fmt.Errorf("waiting for cbs size changed to %d, now %d", diskSize, *storage.DiskSize))
332+
}
333+
334+
return nil
335+
})
336+
337+
if err != nil {
338+
log.Printf("[CRITAL]%s resize cbs failed, reason:%s\n ", logId, err.Error())
339+
return err
340+
}
341+
320342
return nil
321343
}
322344

0 commit comments

Comments
 (0)