From d614fc7fccc46c1cc5c09de73222823f6e4e5577 Mon Sep 17 00:00:00 2001 From: Jerzy Szczepkowski Date: Thu, 19 Feb 2015 11:08:36 +0100 Subject: [PATCH] Fire event for pod when mount fails. Implemented firing event for pod when mount of external volume fails. Fixes #4540. --- pkg/kubelet/kubelet.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/pkg/kubelet/kubelet.go b/pkg/kubelet/kubelet.go index 1507115c72..42bc3ad216 100644 --- a/pkg/kubelet/kubelet.go +++ b/pkg/kubelet/kubelet.go @@ -999,6 +999,11 @@ func (kl *Kubelet) syncPod(pod *api.BoundPod, dockerContainers dockertools.Docke killedContainers := make(map[dockertools.DockerID]empty) glog.V(4).Infof("Syncing Pod, podFullName: %q, uid: %q", podFullName, uid) + ref, err := api.GetReference(pod) + if err != nil { + glog.Errorf("Couldn't make a ref to pod %q: '%v'", podFullName, err) + } + // Make data dirs. if err := os.Mkdir(kl.getPodDir(uid), 0750); err != nil && !os.IsExist(err) { return err @@ -1038,6 +1043,10 @@ func (kl *Kubelet) syncPod(pod *api.BoundPod, dockerContainers dockertools.Docke podVolumes, err := kl.mountExternalVolumes(pod) if err != nil { + if ref != nil { + record.Eventf(ref, "failedMount", + "Unable to mount volumes for pod %q: %v", podFullName, err) + } glog.Errorf("Unable to mount volumes for pod %q: %v; skipping pod", podFullName, err) return err }