From 266120c189bf79481f8835bb0f860cd8ea7b4ff4 Mon Sep 17 00:00:00 2001 From: Michelle Au Date: Wed, 4 Oct 2017 09:30:48 -0700 Subject: [PATCH] Don't skip mounts if we can't find the volume --- pkg/kubelet/kubelet_pods.go | 4 ++-- pkg/kubelet/kubelet_pods_test.go | 30 ++++++++++++++++++++++++++++++ 2 files changed, 32 insertions(+), 2 deletions(-) diff --git a/pkg/kubelet/kubelet_pods.go b/pkg/kubelet/kubelet_pods.go index fe4d17aa02b..dcb5ac65b4f 100644 --- a/pkg/kubelet/kubelet_pods.go +++ b/pkg/kubelet/kubelet_pods.go @@ -127,8 +127,8 @@ func makeMounts(pod *v1.Pod, podDir string, container *v1.Container, hostName, h mountEtcHostsFile = mountEtcHostsFile && (mount.MountPath != etcHostsPath) vol, ok := podVolumes[mount.Name] if !ok || vol.Mounter == nil { - glog.Warningf("Mount cannot be satisfied for container %q, because the volume is missing or the volume mounter is nil: %q", container.Name, mount) - continue + glog.Errorf("Mount cannot be satisfied for container %q, because the volume is missing or the volume mounter is nil: %+v", container.Name, mount) + return nil, fmt.Errorf("cannot find volume %q to mount into container %q", mount.Name, container.Name) } relabelVolume := false diff --git a/pkg/kubelet/kubelet_pods_test.go b/pkg/kubelet/kubelet_pods_test.go index 497e6666ac4..a2c47fee4b6 100644 --- a/pkg/kubelet/kubelet_pods_test.go +++ b/pkg/kubelet/kubelet_pods_test.go @@ -223,6 +223,36 @@ func TestMakeMounts(t *testing.T) { expectErr: true, expectedErrMsg: "unable to provision SubPath `no/backsteps/../allowed`: must not contain '..'", }, + "volume doesn't exist": { + podVolumes: kubecontainer.VolumeMap{}, + container: v1.Container{ + VolumeMounts: []v1.VolumeMount{ + { + MountPath: "/mnt/path3", + Name: "disk", + ReadOnly: true, + }, + }, + }, + expectErr: true, + expectedErrMsg: "cannot find volume \"disk\" to mount into container \"\"", + }, + "volume mounter is nil": { + podVolumes: kubecontainer.VolumeMap{ + "disk": kubecontainer.VolumeInfo{}, + }, + container: v1.Container{ + VolumeMounts: []v1.VolumeMount{ + { + MountPath: "/mnt/path3", + Name: "disk", + ReadOnly: true, + }, + }, + }, + expectErr: true, + expectedErrMsg: "cannot find volume \"disk\" to mount into container \"\"", + }, } for name, tc := range testCases {