diff --git a/pkg/kubelet/BUILD b/pkg/kubelet/BUILD index 38e1423ff270..a72b26b83b97 100644 --- a/pkg/kubelet/BUILD +++ b/pkg/kubelet/BUILD @@ -113,6 +113,7 @@ go_library( "//pkg/util/wait:go_default_library", "//pkg/version:go_default_library", "//pkg/volume:go_default_library", + "//pkg/volume/util:go_default_library", "//pkg/volume/util/types:go_default_library", "//pkg/volume/util/volumehelper:go_default_library", "//plugin/pkg/scheduler/algorithm/predicates:go_default_library", diff --git a/pkg/kubelet/kubelet_getters.go b/pkg/kubelet/kubelet_getters.go index df0a44fca932..4f834491674d 100644 --- a/pkg/kubelet/kubelet_getters.go +++ b/pkg/kubelet/kubelet_getters.go @@ -30,6 +30,7 @@ import ( "k8s.io/kubernetes/pkg/types" "k8s.io/kubernetes/pkg/util" nodeutil "k8s.io/kubernetes/pkg/util/node" + volumeutil "k8s.io/kubernetes/pkg/volume/util" ) // getRootDir returns the full path to the directory under which kubelet can @@ -244,6 +245,14 @@ func (kl *Kubelet) GetExtraSupplementalGroupsForPod(pod *v1.Pod) []int64 { func (kl *Kubelet) getPodVolumePathListFromDisk(podUID types.UID) ([]string, error) { volumes := []string{} podVolDir := kl.getPodVolumesDir(podUID) + + if pathExists, pathErr := volumeutil.PathExists(podVolDir); pathErr != nil { + return volumes, fmt.Errorf("Error checking if path %q exists: %v", podVolDir, pathErr) + } else if !pathExists { + glog.Warningf("Warning: path %q does not exist: %q", podVolDir) + return volumes, nil + } + volumePluginDirs, err := ioutil.ReadDir(podVolDir) if err != nil { glog.Errorf("Could not read directory %s: %v", podVolDir, err)