diff options
author | Jordan Christiansen <xordspar0@gmail.com> | 2021-03-26 22:10:43 -0500 |
---|---|---|
committer | Matthew Heon <mheon@redhat.com> | 2021-03-29 11:32:46 -0400 |
commit | 3d1aaffdbb2fafae5f27467c59efc7ec7314c154 (patch) | |
tree | 641254fa7533e6757bd4cf0261eeddd3bfc0c996 | |
parent | d498022fdde96ef1eb028ea89bb68bf01ca495c5 (diff) | |
download | podman-3d1aaffdbb2fafae5f27467c59efc7ec7314c154.tar.gz podman-3d1aaffdbb2fafae5f27467c59efc7ec7314c154.tar.bz2 podman-3d1aaffdbb2fafae5f27467c59efc7ec7314c154.zip |
Add problematic volume name to kube play error messages
When kube play fails to create a volume, it should say which volume had
the problem so the user doesn't have to guess. For the following pod
spec:
apiVersion: v1
kind: Pod
metadata:
name: mypod
spec:
containers:
- name: myfrontend
image: nginx
volumeMounts:
- mountPath: "/var/www/html"
name: mypd
volumes:
- name: mypd
hostPath:
path: /var/blah
podman will now report:
Error: failed to create volume "mypd": error in parsing HostPath
in YAML: error checking path "/var/blah": stat /var/blah: no such
file or directory
Signed-off-by: Jordan Christiansen <xordspar0@gmail.com>
-rw-r--r-- | pkg/specgen/generate/kube/volume.go | 2 | ||||
-rw-r--r-- | test/e2e/play_kube_test.go | 1 |
2 files changed, 2 insertions, 1 deletions
diff --git a/pkg/specgen/generate/kube/volume.go b/pkg/specgen/generate/kube/volume.go index e4f3eb196..a8042b532 100644 --- a/pkg/specgen/generate/kube/volume.go +++ b/pkg/specgen/generate/kube/volume.go @@ -116,7 +116,7 @@ func InitializeVolumes(specVolumes []v1.Volume) (map[string]*KubeVolume, error) for _, specVolume := range specVolumes { volume, err := VolumeFromSource(specVolume.VolumeSource) if err != nil { - return nil, err + return nil, errors.Wrapf(err, "failed to create volume %q", specVolume.Name) } volumes[specVolume.Name] = volume diff --git a/test/e2e/play_kube_test.go b/test/e2e/play_kube_test.go index 9260d6cd2..433a8158c 100644 --- a/test/e2e/play_kube_test.go +++ b/test/e2e/play_kube_test.go @@ -1426,6 +1426,7 @@ spec: kube := podmanTest.Podman([]string{"play", "kube", kubeYaml}) kube.WaitWithDefaultTimeout() Expect(kube.ExitCode()).NotTo(Equal(0)) + Expect(kube.ErrorToString()).To(ContainSubstring(defaultVolName)) }) It("podman play kube test with empty HostPath type volume", func() { |