From 795a11fcea0448ecf45a5252cb6b7f64280fbd6e Mon Sep 17 00:00:00 2001 From: wanyaoqi Date: Tue, 1 Sep 2020 01:06:39 +0800 Subject: [PATCH] fix host get guests (#7682) --- pkg/compute/models/hosts.go | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/pkg/compute/models/hosts.go b/pkg/compute/models/hosts.go index dca93d1a8c..fd4420214b 100644 --- a/pkg/compute/models/hosts.go +++ b/pkg/compute/models/hosts.go @@ -1429,6 +1429,17 @@ func (self *SHost) GetGuests() []SGuest { return guests } +func (self *SHost) GetKvmGuests() []SGuest { + q := GuestManager.Query().Equals("host_id", self.Id).Equals("hypervisor", api.HYPERVISOR_KVM) + guests := make([]SGuest, 0) + err := db.FetchModelObjects(GuestManager, q, &guests) + if err != nil { + log.Errorf("GetGuests %s", err) + return nil + } + return guests +} + func (self *SHost) GetGuestsMasterOnThisHost() []SGuest { q := self.GetGuestsQuery().IsNotEmpty("backup_host_id") guests := make([]SGuest, 0) @@ -4911,7 +4922,7 @@ func (host *SHost) PerformHostMaintenance(ctx context.Context, userCred mcclient preferHostId = host.Id } - guests := host.GetGuests() + guests := host.GetKvmGuests() for i := 0; i < len(guests); i++ { lockman.LockObject(ctx, &guests[i]) defer lockman.ReleaseObject(ctx, &guests[i])