Merge pull request #38909 from jingxu97/Dec/mounterfix

Automatic merge from submit-queue (batch tested with PRs 38909, 39213)

Add path exist check in getPodVolumePathListFromDisk

Add the path exist check in the function. If the path does not exist,
return empty list and nil error.

fix issue #38498
This commit is contained in:
Kubernetes Submit Queue 2016-12-27 16:14:10 -08:00 committed by GitHub
commit 17564eda29
2 changed files with 10 additions and 0 deletions

View File

@ -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",

View File

@ -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)