修正:删除主机时忽略停机错误

This commit is contained in:
Qiu Jian
2018-11-13 16:16:20 +08:00
parent 1c9b0ce6d6
commit cda1edfc45
2 changed files with 15 additions and 2 deletions
+3
View File
@@ -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
+12 -2
View File
@@ -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()