From 56f61d944ac8c20023039f81524b3df27d5826cb Mon Sep 17 00:00:00 2001 From: Daniel J Walsh Date: Sat, 25 Mar 2017 12:51:10 -0400 Subject: [PATCH] buildah delete should be able to delete multiple containers Simple change to allow users to specify multiple containers to delete. This would support cleaning up all containers buildah delete $( buildah list -q) Closes: #43 Approved by: rhatdan --- cmd/buildah/delete.go | 23 ++++++++++------------- cmd/buildah/main.go | 4 ++-- 2 files changed, 12 insertions(+), 15 deletions(-) diff --git a/cmd/buildah/delete.go b/cmd/buildah/delete.go index 14c723b64..d3c3142a7 100644 --- a/cmd/buildah/delete.go +++ b/cmd/buildah/delete.go @@ -7,7 +7,7 @@ import ( ) var ( - deleteDescription = "Deletes a working container, unmounting it if necessary" + deleteDescription = "Deletes working container(s), unmounting them if necessary" ) func deleteCmd(c *cli.Context) error { @@ -15,24 +15,21 @@ func deleteCmd(c *cli.Context) error { if len(args) == 0 { return fmt.Errorf("container ID must be specified") } - if len(args) > 1 { - return fmt.Errorf("too many arguments specified") - } - name := args[0] - store, err := getStore(c) if err != nil { return err } - builder, err := openBuilder(store, name) - if err != nil { - return fmt.Errorf("error reading build container %q: %v", name, err) - } + for _, name := range args { + builder, err := openBuilder(store, name) + if err != nil { + return fmt.Errorf("error reading build container %q: %v", name, err) + } - err = builder.Delete() - if err != nil { - return fmt.Errorf("error deleting container %q: %v", builder.Container, err) + err = builder.Delete() + if err != nil { + return fmt.Errorf("error deleting container %q: %v", builder.Container, err) + } } return nil diff --git a/cmd/buildah/main.go b/cmd/buildah/main.go index 5f5a8499d..13508b3f2 100644 --- a/cmd/buildah/main.go +++ b/cmd/buildah/main.go @@ -140,10 +140,10 @@ func main() { }, { Name: "delete", - Usage: "Delete a working container", + Usage: "Delete working container(s)", Description: deleteDescription, Action: deleteCmd, - ArgsUsage: "CONTAINER-NAME-OR-ID", + ArgsUsage: "CONTAINER-NAME-OR-ID [...]", }, } err := app.Run(os.Args)