From 503735ebf5679175ec2311577247363f8d0af638 Mon Sep 17 00:00:00 2001 From: Yousong Zhou Date: Mon, 27 Apr 2020 19:27:18 +0800 Subject: [PATCH] vpcagent: ad-hoc replacement for db.FindByIndex() --- pkg/vpcagent/ovn/cmp.go | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/pkg/vpcagent/ovn/cmp.go b/pkg/vpcagent/ovn/cmp.go index a84320d4d5..6bff5505cd 100644 --- a/pkg/vpcagent/ovn/cmp.go +++ b/pkg/vpcagent/ovn/cmp.go @@ -9,11 +9,23 @@ import ( // 2nd value the args to destroy these found records func cmp(db *ovnutil.OVNNorthbound, ocver string, irows ...ovnutil.IRow) (bool, []string) { irowsFound := make([]ovnutil.IRow, 0, len(irows)) + irowsDiff := make([]ovnutil.IRow, 0) for _, irow := range irows { irowFound := db.FindOneMatchNonZeros(irow) if irowFound != nil { irowsFound = append(irowsFound, irowFound) + } else { + // TODO db.FindByIndex() + switch row := irow.(type) { + case *ovnutil.LogicalSwitchPort: + rowQ := &ovnutil.LogicalSwitchPort{ + Name: row.Name, + } + if irow := db.FindOneMatchNonZeros(rowQ); irow != nil { + irowsDiff = append(irowsDiff, irow) + } + } } } // mark them anyway even if not all found, to avoid the destroy @@ -25,5 +37,6 @@ func cmp(db *ovnutil.OVNNorthbound, ocver string, irows ...ovnutil.IRow) (bool, return true, nil } args := ovnutil.OvnNbctlArgsDestroy(irowsFound) + args = append(args, ovnutil.OvnNbctlArgsDestroy(irowsDiff)...) return false, args }