summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJordan Christiansen <xordspar0@gmail.com>2021-03-26 22:10:43 -0500
committerMatthew Heon <mheon@redhat.com>2021-03-29 11:32:46 -0400
commit3d1aaffdbb2fafae5f27467c59efc7ec7314c154 (patch)
tree641254fa7533e6757bd4cf0261eeddd3bfc0c996
parentd498022fdde96ef1eb028ea89bb68bf01ca495c5 (diff)
downloadpodman-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.go2
-rw-r--r--test/e2e/play_kube_test.go1
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() {