diff --git a/pkg/kubelet/events/event.go b/pkg/kubelet/events/event.go index 1b31dc7e605..d08253989ae 100644 --- a/pkg/kubelet/events/event.go +++ b/pkg/kubelet/events/event.go @@ -74,6 +74,7 @@ const ( FailedCreatePodSandBox = "FailedCreatePodSandBox" FailedStatusPodSandBox = "FailedPodSandBoxStatus" FailedMountOnFilesystemMismatch = "FailedMountOnFilesystemMismatch" + FailedPrepareDynamicResources = "FailedPrepareDynamicResources" ) // Image manager event reason list diff --git a/pkg/kubelet/kuberuntime/kuberuntime_manager.go b/pkg/kubelet/kuberuntime/kuberuntime_manager.go index 317f62af65f..c8e76d41f28 100644 --- a/pkg/kubelet/kuberuntime/kuberuntime_manager.go +++ b/pkg/kubelet/kuberuntime/kuberuntime_manager.go @@ -1089,7 +1089,14 @@ func (m *kubeGenericRuntimeManager) SyncPod(ctx context.Context, pod *v1.Pod, po // Prepare resources allocated by the Dynammic Resource Allocation feature for the pod if utilfeature.DefaultFeatureGate.Enabled(features.DynamicResourceAllocation) { - if m.runtimeHelper.PrepareDynamicResources(pod) != nil { + if err := m.runtimeHelper.PrepareDynamicResources(pod); err != nil { + ref, referr := ref.GetReference(legacyscheme.Scheme, pod) + if referr != nil { + klog.ErrorS(referr, "Couldn't make a ref to pod", "pod", klog.KObj(pod)) + return + } + m.recorder.Eventf(ref, v1.EventTypeWarning, events.FailedPrepareDynamicResources, "Failed to prepare dynamic resources: %v", err) + klog.ErrorS(err, "Failed to prepare dynamic resources", "pod", klog.KObj(pod)) return } }