From ddfd9ac0caad35707b18d3860fc74dbe7f948278 Mon Sep 17 00:00:00 2001 From: Kevin Klues Date: Wed, 28 Aug 2019 17:32:25 -0500 Subject: [PATCH] Fix bug in CPUManager with setting topology for policies Also add a check in the unit tests to avoid regressions --- pkg/kubelet/cm/cpumanager/cpu_manager.go | 2 +- pkg/kubelet/cm/cpumanager/cpu_manager_test.go | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/pkg/kubelet/cm/cpumanager/cpu_manager.go b/pkg/kubelet/cm/cpumanager/cpu_manager.go index 0efe986ed88..877b71dd353 100644 --- a/pkg/kubelet/cm/cpumanager/cpu_manager.go +++ b/pkg/kubelet/cm/cpumanager/cpu_manager.go @@ -113,7 +113,7 @@ func NewManager(cpuPolicyName string, reconcilePeriod time.Duration, machineInfo case PolicyStatic: var err error - topo, err := topology.Discover(machineInfo, numaNodeInfo) + topo, err = topology.Discover(machineInfo, numaNodeInfo) if err != nil { return nil, err } diff --git a/pkg/kubelet/cm/cpumanager/cpu_manager_test.go b/pkg/kubelet/cm/cpumanager/cpu_manager_test.go index 92e5792fe3f..09347718475 100644 --- a/pkg/kubelet/cm/cpumanager/cpu_manager_test.go +++ b/pkg/kubelet/cm/cpumanager/cpu_manager_test.go @@ -353,6 +353,16 @@ func TestCPUManagerGenerate(t *testing.T) { if rawMgr.policy.Name() != testCase.expectedPolicy { t.Errorf("Unexpected policy name. Have: %q wants %q", rawMgr.policy.Name(), testCase.expectedPolicy) } + if rawMgr.policy.Name() == string(PolicyNone) { + if rawMgr.topology != nil { + t.Errorf("Expected topology to be nil for 'none' policy. Have: %q", rawMgr.topology) + } + } + if rawMgr.policy.Name() != string(PolicyNone) { + if rawMgr.topology == nil { + t.Errorf("Expected topology to be non-nil for policy '%v'. Have: %q", rawMgr.policy.Name(), rawMgr.topology) + } + } } })