mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-04 09:49:50 +00:00
node: device-mgr: Add metadata to logs
Ensure that if possible, we provide sufficient metadata inclusing pod name and UID to allow filtering by pod name or its UID. Signed-off-by: Swati Sehgal <swsehgal@redhat.com>
This commit is contained in:
parent
c56426bd9f
commit
584e224b43
@ -836,7 +836,7 @@ func (m *ManagerImpl) allocateContainerResources(pod *v1.Pod, container *v1.Cont
|
|||||||
for k, v := range container.Resources.Limits {
|
for k, v := range container.Resources.Limits {
|
||||||
resource := string(k)
|
resource := string(k)
|
||||||
needed := int(v.Value())
|
needed := int(v.Value())
|
||||||
klog.V(3).InfoS("Looking for needed resources", "needed", needed, "resourceName", resource)
|
klog.V(3).InfoS("Looking for needed resources", "resourceName", resource, "pod", klog.KObj(pod), "containerName", container.Name, "needed", needed)
|
||||||
if !m.isDevicePluginResource(resource) {
|
if !m.isDevicePluginResource(resource) {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
@ -882,7 +882,7 @@ func (m *ManagerImpl) allocateContainerResources(pod *v1.Pod, container *v1.Cont
|
|||||||
devs := allocDevices.UnsortedList()
|
devs := allocDevices.UnsortedList()
|
||||||
// TODO: refactor this part of code to just append a ContainerAllocationRequest
|
// TODO: refactor this part of code to just append a ContainerAllocationRequest
|
||||||
// in a passed in AllocateRequest pointer, and issues a single Allocate call per pod.
|
// in a passed in AllocateRequest pointer, and issues a single Allocate call per pod.
|
||||||
klog.V(3).InfoS("Making allocation request for device plugin", "devices", devs, "resourceName", resource)
|
klog.V(3).InfoS("Making allocation request for device plugin", "devices", devs, "resourceName", resource, "pod", klog.KObj(pod), "containerName", container.Name)
|
||||||
resp, err := eI.e.allocate(devs)
|
resp, err := eI.e.allocate(devs)
|
||||||
metrics.DevicePluginAllocationDuration.WithLabelValues(resource).Observe(metrics.SinceInSeconds(startRPCTime))
|
metrics.DevicePluginAllocationDuration.WithLabelValues(resource).Observe(metrics.SinceInSeconds(startRPCTime))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -952,7 +952,7 @@ func (m *ManagerImpl) GetDeviceRunContainerOptions(pod *v1.Pod, container *v1.Co
|
|||||||
}
|
}
|
||||||
|
|
||||||
if !m.checkPodActive(pod) {
|
if !m.checkPodActive(pod) {
|
||||||
klog.InfoS("pod deleted from activePods, skip to reAllocate", "podUID", podUID)
|
klog.InfoS("pod deleted from activePods, skip to reAllocate", "pod", klog.KObj(pod), "podUID", podUID, "containerName", container.Name)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -984,7 +984,7 @@ func (m *ManagerImpl) callPreStartContainerIfNeeded(podUID, contName, resource s
|
|||||||
|
|
||||||
if eI.opts == nil || !eI.opts.PreStartRequired {
|
if eI.opts == nil || !eI.opts.PreStartRequired {
|
||||||
m.mutex.Unlock()
|
m.mutex.Unlock()
|
||||||
klog.V(4).InfoS("Plugin options indicate to skip PreStartContainer for resource", "resourceName", resource)
|
klog.V(4).InfoS("Plugin options indicate to skip PreStartContainer for resource", "podUID", podUID, "resourceName", resource, "containerName", contName)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1014,12 +1014,12 @@ func (m *ManagerImpl) callGetPreferredAllocationIfAvailable(podUID, contName, re
|
|||||||
}
|
}
|
||||||
|
|
||||||
if eI.opts == nil || !eI.opts.GetPreferredAllocationAvailable {
|
if eI.opts == nil || !eI.opts.GetPreferredAllocationAvailable {
|
||||||
klog.V(4).InfoS("Plugin options indicate to skip GetPreferredAllocation for resource", "resourceName", resource)
|
klog.V(4).InfoS("Plugin options indicate to skip GetPreferredAllocation for resource", "resourceName", resource, "podUID", podUID, "containerName", contName)
|
||||||
return nil, nil
|
return nil, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
m.mutex.Unlock()
|
m.mutex.Unlock()
|
||||||
klog.V(4).InfoS("Issuing a GetPreferredAllocation call for container", "containerName", contName, "podUID", podUID)
|
klog.V(4).InfoS("Issuing a GetPreferredAllocation call for container", "resourceName", resource, "containerName", contName, "podUID", podUID)
|
||||||
resp, err := eI.e.getPreferredAllocation(available.UnsortedList(), mustInclude.UnsortedList(), size)
|
resp, err := eI.e.getPreferredAllocation(available.UnsortedList(), mustInclude.UnsortedList(), size)
|
||||||
m.mutex.Lock()
|
m.mutex.Lock()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -43,7 +43,7 @@ func (m *ManagerImpl) GetTopologyHints(pod *v1.Pod, container *v1.Container) map
|
|||||||
for resource, requested := range accumulatedResourceRequests {
|
for resource, requested := range accumulatedResourceRequests {
|
||||||
// Only consider devices that actually contain topology information.
|
// Only consider devices that actually contain topology information.
|
||||||
if aligned := m.deviceHasTopologyAlignment(resource); !aligned {
|
if aligned := m.deviceHasTopologyAlignment(resource); !aligned {
|
||||||
klog.InfoS("Resource does not have a topology preference", "resource", resource)
|
klog.InfoS("Resource does not have a topology preference", "resource", resource, "pod", klog.KObj(pod), "containerName", container.Name, "request", requested)
|
||||||
deviceHints[resource] = nil
|
deviceHints[resource] = nil
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
@ -67,7 +67,7 @@ func (m *ManagerImpl) GetTopologyHints(pod *v1.Pod, container *v1.Container) map
|
|||||||
available := m.getAvailableDevices(resource)
|
available := m.getAvailableDevices(resource)
|
||||||
reusable := m.devicesToReuse[string(pod.UID)][resource]
|
reusable := m.devicesToReuse[string(pod.UID)][resource]
|
||||||
if available.Union(reusable).Len() < requested {
|
if available.Union(reusable).Len() < requested {
|
||||||
klog.InfoS("Unable to generate topology hints: requested number of devices unavailable", "resource", resource, "request", requested, "available", available.Union(reusable).Len())
|
klog.InfoS("Unable to generate topology hints: requested number of devices unavailable", "resource", resource, "pod", klog.KObj(pod), "containerName", container.Name, "request", requested, "available", available.Union(reusable).Len())
|
||||||
deviceHints[resource] = []topologymanager.TopologyHint{}
|
deviceHints[resource] = []topologymanager.TopologyHint{}
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
@ -94,7 +94,7 @@ func (m *ManagerImpl) GetPodTopologyHints(pod *v1.Pod) map[string][]topologymana
|
|||||||
for resource, requested := range accumulatedResourceRequests {
|
for resource, requested := range accumulatedResourceRequests {
|
||||||
// Only consider devices that actually contain topology information.
|
// Only consider devices that actually contain topology information.
|
||||||
if aligned := m.deviceHasTopologyAlignment(resource); !aligned {
|
if aligned := m.deviceHasTopologyAlignment(resource); !aligned {
|
||||||
klog.InfoS("Resource does not have a topology preference", "resource", resource)
|
klog.InfoS("Resource does not have a topology preference", "resource", resource, "pod", klog.KObj(pod), "request", requested)
|
||||||
deviceHints[resource] = nil
|
deviceHints[resource] = nil
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
@ -109,7 +109,7 @@ func (m *ManagerImpl) GetPodTopologyHints(pod *v1.Pod) map[string][]topologymana
|
|||||||
deviceHints[resource] = []topologymanager.TopologyHint{}
|
deviceHints[resource] = []topologymanager.TopologyHint{}
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
klog.InfoS("Regenerating TopologyHints for resource already allocated to pod", "resource", resource, "pod", klog.KObj(pod))
|
klog.InfoS("Regenerating TopologyHints for resource already allocated to pod", "resource", resource, "pod", klog.KObj(pod), "allocated", allocated.Len())
|
||||||
deviceHints[resource] = m.generateDeviceTopologyHints(resource, allocated, sets.Set[string]{}, requested)
|
deviceHints[resource] = m.generateDeviceTopologyHints(resource, allocated, sets.Set[string]{}, requested)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
@ -117,7 +117,7 @@ func (m *ManagerImpl) GetPodTopologyHints(pod *v1.Pod) map[string][]topologymana
|
|||||||
// Get the list of available devices, for which TopologyHints should be generated.
|
// Get the list of available devices, for which TopologyHints should be generated.
|
||||||
available := m.getAvailableDevices(resource)
|
available := m.getAvailableDevices(resource)
|
||||||
if available.Len() < requested {
|
if available.Len() < requested {
|
||||||
klog.InfoS("Unable to generate topology hints: requested number of devices unavailable", "resource", resource, "request", requested, "available", available.Len())
|
klog.InfoS("Unable to generate topology hints: requested number of devices unavailable", "resource", resource, "pod", klog.KObj(pod), "request", requested, "available", available.Len())
|
||||||
deviceHints[resource] = []topologymanager.TopologyHint{}
|
deviceHints[resource] = []topologymanager.TopologyHint{}
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user