Merge pull request #670 in YUNIONIO/onecloud from ~QUXUAN/onecloud:hotfix/qx-eip-dissociate to release/2.1.0

* commit '4a1ad108e466f94d91dbae210104d4c107ec3b5d':
  避免删除机器时,云端eip已经删除时,无限删除失败
This commit is contained in:
邱剑
2018-12-05 14:37:39 +08:00
+3 -2
View File
@@ -8,6 +8,7 @@ import (
"yunion.io/x/onecloud/pkg/cloudcommon/db"
"yunion.io/x/onecloud/pkg/cloudcommon/db/taskman"
"yunion.io/x/onecloud/pkg/cloudprovider"
"yunion.io/x/onecloud/pkg/compute/models"
)
@@ -38,13 +39,13 @@ func (self *EipDissociateTask) OnInit(ctx context.Context, obj db.IStandaloneMod
}
extEip, err := eip.GetIEip()
if err != nil {
if err != nil && err != cloudprovider.ErrNotFound {
msg := fmt.Sprintf("fail to find iEIP for eip %s", err)
self.TaskFail(ctx, eip, msg, server)
return
}
if len(extEip.GetAssociationExternalId()) > 0 {
if err == nil && len(extEip.GetAssociationExternalId()) > 0 {
err = extEip.Dissociate()
if err != nil {
msg := fmt.Sprintf("fail to remote dissociate eip %s", err)