Automatic merge from release/2.2.0 -> release/2.3.0

* commit '75dc6762ad31470e851759d717452f5cf53fc2e6':
  避免有重复ip时覆盖部分guest ip
This commit is contained in:
邱剑
2018-10-23 22:22:00 +08:00
2 changed files with 3 additions and 3 deletions
+2 -2
View File
@@ -345,10 +345,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 {
+1 -1
View File
@@ -1685,7 +1685,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