Skip to content

Commit 230fc67

Browse files
committed
topology-updater: Track new resources not present during startup
If a device plugin registers itself with kubelet after NFD topology-updater is already running the NRT will never be updated with new resources. Signed-off-by: Oleg Zhurakivskyy <[email protected]>
1 parent d963cd3 commit 230fc67

File tree

1 file changed

+23
-0
lines changed

1 file changed

+23
-0
lines changed

pkg/resourcemonitor/noderesourcesaggregator.go

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,29 @@ func (noderesourceData *nodeResources) Aggregate(podResData []PodResources) topo
152152
available: int64(0),
153153
capacity: int64(len(noderesourceData.reservedCPUIDPerNUMA[nodeID])),
154154
}
155+
156+
for resName, allocatable := range nodeRes {
157+
perNuma[nodeID][resName] = &resourceData{
158+
allocatable: allocatable,
159+
available: allocatable,
160+
capacity: allocatable,
161+
}
162+
163+
rn := string(resName)
164+
noderesourceData.resourceID2NUMAID[rn] = make(map[string]int)
165+
166+
for _, podRes := range podResData {
167+
for _, contRes := range podRes.Containers {
168+
for _, res := range contRes.Resources {
169+
if res.Name == resName {
170+
for _, deviceID := range res.Data {
171+
noderesourceData.resourceID2NUMAID[rn][deviceID] = nodeID
172+
}
173+
}
174+
}
175+
}
176+
}
177+
}
155178
}
156179
}
157180

0 commit comments

Comments
 (0)