From 595fd8b3a9430961aacda980545d9f91e15597fd Mon Sep 17 00:00:00 2001 From: ioito Date: Thu, 23 Dec 2021 18:27:49 +0800 Subject: [PATCH] =?UTF-8?q?fix(region):=20=E5=AF=B9=E7=AD=89=E8=BF=9E?= =?UTF-8?q?=E6=8E=A5=E5=90=8C=E6=AD=A5=E7=8A=B6=E6=80=81=E6=81=A2=E5=A4=8D?= =?UTF-8?q?=E5=AF=B9=E7=AB=AFid?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/compute/models/vpc_peering_connections.go | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/pkg/compute/models/vpc_peering_connections.go b/pkg/compute/models/vpc_peering_connections.go index 9de1e833e8..c1f98343c5 100644 --- a/pkg/compute/models/vpc_peering_connections.go +++ b/pkg/compute/models/vpc_peering_connections.go @@ -355,11 +355,23 @@ func (self *SVpcPeeringConnection) syncRemove(ctx context.Context, userCred mccl } func (self *SVpcPeeringConnection) SyncWithCloudPeerConnection(ctx context.Context, userCred mcclient.TokenCredential, ext cloudprovider.ICloudVpcPeeringConnection, provider *SCloudprovider) error { - _, err := db.Update(self, func() error { + vpc, err := self.GetVpc() + if err != nil { + return errors.Wrapf(err, "GetVpc") + } + _, err = db.Update(self, func() error { self.Status = ext.GetStatus() self.ExternalId = ext.GetGlobalId() self.ExtPeerVpcId = ext.GetPeerVpcId() self.ExtPeerAccountId = ext.GetPeerAccountId() + peerVpc, _ := db.FetchByExternalIdAndManagerId(VpcManager, self.ExtPeerVpcId, func(q *sqlchemy.SQuery) *sqlchemy.SQuery { + managerQ := CloudproviderManager.Query("id").Equals("provider", vpc.GetProviderName()) + return q.In("manager_id", managerQ.SubQuery()) + }) + if peerVpc != nil { + self.PeerVpcId = peerVpc.GetId() + } + return nil }) if err != nil {