Skip to content

Commit ac20628

Browse files
authored
Revert "fix(cvm): [116173103] update destroy function (#2784)" (#2790)
This reverts commit 440a1be.
1 parent 4b6776c commit ac20628

File tree

2 files changed

+46
-113
lines changed

2 files changed

+46
-113
lines changed

.changelog/2784.txt

Lines changed: 0 additions & 3 deletions
This file was deleted.

tencentcloud/services/cvm/resource_tc_instance.go

Lines changed: 46 additions & 110 deletions
Original file line numberDiff line numberDiff line change
@@ -1558,20 +1558,20 @@ func resourceTencentCloudInstanceDelete(d *schema.ResourceData, meta interface{}
15581558
}
15591559

15601560
// prepaid need delete again
1561-
//if instanceChargeType == CVM_CHARGE_TYPE_PREPAID {
1562-
// err = resource.Retry(tccommon.WriteRetryTimeout, func() *resource.RetryError {
1563-
// errRet := cvmService.DeleteInstance(ctx, instanceId)
1564-
// if errRet != nil {
1565-
// return tccommon.RetryError(errRet)
1566-
// }
1567-
//
1568-
// return nil
1569-
// })
1570-
//
1571-
// if err != nil {
1572-
// return err
1573-
// }
1574-
//}
1561+
if instanceChargeType == CVM_CHARGE_TYPE_PREPAID {
1562+
err = resource.Retry(tccommon.WriteRetryTimeout, func() *resource.RetryError {
1563+
errRet := cvmService.DeleteInstance(ctx, instanceId)
1564+
if errRet != nil {
1565+
return tccommon.RetryError(errRet)
1566+
}
1567+
1568+
return nil
1569+
})
1570+
1571+
if err != nil {
1572+
return err
1573+
}
1574+
}
15751575

15761576
//check recycling
15771577
notExist := false
@@ -1610,101 +1610,6 @@ func resourceTencentCloudInstanceDelete(d *schema.ResourceData, meta interface{}
16101610
return nil
16111611
}
16121612

1613-
if instanceChargeType == CVM_CHARGE_TYPE_PREPAID {
1614-
if v, ok := d.GetOk("data_disks"); ok {
1615-
dataDisks := v.([]interface{})
1616-
for _, d := range dataDisks {
1617-
value := d.(map[string]interface{})
1618-
diskId := value["data_disk_id"].(string)
1619-
deleteWithInstance := value["delete_with_instance"].(bool)
1620-
if deleteWithInstance {
1621-
cbsService := svccbs.NewCbsService(meta.(tccommon.ProviderMeta).GetAPIV3Conn())
1622-
err := resource.Retry(tccommon.ReadRetryTimeout*2, func() *resource.RetryError {
1623-
diskInfo, e := cbsService.DescribeDiskById(ctx, diskId)
1624-
if e != nil {
1625-
return tccommon.RetryError(e, tccommon.InternalError)
1626-
}
1627-
1628-
if *diskInfo.DiskState != svccbs.CBS_STORAGE_STATUS_ATTACHED {
1629-
return resource.RetryableError(fmt.Errorf("cbs storage status is %s", *diskInfo.DiskState))
1630-
}
1631-
1632-
return nil
1633-
})
1634-
1635-
if err != nil {
1636-
log.Printf("[CRITAL]%s delete cbs failed, reason:%s\n ", logId, err.Error())
1637-
return err
1638-
}
1639-
1640-
err = resource.Retry(tccommon.WriteRetryTimeout, func() *resource.RetryError {
1641-
e := cbsService.DetachDisk(ctx, diskId, instanceId)
1642-
if e != nil {
1643-
return tccommon.RetryError(e, tccommon.InternalError)
1644-
}
1645-
1646-
return nil
1647-
})
1648-
1649-
if err != nil {
1650-
log.Printf("[CRITAL]%s detach cbs failed, reason:%s\n ", logId, err.Error())
1651-
return err
1652-
}
1653-
1654-
err = resource.Retry(tccommon.ReadRetryTimeout*2, func() *resource.RetryError {
1655-
diskInfo, e := cbsService.DescribeDiskById(ctx, diskId)
1656-
if e != nil {
1657-
return tccommon.RetryError(e, tccommon.InternalError)
1658-
}
1659-
1660-
if *diskInfo.DiskState != svccbs.CBS_STORAGE_STATUS_UNATTACHED {
1661-
return resource.RetryableError(fmt.Errorf("cbs storage status is %s", *diskInfo.DiskState))
1662-
}
1663-
1664-
return nil
1665-
})
1666-
1667-
if err != nil {
1668-
log.Printf("[CRITAL]%s read cbs status failed, reason:%s\n ", logId, err.Error())
1669-
return err
1670-
}
1671-
1672-
err = resource.Retry(tccommon.WriteRetryTimeout, func() *resource.RetryError {
1673-
e := cbsService.DeleteDiskById(ctx, diskId)
1674-
if e != nil {
1675-
return tccommon.RetryError(e, tccommon.InternalError)
1676-
}
1677-
1678-
return nil
1679-
})
1680-
1681-
if err != nil {
1682-
log.Printf("[CRITAL]%s delete cbs failed, reason:%s\n ", logId, err.Error())
1683-
return err
1684-
}
1685-
1686-
err = resource.Retry(tccommon.ReadRetryTimeout*2, func() *resource.RetryError {
1687-
diskInfo, e := cbsService.DescribeDiskById(ctx, diskId)
1688-
if e != nil {
1689-
return tccommon.RetryError(e, tccommon.InternalError)
1690-
}
1691-
1692-
if *diskInfo.DiskState != svccbs.CBS_STORAGE_STATUS_TORECYCLE {
1693-
return resource.RetryableError(fmt.Errorf("cbs storage status is %s", *diskInfo.DiskState))
1694-
}
1695-
1696-
return nil
1697-
})
1698-
1699-
if err != nil {
1700-
log.Printf("[CRITAL]%s read cbs status failed, reason:%s\n ", logId, err.Error())
1701-
return err
1702-
}
1703-
}
1704-
}
1705-
}
1706-
}
1707-
17081613
if !forceDelete {
17091614
return nil
17101615
}
@@ -1766,7 +1671,7 @@ func resourceTencentCloudInstanceDelete(d *schema.ResourceData, meta interface{}
17661671
return tccommon.RetryError(e, tccommon.InternalError)
17671672
}
17681673

1769-
if *diskInfo.DiskState != svccbs.CBS_STORAGE_STATUS_TORECYCLE {
1674+
if *diskInfo.DiskState != svccbs.CBS_STORAGE_STATUS_UNATTACHED {
17701675
return resource.RetryableError(fmt.Errorf("cbs storage status is %s", *diskInfo.DiskState))
17711676
}
17721677

@@ -1792,6 +1697,37 @@ func resourceTencentCloudInstanceDelete(d *schema.ResourceData, meta interface{}
17921697
return err
17931698
}
17941699

1700+
err = resource.Retry(tccommon.ReadRetryTimeout*2, func() *resource.RetryError {
1701+
diskInfo, e := cbsService.DescribeDiskById(ctx, diskId)
1702+
if e != nil {
1703+
return tccommon.RetryError(e, tccommon.InternalError)
1704+
}
1705+
1706+
if *diskInfo.DiskState == svccbs.CBS_STORAGE_STATUS_TORECYCLE {
1707+
return resource.RetryableError(fmt.Errorf("cbs storage status is %s", *diskInfo.DiskState))
1708+
}
1709+
1710+
return nil
1711+
})
1712+
1713+
if err != nil {
1714+
log.Printf("[CRITAL]%s read cbs status failed, reason:%s\n ", logId, err.Error())
1715+
return err
1716+
}
1717+
1718+
err = resource.Retry(tccommon.WriteRetryTimeout, func() *resource.RetryError {
1719+
e := cbsService.DeleteDiskById(ctx, diskId)
1720+
if e != nil {
1721+
return tccommon.RetryError(e, tccommon.InternalError)
1722+
}
1723+
1724+
return nil
1725+
})
1726+
1727+
if err != nil {
1728+
log.Printf("[CRITAL]%s delete cbs failed, reason:%s\n ", logId, err.Error())
1729+
return err
1730+
}
17951731
err = resource.Retry(tccommon.ReadRetryTimeout*2, func() *resource.RetryError {
17961732
diskInfo, e := cbsService.DescribeDiskById(ctx, diskId)
17971733
if e != nil {

0 commit comments

Comments
 (0)