summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJordan Christiansen <xordspar0@gmail.com>2021-03-26 22:10:43 -0500
committerJordan Christiansen <xordspar0@gmail.com>2021-03-27 09:46:30 -0500
commitdce877c5ca190d06c9e9c069475bd17ea12e8ac9 (patch)
treea9647bb4fe42d8c4f765a8c5604469483088944a
parent4d0b583340c37efbf175c00d75d75107a0b23f00 (diff)
downloadpodman-dce877c5ca190d06c9e9c069475bd17ea12e8ac9.tar.gz
podman-dce877c5ca190d06c9e9c069475bd17ea12e8ac9.tar.bz2
podman-dce877c5ca190d06c9e9c069475bd17ea12e8ac9.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 cc4450379..a4c738f17 100644
--- a/test/e2e/play_kube_test.go
+++ b/test/e2e/play_kube_test.go
@@ -1449,6 +1449,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() {