fix: fail to delete guest due to guestdisk inconsistency (#15402)

Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
This commit is contained in:
Jian Qiu
2022-11-22 12:23:38 +08:00
committed by GitHub
co-authored by Qiu Jian
parent 0cdd383139
commit dc50a4b980
+10 -1
View File
@@ -157,7 +157,16 @@ func (self *GuestDeleteTask) OnDiskDetachComplete(ctx context.Context, obj db.IS
log.Debugf("OnDiskDetachComplete")
guest := obj.(*models.SGuest)
guestdisks, _ := guest.GetGuestDisks()
guestdisksOrigin, _ := guest.GetGuestDisks()
var guestdisks []models.SGuestdisk
// clean dirty data
for i := range guestdisksOrigin {
if guestdisksOrigin[i].GetDisk() == nil {
guestdisksOrigin[i].Detach(ctx, self.UserCred)
} else {
guestdisks = append(guestdisks, guestdisksOrigin[i])
}
}
if len(guestdisks) == 0 {
// on guest disks detached
self.doClearSecurityGroupComplete(ctx, guest)