in pkg/noderesourcetopology/score.go [161:185]
func (tm *TopologyMatch) scoringHandlerFromTopologyManagerConfig(conf TopologyManagerConfig) scoringFn {
if tm.scoreStrategyType == apiconfig.LeastNUMANodes {
if conf.Scope == kubeletconfig.PodTopologyManagerScope {
return leastNUMAPodScopeScore
}
if conf.Scope == kubeletconfig.ContainerTopologyManagerScope {
return leastNUMAContainerScopeScore
}
return nil // cannot happen
}
if conf.Policy != kubeletconfig.SingleNumaNodeTopologyManagerPolicy {
return nil
}
if conf.Scope == kubeletconfig.PodTopologyManagerScope {
return func(lh logr.Logger, pod *v1.Pod, zones topologyv1alpha2.ZoneList) (int64, *framework.Status) {
return podScopeScore(lh, pod, zones, tm.scoreStrategyFunc, tm.resourceToWeightMap)
}
}
if conf.Scope == kubeletconfig.ContainerTopologyManagerScope {
return func(lh logr.Logger, pod *v1.Pod, zones topologyv1alpha2.ZoneList) (int64, *framework.Status) {
return containerScopeScore(lh, pod, zones, tm.scoreStrategyFunc, tm.resourceToWeightMap)
}
}
return nil // cannot happen
}