mirror of
https://github.com/yunionio/cloudpods.git
synced 2026-09-24 16:03:43 +08:00
Automatic merge from release/2.0.0 -> release/2.1.0
* commit '3ec448a8c47931322a571d7076412b0752b21c0b': guestnetworks, hostnetworks: avoid subquery in get by address call
This commit is contained in:
@@ -263,9 +263,10 @@ func (self *SGuestnetwork) GetJsonDescAtHost(host *SHost) jsonutils.JSONObject {
|
||||
}
|
||||
|
||||
func (manager *SGuestnetworkManager) GetGuestByAddress(address string) *SGuest {
|
||||
networks := manager.Query().SubQuery()
|
||||
networks := manager.TableSpec().Instance()
|
||||
guests := GuestManager.Query()
|
||||
q := guests.Join(networks, sqlchemy.AND(
|
||||
sqlchemy.IsFalse(networks.Field("deleted")),
|
||||
sqlchemy.Equals(networks.Field("ip_addr"), address),
|
||||
sqlchemy.Equals(networks.Field("guest_id"), guests.Field("id")),
|
||||
))
|
||||
|
||||
@@ -107,9 +107,10 @@ func (man *SHostnetworkManager) GetNetworkByAddress(addr string) *SNetwork {
|
||||
}
|
||||
|
||||
func (man *SHostnetworkManager) GetHostByAddress(addr string) *SHost {
|
||||
networks := man.Query().SubQuery()
|
||||
networks := man.TableSpec().Instance()
|
||||
hosts := HostManager.Query()
|
||||
q := hosts.Join(networks, sqlchemy.AND(
|
||||
sqlchemy.IsFalse(networks.Field("deleted")),
|
||||
sqlchemy.Equals(networks.Field("ip_addr"), addr),
|
||||
sqlchemy.Equals(networks.Field("baremetal_id"), hosts.Field("id")),
|
||||
))
|
||||
|
||||
Reference in New Issue
Block a user