fix: baremetal usage should exclude converted hypervisor

This commit is contained in:
Qiu Jian
2020-11-15 01:39:42 +08:00
parent a525fabe47
commit 8fcc85745d
+9 -3
View File
@@ -2507,11 +2507,17 @@ func (manager *SHostManager) totalCountQ(
q = q.Filter(cond(hosts.Field("enabled")))
}
if !isBaremetal.IsNone() {
cond := sqlchemy.IsFalse
if isBaremetal.Bool() {
cond = sqlchemy.IsTrue
q = q.Filter(sqlchemy.AND(
sqlchemy.IsTrue(hosts.Field("is_baremetal")),
sqlchemy.Equals(hosts.Field("host_type"), api.HOST_TYPE_BAREMETAL),
))
} else {
q = q.Filter(sqlchemy.OR(
sqlchemy.IsFalse(hosts.Field("is_baremetal")),
sqlchemy.NotEquals(hosts.Field("host_type"), api.HOST_TYPE_BAREMETAL),
))
}
q = q.Filter(cond(hosts.Field("is_baremetal")))
}
isolatedDevices := IsolatedDeviceManager.Query().SubQuery()
iq := isolatedDevices.Query(