diff --git a/pkg/kubelet/cm/cpumanager/topology/topology.go b/pkg/kubelet/cm/cpumanager/topology/topology.go index ac733001070..1475f758959 100644 --- a/pkg/kubelet/cm/cpumanager/topology/topology.go +++ b/pkg/kubelet/cm/cpumanager/topology/topology.go @@ -245,7 +245,7 @@ func Discover(machineInfo *cadvisorapi.MachineInfo) (*CPUTopology, error) { return &CPUTopology{ NumCPUs: machineInfo.NumCores, - NumSockets: len(machineInfo.Topology), + NumSockets: machineInfo.NumSockets, NumCores: numPhysicalCores, CPUDetails: CPUDetails, }, nil diff --git a/pkg/kubelet/cm/cpumanager/topology/topology_test.go b/pkg/kubelet/cm/cpumanager/topology/topology_test.go index fe9375e4153..01357703b39 100644 --- a/pkg/kubelet/cm/cpumanager/topology/topology_test.go +++ b/pkg/kubelet/cm/cpumanager/topology/topology_test.go @@ -42,7 +42,8 @@ func Test_Discover(t *testing.T) { { name: "OneSocketHT", machineInfo: cadvisorapi.MachineInfo{ - NumCores: 8, + NumCores: 8, + NumSockets: 1, Topology: []cadvisorapi.Node{ {Id: 0, Cores: []cadvisorapi.Core{ @@ -74,7 +75,8 @@ func Test_Discover(t *testing.T) { { name: "DualSocketNoHT", machineInfo: cadvisorapi.MachineInfo{ - NumCores: 4, + NumCores: 4, + NumSockets: 2, Topology: []cadvisorapi.Node{ {Id: 0, Cores: []cadvisorapi.Core{ @@ -106,7 +108,8 @@ func Test_Discover(t *testing.T) { { name: "DualSocketHT - non unique Core'ID's", machineInfo: cadvisorapi.MachineInfo{ - NumCores: 12, + NumCores: 12, + NumSockets: 2, Topology: []cadvisorapi.Node{ {Id: 0, Cores: []cadvisorapi.Core{ @@ -148,7 +151,8 @@ func Test_Discover(t *testing.T) { { name: "OneSocketHT fail", machineInfo: cadvisorapi.MachineInfo{ - NumCores: 8, + NumCores: 8, + NumSockets: 1, Topology: []cadvisorapi.Node{ {Id: 0, Cores: []cadvisorapi.Core{ @@ -166,7 +170,8 @@ func Test_Discover(t *testing.T) { { name: "OneSocketHT fail", machineInfo: cadvisorapi.MachineInfo{ - NumCores: 8, + NumCores: 8, + NumSockets: 1, Topology: []cadvisorapi.Node{ {Id: 0, Cores: []cadvisorapi.Core{