Skip to content

Commit 6e72604

Browse files
debug cnr patch issue
1 parent fdfc34b commit 6e72604

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

pkg/util/cnr.go

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -221,6 +221,25 @@ func MatchCNRTaint(taintToMatch apis.Taint, taint *apis.Taint) bool {
221221
func MergeResources(dst, src apis.Resources) apis.Resources {
222222
dst.Capacity = native.MergeResources(dst.Capacity, src.Capacity)
223223
dst.Allocatable = native.MergeResources(dst.Allocatable, src.Allocatable)
224+
dst.ResourcePackages = mergeResourcePackages(dst.ResourcePackages, src.ResourcePackages)
225+
return dst
226+
}
227+
228+
// mergeResourcePackages merge two resource packages, returns the merged result.
229+
func mergeResourcePackages(dst, src []apis.ResourcePackage) []apis.ResourcePackage {
230+
dstPkgIdx := make(map[string]int, len(dst))
231+
for i, pkg := range dst {
232+
dstPkgIdx[pkg.PackageName] = i
233+
}
234+
235+
for _, srcPkg := range src {
236+
if idx, ok := dstPkgIdx[srcPkg.PackageName]; ok {
237+
dst[idx].Allocatable = native.MergeResources(dst[idx].Allocatable, srcPkg.Allocatable)
238+
} else {
239+
dst = append(dst, srcPkg)
240+
dstPkgIdx[srcPkg.PackageName] = len(dst) - 1
241+
}
242+
}
224243
return dst
225244
}
226245

0 commit comments

Comments
 (0)