From 532c41e5a8d65e8fbe293e47e6af8d0f211cb55e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B1=88=E8=BD=A9?= Date: Tue, 23 Oct 2018 22:15:03 +0800 Subject: [PATCH] =?UTF-8?q?=E9=81=BF=E5=85=8D=E6=9C=89=E9=87=8D=E5=A4=8Dip?= =?UTF-8?q?=E6=97=B6=E8=A6=86=E7=9B=96=E9=83=A8=E5=88=86guest=20ip?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/compute/models/guestnetworks.go | 6 +++--- pkg/compute/models/guests.go | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pkg/compute/models/guestnetworks.go b/pkg/compute/models/guestnetworks.go index b2cc9b7df5..4fe7a290a0 100644 --- a/pkg/compute/models/guestnetworks.go +++ b/pkg/compute/models/guestnetworks.go @@ -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 -} \ No newline at end of file +} diff --git a/pkg/compute/models/guests.go b/pkg/compute/models/guests.go index 2c8f06fe80..2ea38009ac 100644 --- a/pkg/compute/models/guests.go +++ b/pkg/compute/models/guests.go @@ -1635,7 +1635,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