From 83f447e6a6c70756b072e1fc6f5831e0fe8723a6 Mon Sep 17 00:00:00 2001 From: Avesh Agarwal Date: Thu, 1 Sep 2016 16:23:00 -0400 Subject: [PATCH] Send a pod event if preStop hook did not finish in time. --- pkg/kubelet/dockertools/docker_manager.go | 2 ++ pkg/kubelet/events/event.go | 5 +++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/pkg/kubelet/dockertools/docker_manager.go b/pkg/kubelet/dockertools/docker_manager.go index c8346a382bf..b906e609b55 100644 --- a/pkg/kubelet/dockertools/docker_manager.go +++ b/pkg/kubelet/dockertools/docker_manager.go @@ -1529,6 +1529,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" )