From edc4ccd6603688c11d776c8ebfe43bf2cdfb1dd3 Mon Sep 17 00:00:00 2001 From: Julien Balestra Date: Thu, 13 Apr 2017 15:39:13 +0200 Subject: [PATCH] Kubelet:rkt Fix the hostPath Volume creation Kubelet:rkt Fix the hostPath Volume creation --- pkg/kubelet/rkt/rkt.go | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/pkg/kubelet/rkt/rkt.go b/pkg/kubelet/rkt/rkt.go index 7decec4c5bc..b2eeca0a081 100644 --- a/pkg/kubelet/rkt/rkt.go +++ b/pkg/kubelet/rkt/rkt.go @@ -1319,11 +1319,14 @@ func (r *Runtime) setupPodNetwork(pod *v1.Pod) (string, string, error) { func createHostPathVolumes(pod *v1.Pod) (err error) { for _, v := range pod.Spec.Volumes { if v.VolumeSource.HostPath != nil { - err = os.MkdirAll(v.HostPath.Path, os.ModePerm) - if err != nil && !os.IsExist(err) { - return err + _, err = os.Stat(v.HostPath.Path) + if os.IsNotExist(err) { + if err = os.MkdirAll(v.HostPath.Path, os.ModePerm); err != nil { + glog.Errorf("Create volume HostPath %q for Pod %q failed: %q", v.HostPath.Path, format.Pod(pod), err.Error()) + return err + } + glog.V(4).Infof("Created volume HostPath %q for Pod %q", v.HostPath.Path, format.Pod(pod)) } - glog.V(4).Infof("Created volume HostPath %q for Pod %q", v.HostPath.Path, format.Pod(pod)) } } return nil