Merge pull request #349 in YUNIONIO/onecloud from ~QUXUAN/onecloud:hotfix/qx-guestnetwork to release/2.1.0

* commit '532c41e5a8d65e8fbe293e47e6af8d0f211cb55e':
  避免有重复ip时覆盖部分guest ip
This commit is contained in:
邱剑
2018-10-23 22:21:59 +08:00
2 changed files with 4 additions and 4 deletions
+3 -3
View File
@@ -338,10 +338,10 @@ func (manager *SGuestnetworkManager) DeleteGuestNics(ctx context.Context, guest
return nil
}
func (manager *SGuestnetworkManager) getGuestNicByIP(ip string) (*SGuestnetwork, error) {
func (manager *SGuestnetworkManager) getGuestNicByIP(ip string, networkId string) (*SGuestnetwork, error) {
gn := SGuestnetwork{}
q := manager.Query()
q = q.Equals("ip_addr", ip)
q = q.Equals("ip_addr", ip).Equals("network_id", networkId)
err := q.First(&gn)
if err != nil {
if err != sql.ErrNoRows {
@@ -578,4 +578,4 @@ func (manager *SGuestnetworkManager) getRecentlyReleasedIPAddresses(networkId st
}
}
return ret
}
}
+1 -1
View File
@@ -1652,7 +1652,7 @@ func (self *SGuest) SyncVMNics(ctx context.Context, userCred mcclient.TokenCrede
continue // cannot determine which network it attached to
}
// check if the IP has been occupied, if yes, release the IP
gn, err := GuestnetworkManager.getGuestNicByIP(add.nic.GetIP())
gn, err := GuestnetworkManager.getGuestNicByIP(add.nic.GetIP(), add.net.Id)
if err != nil {
result.AddError(err)
continue