Skip to content

Commit e766b04

Browse files
committed
node: cm: use maps.Clone instead of reinvent it
As pointed out in kubernetes#128657 (comment) Signed-off-by: Francesco Romani <[email protected]>
1 parent 814e2c8 commit e766b04

File tree

4 files changed

+6
-46
lines changed

4 files changed

+6
-46
lines changed

pkg/kubelet/cm/containermap/container_map.go

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ package containermap
1818

1919
import (
2020
"fmt"
21+
"maps"
2122
)
2223

2324
// cmItem (ContainerMap ITEM) is a pair podUID, containerName
@@ -36,11 +37,7 @@ func NewContainerMap() ContainerMap {
3637

3738
// Clone creates a deep copy of the ContainerMap
3839
func (cm ContainerMap) Clone() ContainerMap {
39-
ret := make(ContainerMap, len(cm))
40-
for key, val := range cm {
41-
ret[key] = val
42-
}
43-
return ret
40+
return maps.Clone(cm)
4441
}
4542

4643
// Add adds a mapping of (containerID)->(podUID, containerName) to the ContainerMap

pkg/kubelet/cm/containermap/container_map_test.go

Lines changed: 0 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -20,22 +20,6 @@ import (
2020
"testing"
2121
)
2222

23-
func TestContainerMapCloneEqual(t *testing.T) {
24-
cm := NewContainerMap()
25-
// add random fake data
26-
cm.Add("fakePodUID-1", "fakeContainerName-a1", "fakeContainerID-A")
27-
cm.Add("fakePodUID-2", "fakeContainerName-b2", "fakeContainerID-B")
28-
cm.Add("fakePodUID-2", "fakeContainerName-c2", "fakeContainerID-C")
29-
cm.Add("fakePodUID-3", "fakeContainerName-d3", "fakeContainerID-D")
30-
cm.Add("fakePodUID-3", "fakeContainerName-e3", "fakeContainerID-E")
31-
cm.Add("fakePodUID-3", "fakeContainerName-f3", "fakeContainerID-F")
32-
33-
cloned := cm.Clone()
34-
if !areEqual(cm, cloned) {
35-
t.Fatalf("clone %+#v different from original %+#v", cloned, cm)
36-
}
37-
}
38-
3923
func TestContainerMapCloneUnshared(t *testing.T) {
4024
cm := NewContainerMap()
4125
// add random fake data
@@ -143,19 +127,3 @@ func TestContainerMap(t *testing.T) {
143127
}
144128
}
145129
}
146-
147-
func areEqual(cm1, cm2 ContainerMap) bool {
148-
if len(cm1) != len(cm2) {
149-
return false
150-
}
151-
for key1, item1 := range cm1 {
152-
item2, ok := cm2[key1]
153-
if !ok {
154-
return false
155-
}
156-
if item1 != item2 {
157-
return false
158-
}
159-
}
160-
return true
161-
}

pkg/kubelet/cm/cpumanager/cpu_assignment.go

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ package cpumanager
1818

1919
import (
2020
"fmt"
21+
"maps"
2122
"math"
2223
"sort"
2324

@@ -39,11 +40,7 @@ const (
3940
type mapIntInt map[int]int
4041

4142
func (m mapIntInt) Clone() mapIntInt {
42-
cp := make(mapIntInt, len(m))
43-
for k, v := range m {
44-
cp[k] = v
45-
}
46-
return cp
43+
return maps.Clone(m)
4744
}
4845

4946
func (m mapIntInt) Keys() []int {

pkg/kubelet/cm/devicemanager/pod_devices.go

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ limitations under the License.
1717
package devicemanager
1818

1919
import (
20+
"maps"
2021
"sync"
2122

2223
"k8s.io/klog/v2"
@@ -429,10 +430,7 @@ func NewResourceDeviceInstances() ResourceDeviceInstances {
429430
func (rdev ResourceDeviceInstances) Clone() ResourceDeviceInstances {
430431
clone := NewResourceDeviceInstances()
431432
for resourceName, resourceDevs := range rdev {
432-
clone[resourceName] = make(map[string]pluginapi.Device)
433-
for devID, dev := range resourceDevs {
434-
clone[resourceName][devID] = dev
435-
}
433+
clone[resourceName] = maps.Clone(resourceDevs)
436434
}
437435
return clone
438436
}

0 commit comments

Comments
 (0)