mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-22 03:11:40 +00:00
Merge pull request #112387 from mythi/kubelet-devicemanager-topologyinfo
devicemanager: do not leak empty TopologyInfo to TopologyManager
This commit is contained in:
commit
c45ca46cdb
@ -137,9 +137,9 @@ func (m *ManagerImpl) GetPodTopologyHints(pod *v1.Pod) map[string][]topologymana
|
||||
}
|
||||
|
||||
func (m *ManagerImpl) deviceHasTopologyAlignment(resource string) bool {
|
||||
// If any device has Topology set, we assume they care about alignment.
|
||||
for device := range m.allDevices[resource] {
|
||||
if m.allDevices[resource][device].Topology != nil {
|
||||
// If any device has Topology NUMANodes available, we assume they care about alignment.
|
||||
for _, device := range m.allDevices[resource] {
|
||||
if device.Topology != nil && len(device.Topology.Nodes) > 0 {
|
||||
return true
|
||||
}
|
||||
}
|
||||
|
@ -102,7 +102,7 @@ func TestGetTopologyHints(t *testing.T) {
|
||||
return tc.expectedHints[r][i].LessThan(tc.expectedHints[r][j])
|
||||
})
|
||||
if !reflect.DeepEqual(hints[r], tc.expectedHints[r]) {
|
||||
t.Errorf("%v: Expected result to be %v, got %v", tc.description, tc.expectedHints[r], hints[r])
|
||||
t.Errorf("%v: Expected result to be %#v, got %#v", tc.description, tc.expectedHints[r], hints[r])
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1006,6 +1006,8 @@ func getCommonTestCases() []topologyHintTestCase {
|
||||
"testdevice": {
|
||||
{ID: "Dev1"},
|
||||
{ID: "Dev2"},
|
||||
{ID: "Dev3", Topology: &pluginapi.TopologyInfo{Nodes: []*pluginapi.NUMANode{}}},
|
||||
{ID: "Dev4", Topology: &pluginapi.TopologyInfo{Nodes: nil}},
|
||||
},
|
||||
},
|
||||
expectedHints: map[string][]topologymanager.TopologyHint{
|
||||
|
Loading…
Reference in New Issue
Block a user