summaryrefslogtreecommitdiff
path: root/cmd/podman/volumes/rm.go
diff options
context:
space:
mode:
authorOpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com>2021-10-04 15:10:36 -0400
committerGitHub <noreply@github.com>2021-10-04 15:10:36 -0400
commita866a2f159f94976277d8a3a9459724af0b0f62f (patch)
tree341b34bcd9dc87efada13a522bb21c31097fef8a /cmd/podman/volumes/rm.go
parent2f72f17a114f4e20b56deb2c21908d1d4610919c (diff)
parent21c9dc3c406bb486c44c4a27e5b0497bab1cd40d (diff)
downloadpodman-a866a2f159f94976277d8a3a9459724af0b0f62f.tar.gz
podman-a866a2f159f94976277d8a3a9459724af0b0f62f.tar.bz2
podman-a866a2f159f94976277d8a3a9459724af0b0f62f.zip
Merge pull request #11763 from rhatdan/timeout
Add --time option for podman * rm -f flag
Diffstat (limited to 'cmd/podman/volumes/rm.go')
-rw-r--r--cmd/podman/volumes/rm.go13
1 files changed, 12 insertions, 1 deletions
diff --git a/cmd/podman/volumes/rm.go b/cmd/podman/volumes/rm.go
index 9ba4a30a1..fd5df20b7 100644
--- a/cmd/podman/volumes/rm.go
+++ b/cmd/podman/volumes/rm.go
@@ -5,6 +5,7 @@ import (
"fmt"
"strings"
+ "github.com/containers/common/pkg/completion"
"github.com/containers/podman/v3/cmd/podman/common"
"github.com/containers/podman/v3/cmd/podman/registry"
"github.com/containers/podman/v3/cmd/podman/utils"
@@ -32,7 +33,8 @@ var (
)
var (
- rmOptions = entities.VolumeRmOptions{}
+ rmOptions = entities.VolumeRmOptions{}
+ stopTimeout uint
)
func init() {
@@ -43,6 +45,9 @@ func init() {
flags := rmCommand.Flags()
flags.BoolVarP(&rmOptions.All, "all", "a", false, "Remove all volumes")
flags.BoolVarP(&rmOptions.Force, "force", "f", false, "Remove a volume by force, even if it is being used by a container")
+ timeFlagName := "time"
+ flags.UintVarP(&stopTimeout, timeFlagName, "t", containerConfig.Engine.StopTimeout, "Seconds to wait for running containers to stop before killing the container")
+ _ = rmCommand.RegisterFlagCompletionFunc(timeFlagName, completion.AutocompleteNone)
}
func rm(cmd *cobra.Command, args []string) error {
@@ -52,6 +57,12 @@ func rm(cmd *cobra.Command, args []string) error {
if (len(args) > 0 && rmOptions.All) || (len(args) < 1 && !rmOptions.All) {
return errors.New("choose either one or more volumes or all")
}
+ if cmd.Flag("time").Changed {
+ if !rmOptions.Force {
+ return errors.New("--force option must be specified to use the --time option")
+ }
+ rmOptions.Timeout = &stopTimeout
+ }
responses, err := registry.ContainerEngine().VolumeRm(context.Background(), args, rmOptions)
if err != nil {
setExitCode(err)