mirror of
https://github.com/yunionio/cloudpods.git
synced 2026-09-24 16:03:43 +08:00
修正:删除主机时忽略停机错误
This commit is contained in:
@@ -1343,6 +1343,9 @@ func (self *SGuest) Attach2Network(ctx context.Context, userCred mcclient.TokenC
|
||||
}
|
||||
}
|
||||
notes := jsonutils.NewDict()
|
||||
if len(address) == 0 {
|
||||
address = guestnic.IpAddr
|
||||
}
|
||||
notes.Add(jsonutils.NewString(address), "ip_addr")
|
||||
db.OpsLog.LogAttachEvent(self, network, userCred, notes)
|
||||
return nil
|
||||
|
||||
@@ -33,8 +33,10 @@ func (self *GuestDeleteTask) OnInit(ctx context.Context, obj db.IStandaloneModel
|
||||
self.SetStage("on_guest_stop_complete", nil)
|
||||
err := guest.GetDriver().RequestStopGuestForDelete(ctx, guest, self)
|
||||
if err != nil {
|
||||
errMsg := jsonutils.NewString(err.Error())
|
||||
self.OnGuestStopCompleteFailed(ctx, obj, errMsg)
|
||||
log.Errorf("RequestStopGuestForDelete fail %s", err)
|
||||
// errMsg := jsonutils.NewString(err.Error())
|
||||
// self.OnGuestStopCompleteFailed(ctx, obj, errMsg)
|
||||
self.OnGuestStopComplete(ctx, obj, data)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -56,6 +58,10 @@ func (self *GuestDeleteTask) OnGuestStopComplete(ctx context.Context, obj db.ISt
|
||||
}
|
||||
|
||||
func (self *GuestDeleteTask) OnGuestStopCompleteFailed(ctx context.Context, obj db.IStandaloneModel, err jsonutils.JSONObject) {
|
||||
self.OnGuestStopComplete(ctx, obj, err) // ignore stop error
|
||||
}
|
||||
|
||||
func (self *GuestDeleteTask) OnGuestDeleteFailed(ctx context.Context, obj db.IStandaloneModel, err jsonutils.JSONObject) {
|
||||
guest := obj.(*models.SGuest)
|
||||
guest.SetStatus(self.UserCred, models.VM_DELETE_FAIL, err.String())
|
||||
db.OpsLog.LogEvent(guest, db.ACT_DELOCATE_FAIL, err, self.UserCred)
|
||||
@@ -94,6 +100,10 @@ func (self *GuestDeleteTask) OnGuestDetachDisksComplete(ctx context.Context, obj
|
||||
self.DoDeleteGuest(ctx, guest)
|
||||
}
|
||||
|
||||
func (self *GuestDeleteTask) OnGuestDetachDisksCompleteFailed(ctx context.Context, obj db.IStandaloneModel, data jsonutils.JSONObject) {
|
||||
self.OnGuestDeleteFailed(ctx, obj, data)
|
||||
}
|
||||
|
||||
func (self *GuestDeleteTask) DoDeleteGuest(ctx context.Context, guest *models.SGuest) {
|
||||
models.IsolatedDeviceManager.ReleaseDevicesOfGuest(guest, self.UserCred)
|
||||
host := guest.GetHost()
|
||||
|
||||
Reference in New Issue
Block a user