diff --git a/pkg/compute/models/guests.go b/pkg/compute/models/guests.go index cedc5019c7..b0c25ebcc5 100644 --- a/pkg/compute/models/guests.go +++ b/pkg/compute/models/guests.go @@ -103,8 +103,10 @@ const ( VM_RESTORE_STATE = "restore_state" VM_RESTORE_FAILED = "restore_failed" - VM_ASSOCIATE_EIP = "associate_eip" - VM_DISSOCIATE_EIP = "dissociate_eip" + VM_ASSOCIATE_EIP = "associate_eip" + VM_ASSOCIATE_EIP_FAILED = "associate_eip_failed" + VM_DISSOCIATE_EIP = "dissociate_eip" + VM_DISSOCIATE_EIP_FAILED = "dissociate_eip_failed" VM_REMOVE_STATEFILE = "remove_state" diff --git a/pkg/compute/tasks/eip_associate_task.go b/pkg/compute/tasks/eip_associate_task.go index f4d3aa4e41..483fb0f686 100644 --- a/pkg/compute/tasks/eip_associate_task.go +++ b/pkg/compute/tasks/eip_associate_task.go @@ -1,8 +1,8 @@ package tasks import ( - "fmt" "context" + "fmt" "yunion.io/x/jsonutils" @@ -20,10 +20,10 @@ func init() { } func (self *EipAssociateTask) TaskFail(ctx context.Context, eip *models.SElasticip, msg string, vm *models.SGuest) { - eip.SetStatus(self.UserCred, models.EIP_STATUS_ASSOCIATE_FAIL, msg) + eip.SetStatus(self.UserCred, models.EIP_STATUS_READY, msg) self.SetStageFailed(ctx, msg) if vm != nil { - vm.StartSyncstatus(ctx, self.UserCred, "") + vm.SetStatus(self.UserCred, models.VM_ASSOCIATE_EIP_FAILED, msg) } } @@ -69,4 +69,4 @@ func (self *EipAssociateTask) OnInit(ctx context.Context, obj db.IStandaloneMode server.StartSyncstatus(ctx, self.UserCred, "") self.SetStageComplete(ctx, nil) -} \ No newline at end of file +} diff --git a/pkg/compute/tasks/eip_dissociate_task.go b/pkg/compute/tasks/eip_dissociate_task.go index 30658ead59..f91d7569eb 100644 --- a/pkg/compute/tasks/eip_dissociate_task.go +++ b/pkg/compute/tasks/eip_dissociate_task.go @@ -1,9 +1,8 @@ package tasks - import ( - "fmt" "context" + "fmt" "yunion.io/x/jsonutils" @@ -21,10 +20,10 @@ func init() { } func (self *EipDissociateTask) TaskFail(ctx context.Context, eip *models.SElasticip, msg string, vm *models.SGuest) { - eip.SetStatus(self.UserCred, models.EIP_STATUS_DISSOCIATE_FAIL, msg) + eip.SetStatus(self.UserCred, models.EIP_STATUS_READY, msg) self.SetStageFailed(ctx, msg) if vm != nil { - vm.StartSyncstatus(ctx, self.UserCred, "") + vm.SetStatus(self.UserCred, models.VM_DISSOCIATE_EIP_FAILED, msg) } }