diff --git a/pkg/kubelet/cm/memorymanager/BUILD b/pkg/kubelet/cm/memorymanager/BUILD index 200bab3364a..4d0552e2a82 100644 --- a/pkg/kubelet/cm/memorymanager/BUILD +++ b/pkg/kubelet/cm/memorymanager/BUILD @@ -41,7 +41,9 @@ go_test( "//pkg/kubelet/cm/memorymanager/state:go_default_library", "//pkg/kubelet/cm/topologymanager:go_default_library", "//pkg/kubelet/cm/topologymanager/bitmask:go_default_library", + "//pkg/kubelet/lifecycle:go_default_library", "//pkg/kubelet/types:go_default_library", + "//pkg/kubelet/util/format:go_default_library", "//staging/src/k8s.io/api/core/v1:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/api/resource:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", diff --git a/pkg/kubelet/cm/memorymanager/policy_static_test.go b/pkg/kubelet/cm/memorymanager/policy_static_test.go index 612e2417de4..bf2a66fca2b 100644 --- a/pkg/kubelet/cm/memorymanager/policy_static_test.go +++ b/pkg/kubelet/cm/memorymanager/policy_static_test.go @@ -29,6 +29,8 @@ import ( "k8s.io/kubernetes/pkg/kubelet/cm/memorymanager/state" "k8s.io/kubernetes/pkg/kubelet/cm/topologymanager" "k8s.io/kubernetes/pkg/kubelet/cm/topologymanager/bitmask" + "k8s.io/kubernetes/pkg/kubelet/lifecycle" + "k8s.io/kubernetes/pkg/kubelet/util/format" ) const ( @@ -65,6 +67,43 @@ var ( } ) +type fakeTopologyManagerWithHint struct { + hint *topologymanager.TopologyHint +} + +// NewFakeTopologyManagerWithHint returns an instance of fake topology manager with specified topology hints +func NewFakeTopologyManagerWithHint(hint *topologymanager.TopologyHint) topologymanager.Manager { + return &fakeTopologyManagerWithHint{ + hint: hint, + } +} + +func (m *fakeTopologyManagerWithHint) AddHintProvider(h topologymanager.HintProvider) { + klog.Infof("[fake topologymanager] AddHintProvider HintProvider: %v", h) +} + +func (m *fakeTopologyManagerWithHint) AddContainer(pod *v1.Pod, containerID string) error { + klog.Infof("[fake topologymanager] AddContainer pod: %v container id: %v", format.Pod(pod), containerID) + return nil +} + +func (m *fakeTopologyManagerWithHint) RemoveContainer(containerID string) error { + klog.Infof("[fake topologymanager] RemoveContainer container id: %v", containerID) + return nil +} + +func (m *fakeTopologyManagerWithHint) Admit(attrs *lifecycle.PodAdmitAttributes) lifecycle.PodAdmitResult { + klog.Infof("[fake topologymanager] Topology Admit Handler") + return lifecycle.PodAdmitResult{ + Admit: true, + } +} + +func (m *fakeTopologyManagerWithHint) GetAffinity(podUID string, containerName string) topologymanager.TopologyHint { + klog.Infof("[fake topologymanager] GetAffinity podUID: %v container name: %v", podUID, containerName) + return *m.hint +} + func areMemoryBlocksEqual(mb1, mb2 []state.Block) bool { if len(mb1) != len(mb2) { return false @@ -132,7 +171,7 @@ type testStaticPolicy struct { func initTests(testCase *testStaticPolicy, hint *topologymanager.TopologyHint) (Policy, state.State, error) { manager := topologymanager.NewFakeManager() if hint != nil { - manager = topologymanager.NewFakeManagerWithHint(hint) + manager = NewFakeTopologyManagerWithHint(hint) } p, err := NewPolicyStatic(testCase.machineInfo, testCase.systemReserved, manager) diff --git a/pkg/kubelet/cm/topologymanager/fake_topology_manager.go b/pkg/kubelet/cm/topologymanager/fake_topology_manager.go index f843f24afe6..a21e50c555a 100644 --- a/pkg/kubelet/cm/topologymanager/fake_topology_manager.go +++ b/pkg/kubelet/cm/topologymanager/fake_topology_manager.go @@ -17,7 +17,7 @@ limitations under the License. package topologymanager import ( - v1 "k8s.io/api/core/v1" + "k8s.io/api/core/v1" "k8s.io/klog/v2" "k8s.io/kubernetes/pkg/kubelet/lifecycle" "k8s.io/kubernetes/pkg/kubelet/util/format" @@ -56,21 +56,3 @@ func (m *fakeManager) Admit(attrs *lifecycle.PodAdmitAttributes) lifecycle.PodAd Admit: true, } } - -type fakeManagerWithHint struct { - fakeManager - hint *TopologyHint -} - -// NewFakeManagerWithHint returns an instance of FakeManager with specified topology hints -func NewFakeManagerWithHint(hint *TopologyHint) Manager { - return &fakeManagerWithHint{ - fakeManager: fakeManager{}, - hint: hint, - } -} - -func (m *fakeManagerWithHint) GetAffinity(podUID string, containerName string) TopologyHint { - klog.Infof("[fake topologymanager] GetAffinity podUID: %v container name: %v", podUID, containerName) - return *m.hint -}