aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com>2021-10-12 21:27:09 +0200
committerGitHub <noreply@github.com>2021-10-12 21:27:09 +0200
commitc90beedbe160eb6e8094b492091231f3c5838006 (patch)
tree128d2f9660ed3b1fdac69d50cba8e32ddec4f2a4
parent03095bd090e067ef1a2978a2107ec07ff3f95a2c (diff)
parent7580c227348af2a0906a692ad6a44348dc3eefbc (diff)
downloadpodman-c90beedbe160eb6e8094b492091231f3c5838006.tar.gz
podman-c90beedbe160eb6e8094b492091231f3c5838006.tar.bz2
podman-c90beedbe160eb6e8094b492091231f3c5838006.zip
Merge pull request #11925 from rhatdan/volume
Remove a volume with --force if container is running
-rw-r--r--libpod/runtime_volume_linux.go6
-rw-r--r--test/system/160-volumes.bats8
2 files changed, 9 insertions, 5 deletions
diff --git a/libpod/runtime_volume_linux.go b/libpod/runtime_volume_linux.go
index b08693529..ed3cc971c 100644
--- a/libpod/runtime_volume_linux.go
+++ b/libpod/runtime_volume_linux.go
@@ -230,11 +230,7 @@ func (r *Runtime) removeVolume(ctx context.Context, v *Volume, force bool, timeo
logrus.Debugf("Removing container %s (depends on volume %q)", ctr.ID(), v.Name())
- // TODO: do we want to set force here when removing
- // containers?
- // I'm inclined to say no, in case someone accidentally
- // wipes a container they're using...
- if err := r.removeContainer(ctx, ctr, false, false, false, timeout); err != nil {
+ if err := r.removeContainer(ctx, ctr, force, false, false, timeout); err != nil {
return errors.Wrapf(err, "error removing container %s that depends on volume %s", ctr.ID(), v.Name())
}
}
diff --git a/test/system/160-volumes.bats b/test/system/160-volumes.bats
index 490d635e5..7128f1b65 100644
--- a/test/system/160-volumes.bats
+++ b/test/system/160-volumes.bats
@@ -97,6 +97,14 @@ Labels.l | $mylabel
run_podman volume rm $myvolume
}
+# Removing volumes with --force
+@test "podman volume rm --force" {
+ run_podman run -d --volume myvol:/myvol $IMAGE top
+ cid=$output
+ run_podman 2 volume rm myvol
+ is "$output" "Error: volume myvol is being used by the following container(s): $cid: volume is being used" "should error since container is running"
+ run_podman volume rm myvol --force
+}
# Running scripts (executables) from a volume
@test "podman volume: exec/noexec" {