diff options
author | Daniel J Walsh <dwalsh@redhat.com> | 2022-05-12 17:00:44 -0400 |
---|---|---|
committer | Daniel J Walsh <dwalsh@redhat.com> | 2022-05-16 09:59:19 -0400 |
commit | ee782fcb70c3d0d8f656406d346a3972f3200c83 (patch) | |
tree | 4040e9f884ba33a202dade103b42363a4a73f6e4 | |
parent | d8e8e628220b890986b11c9646ad593148dc5d3c (diff) | |
download | podman-ee782fcb70c3d0d8f656406d346a3972f3200c83.tar.gz podman-ee782fcb70c3d0d8f656406d346a3972f3200c83.tar.bz2 podman-ee782fcb70c3d0d8f656406d346a3972f3200c83.zip |
Deleting an n use image should return conflict not system error
Fixes: https://github.com/containers/podman/issues/14208
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
-rw-r--r-- | pkg/api/handlers/compat/images_remove.go | 5 | ||||
-rw-r--r-- | test/apiv2/10-images.at | 11 |
2 files changed, 15 insertions, 1 deletions
diff --git a/pkg/api/handlers/compat/images_remove.go b/pkg/api/handlers/compat/images_remove.go index f45b38c66..35bcb36aa 100644 --- a/pkg/api/handlers/compat/images_remove.go +++ b/pkg/api/handlers/compat/images_remove.go @@ -52,7 +52,10 @@ func RemoveImage(w http.ResponseWriter, r *http.Request) { utils.ImageNotFound(w, name, errors.Wrapf(err, "failed to find image %s", name)) return } - + if errors.Cause(err) == storage.ErrImageUsedByContainer { + utils.Error(w, http.StatusConflict, errors.Wrapf(err, "image %s is in use", name)) + return + } utils.Error(w, http.StatusInternalServerError, err) return } diff --git a/test/apiv2/10-images.at b/test/apiv2/10-images.at index 9526183e3..b5305537d 100644 --- a/test/apiv2/10-images.at +++ b/test/apiv2/10-images.at @@ -156,6 +156,17 @@ t GET images/json?filters='{"reference":["test1"]}' 200 length=1 t DELETE libpod/images/test1:latest 200 +# to be used in prune until filter tests +podman image build -t docker.io/library/test1:latest -<<EOF +from alpine +RUN >file4 +EOF +podman create --name test1 test1 echo hi + +t DELETE images/test1:latest 409 +podman rm test1 +t DELETE images/test1:latest 200 + t GET "images/get?names=alpine" 200 '[POSIX tar archive]' podman pull busybox |