diff --git a/pkg/kubelet/cm/containermap/container_map.go b/pkg/kubelet/cm/containermap/container_map.go index 1d3fce813b9..dc01f6ec7fd 100644 --- a/pkg/kubelet/cm/containermap/container_map.go +++ b/pkg/kubelet/cm/containermap/container_map.go @@ -18,6 +18,7 @@ package containermap import ( "fmt" + "maps" ) // cmItem (ContainerMap ITEM) is a pair podUID, containerName @@ -36,11 +37,7 @@ func NewContainerMap() ContainerMap { // Clone creates a deep copy of the ContainerMap func (cm ContainerMap) Clone() ContainerMap { - ret := make(ContainerMap, len(cm)) - for key, val := range cm { - ret[key] = val - } - return ret + return maps.Clone(cm) } // Add adds a mapping of (containerID)->(podUID, containerName) to the ContainerMap diff --git a/pkg/kubelet/cm/containermap/container_map_test.go b/pkg/kubelet/cm/containermap/container_map_test.go index 737bfa20989..0e6d1211c8c 100644 --- a/pkg/kubelet/cm/containermap/container_map_test.go +++ b/pkg/kubelet/cm/containermap/container_map_test.go @@ -20,22 +20,6 @@ import ( "testing" ) -func TestContainerMapCloneEqual(t *testing.T) { - cm := NewContainerMap() - // add random fake data - cm.Add("fakePodUID-1", "fakeContainerName-a1", "fakeContainerID-A") - cm.Add("fakePodUID-2", "fakeContainerName-b2", "fakeContainerID-B") - cm.Add("fakePodUID-2", "fakeContainerName-c2", "fakeContainerID-C") - cm.Add("fakePodUID-3", "fakeContainerName-d3", "fakeContainerID-D") - cm.Add("fakePodUID-3", "fakeContainerName-e3", "fakeContainerID-E") - cm.Add("fakePodUID-3", "fakeContainerName-f3", "fakeContainerID-F") - - cloned := cm.Clone() - if !areEqual(cm, cloned) { - t.Fatalf("clone %+#v different from original %+#v", cloned, cm) - } -} - func TestContainerMapCloneUnshared(t *testing.T) { cm := NewContainerMap() // add random fake data @@ -143,19 +127,3 @@ func TestContainerMap(t *testing.T) { } } } - -func areEqual(cm1, cm2 ContainerMap) bool { - if len(cm1) != len(cm2) { - return false - } - for key1, item1 := range cm1 { - item2, ok := cm2[key1] - if !ok { - return false - } - if item1 != item2 { - return false - } - } - return true -} diff --git a/pkg/kubelet/cm/cpumanager/cpu_assignment.go b/pkg/kubelet/cm/cpumanager/cpu_assignment.go index b4abf37124f..27afabefa42 100644 --- a/pkg/kubelet/cm/cpumanager/cpu_assignment.go +++ b/pkg/kubelet/cm/cpumanager/cpu_assignment.go @@ -18,6 +18,7 @@ package cpumanager import ( "fmt" + "maps" "math" "sort" @@ -39,11 +40,7 @@ const ( type mapIntInt map[int]int func (m mapIntInt) Clone() mapIntInt { - cp := make(mapIntInt, len(m)) - for k, v := range m { - cp[k] = v - } - return cp + return maps.Clone(m) } func (m mapIntInt) Keys() []int { diff --git a/pkg/kubelet/cm/devicemanager/pod_devices.go b/pkg/kubelet/cm/devicemanager/pod_devices.go index 13dcae0fcab..806ab3c616d 100644 --- a/pkg/kubelet/cm/devicemanager/pod_devices.go +++ b/pkg/kubelet/cm/devicemanager/pod_devices.go @@ -17,6 +17,7 @@ limitations under the License. package devicemanager import ( + "maps" "sync" "k8s.io/klog/v2" @@ -429,10 +430,7 @@ func NewResourceDeviceInstances() ResourceDeviceInstances { func (rdev ResourceDeviceInstances) Clone() ResourceDeviceInstances { clone := NewResourceDeviceInstances() for resourceName, resourceDevs := range rdev { - clone[resourceName] = make(map[string]pluginapi.Device) - for devID, dev := range resourceDevs { - clone[resourceName][devID] = dev - } + clone[resourceName] = maps.Clone(resourceDevs) } return clone }