diff --git a/pkg/kubelet/kubelet.go b/pkg/kubelet/kubelet.go index 49884621646..6df28c56522 100644 --- a/pkg/kubelet/kubelet.go +++ b/pkg/kubelet/kubelet.go @@ -1789,14 +1789,13 @@ func (kl *Kubelet) syncPod(o syncPodOptions) error { kl.statusManager.SetPodStatus(pod, apiPodStatus) // Kill pod if it should not be running - if err := canRunPod(pod); err != nil || pod.DeletionTimestamp != nil || apiPodStatus.Phase == api.PodFailed { - if err := kl.killPod(pod, nil, podStatus, nil); err != nil { - // there was an error killing the pod, so we return that error directly - utilruntime.HandleError(err) - return err + if errOuter := canRunPod(pod); errOuter != nil || pod.DeletionTimestamp != nil || apiPodStatus.Phase == api.PodFailed { + if errInner := kl.killPod(pod, nil, podStatus, nil); errInner != nil { + errOuter = fmt.Errorf("error killing pod: %v", errInner) + utilruntime.HandleError(errOuter) } // there was no error killing the pod, but the pod cannot be run, so we return that err (if any) - return err + return errOuter } // Create Mirror Pod for Static Pod if it doesn't already exist