summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel J Walsh <dwalsh@redhat.com>2020-10-28 10:27:31 -0400
committerDaniel J Walsh <dwalsh@redhat.com>2020-10-29 06:19:21 -0400
commit0f191ad72c406cfe8223946c069f6ec70f559664 (patch)
tree3ada37ecc5b6b666492303eeaf4f3d67f0b9c97f
parentcce6c6cd40137c460f173300b36c5868383870c5 (diff)
downloadpodman-0f191ad72c406cfe8223946c069f6ec70f559664.tar.gz
podman-0f191ad72c406cfe8223946c069f6ec70f559664.tar.bz2
podman-0f191ad72c406cfe8223946c069f6ec70f559664.zip
Podman often reports OCI Runtime does not exist, even if it does
When the OCI Runtime tries to set certain settings in cgroups it can get the error "no such file or directory", the wrapper ends up reporting a bogus error like: ``` Request Failed(Internal Server Error): open io.max: No such file or directory: OCI runtime command not found error {"cause":"OCI runtime command not found error","message":"open io.max: No such file or directory: OCI runtime command not found error","response":500} ``` On first reading of this, you would think the OCI Runtime (crun or runc) were not found. But the error is actually reporting message":"open io.max: No such file or directory Which is what we want the user to concentrate on. Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
-rw-r--r--libpod/define/errors.go6
-rw-r--r--test/system/030-run.bats4
-rw-r--r--test/system/160-volumes.bats2
3 files changed, 6 insertions, 6 deletions
diff --git a/libpod/define/errors.go b/libpod/define/errors.go
index 627928ef7..5567d1838 100644
--- a/libpod/define/errors.go
+++ b/libpod/define/errors.go
@@ -138,15 +138,15 @@ var (
// ErrOCIRuntimePermissionDenied indicates the OCI runtime attempted to invoke a command that returned
// a permission denied error
- ErrOCIRuntimePermissionDenied = errors.New("OCI runtime permission denied error")
+ ErrOCIRuntimePermissionDenied = errors.New("OCI permission denied")
// ErrOCIRuntimeNotFound indicates the OCI runtime attempted to invoke a command
// that was not found
- ErrOCIRuntimeNotFound = errors.New("OCI runtime command not found error")
+ ErrOCIRuntimeNotFound = errors.New("OCI not found")
// ErrOCIRuntimeUnavailable indicates that the OCI runtime associated to a container
// could not be found in the configuration
- ErrOCIRuntimeUnavailable = errors.New("OCI runtime not available in the current configuration")
+ ErrOCIRuntimeUnavailable = errors.New("OCI unavailable")
// ErrConmonOutdated indicates the version of conmon found (whether via the configuration or $PATH)
// is out of date for the current podman version
diff --git a/test/system/030-run.bats b/test/system/030-run.bats
index 6b6964c63..b0c855d81 100644
--- a/test/system/030-run.bats
+++ b/test/system/030-run.bats
@@ -14,8 +14,8 @@ load helpers
# ...but check the configured runtime engine, and switch to crun as needed
run_podman info --format '{{ .Host.OCIRuntime.Path }}'
if expr "$output" : ".*/crun"; then
- err_no_such_cmd="Error: executable file.* not found in \$PATH: No such file or directory: OCI runtime command not found error"
- err_no_exec_dir="Error: open executable: Operation not permitted: OCI runtime permission denied error"
+ err_no_such_cmd="Error: executable file.* not found in \$PATH: No such file or directory: OCI not found"
+ err_no_exec_dir="Error: open executable: Operation not permitted: OCI permission denied"
fi
tests="
diff --git a/test/system/160-volumes.bats b/test/system/160-volumes.bats
index 9f4bb76a2..c19e61669 100644
--- a/test/system/160-volumes.bats
+++ b/test/system/160-volumes.bats
@@ -119,7 +119,7 @@ EOF
# noexec option. This should fail.
# ARGH. Unfortunately, runc (used for cgroups v1) produces a different error
local expect_rc=126
- local expect_msg='.* OCI runtime permission denied.*'
+ local expect_msg='.* OCI permission denied.*'
run_podman info --format '{{ .Host.OCIRuntime.Path }}'
if expr "$output" : ".*/runc"; then
expect_rc=1