diff --git a/pkg/kubelet/dockertools/docker_manager.go b/pkg/kubelet/dockertools/docker_manager.go index f5b9e9f5f49..eb7868ab938 100644 --- a/pkg/kubelet/dockertools/docker_manager.go +++ b/pkg/kubelet/dockertools/docker_manager.go @@ -1544,6 +1544,8 @@ func (dm *DockerManager) killContainer(containerID kubecontainer.ContainerID, co select { case <-time.After(time.Duration(gracePeriod) * time.Second): glog.Warningf("preStop hook for container %q did not complete in %d seconds", name, gracePeriod) + message := fmt.Sprintf("preStop hook for container %q did not complete in %d seconds", name, gracePeriod) + dm.generateFailedContainerEvent(containerID, pod.Name, events.UnfinishedPreStopHook, message) case <-done: glog.V(4).Infof("preStop hook for container %q completed", name) } diff --git a/pkg/kubelet/events/event.go b/pkg/kubelet/events/event.go index 634b393e327..99d7b9ed4ec 100644 --- a/pkg/kubelet/events/event.go +++ b/pkg/kubelet/events/event.go @@ -72,6 +72,7 @@ const ( FailedValidation = "FailedValidation" // Lifecycle hooks - FailedPostStartHook = "FailedPostStartHook" - FailedPreStopHook = "FailedPreStopHook" + FailedPostStartHook = "FailedPostStartHook" + FailedPreStopHook = "FailedPreStopHook" + UnfinishedPreStopHook = "UnfinishedPreStopHook" )