fix(region): vpc topology scope with system

This commit is contained in:
ioito
2021-12-28 16:19:05 +08:00
parent 2184959ef2
commit 25f71da5ec
3 changed files with 4 additions and 4 deletions
+1
View File
@@ -139,6 +139,7 @@ type HostnetworkTopologyOutput struct {
type HostTopologyOutput struct {
Name string `json:"name"`
Id string `json:"id"`
Status string `json:"status"`
HostStatus string `json:"host_status"`
HostType string `json:"host_type"`
+2 -1
View File
@@ -1754,6 +1754,7 @@ func (self *SVpc) GetDetailsTopology(ctx context.Context, userCred mcclient.Toke
hns := hosts[i].GetBaremetalnetworks()
host := api.HostTopologyOutput{
Name: hosts[i].Name,
Id: hosts[i].Id,
Status: hosts[i].Status,
HostStatus: hosts[i].HostStatus,
HostType: hosts[i].HostType,
@@ -1785,7 +1786,7 @@ func (self *SVpc) GetDetailsTopology(ctx context.Context, userCred mcclient.Toke
netAddrs := make([]api.SNetworkUsedAddress, 0)
q := networks[j].getUsedAddressQuery(userCred, rbacutils.ScopeDomain, false)
q := networks[j].getUsedAddressQuery(userCred, rbacutils.ScopeSystem, false)
err = q.All(&netAddrs)
if err != nil {
return nil, errors.Wrapf(err, "q.All")
+1 -3
View File
@@ -252,9 +252,7 @@ func (wire *SWire) GetHostwires() ([]SHostwire, error) {
}
func (self *SWire) GetHosts() ([]SHost, error) {
networks := NetworkManager.Query().Equals("wire_id", self.Id).SubQuery()
hns := HostnetworkManager.Query("baremetal_id")
sq := hns.Join(networks, sqlchemy.Equals(hns.Field("network_id"), networks.Field("id"))).SubQuery()
sq := HostwireManager.Query("host_id").Equals("wire_id", self.Id)
q := HostManager.Query().In("id", sq)
hosts := []SHost{}
err := db.FetchModelObjects(HostManager, q, &hosts)