diff --git a/pkg/kubelet/cm/topologymanager/policy_single_numa_node.go b/pkg/kubelet/cm/topologymanager/policy_single_numa_node.go index 1d672a99cb2..e17e5ca949c 100644 --- a/pkg/kubelet/cm/topologymanager/policy_single_numa_node.go +++ b/pkg/kubelet/cm/topologymanager/policy_single_numa_node.go @@ -37,7 +37,7 @@ func (p *singleNumaNodePolicy) Name() string { } func (p *singleNumaNodePolicy) CanAdmitPodResult(hint *TopologyHint) lifecycle.PodAdmitResult { - if !hint.Preferred || hint.NUMANodeAffinity.Count() > 1 { + if !hint.Preferred { return lifecycle.PodAdmitResult{ Admit: false, Reason: "Topology Affinity Error", diff --git a/pkg/kubelet/cm/topologymanager/policy_single_numa_node_test.go b/pkg/kubelet/cm/topologymanager/policy_single_numa_node_test.go index 7525b99949c..44ea8370edd 100644 --- a/pkg/kubelet/cm/topologymanager/policy_single_numa_node_test.go +++ b/pkg/kubelet/cm/topologymanager/policy_single_numa_node_test.go @@ -31,16 +31,6 @@ func TestPolicySingleNumaNodeCanAdmitPodResult(t *testing.T) { hint: TopologyHint{nil, false}, expected: false, }, - { - name: "NUMANodeAffinity has multiple NUMA Nodes masked in topology hints", - hint: TopologyHint{NewTestBitMask(0, 1), true}, - expected: false, - }, - { - name: "NUMANodeAffinity has one NUMA Node masked in topology hints", - hint: TopologyHint{NewTestBitMask(0), true}, - expected: true, - }, } for _, tc := range tcases { diff --git a/pkg/kubelet/cm/topologymanager/topology_manager_test.go b/pkg/kubelet/cm/topologymanager/topology_manager_test.go index 4d6e7d85e0e..50c122cf460 100644 --- a/pkg/kubelet/cm/topologymanager/topology_manager_test.go +++ b/pkg/kubelet/cm/topologymanager/topology_manager_test.go @@ -857,6 +857,24 @@ func TestAdmit(t *testing.T) { hp: []HintProvider{}, expected: true, }, + { + name: "QOSClass set as BestEffort. single-numa-node Policy. No Hints.", + qosClass: v1.PodQOSBestEffort, + policy: NewRestrictedPolicy(), + hp: []HintProvider{ + &mockHintProvider{}, + }, + expected: true, + }, + { + name: "QOSClass set as BestEffort. Restricted Policy. No Hints.", + qosClass: v1.PodQOSBestEffort, + policy: NewRestrictedPolicy(), + hp: []HintProvider{ + &mockHintProvider{}, + }, + expected: true, + }, { name: "QOSClass set as Guaranteed. BestEffort Policy. Preferred Affinity.", qosClass: v1.PodQOSGuaranteed,