summaryrefslogtreecommitdiff
path: root/cmd/podman/utils
diff options
context:
space:
mode:
authorSujil02 <sushah@redhat.com>2020-04-29 22:41:56 -0400
committerSujil02 <sushah@redhat.com>2020-05-01 13:57:16 -0400
commitb94862171b29dbef4cd780e4b1746d97f62f7a94 (patch)
tree6d64486633a4ebc208f31431c81f1932ade979f4 /cmd/podman/utils
parent2f3762eb911258016581187f072a24ac2724be3b (diff)
downloadpodman-b94862171b29dbef4cd780e4b1746d97f62f7a94.tar.gz
podman-b94862171b29dbef4cd780e4b1746d97f62f7a94.tar.bz2
podman-b94862171b29dbef4cd780e4b1746d97f62f7a94.zip
And system prune feature for v2.
Adds podman system prune for v2. Refactoring for code reuse from pods containers images and volume prune. Adds and enables testcases to support the added feature. Signed-off-by: Sujil02 <sushah@redhat.com>
Diffstat (limited to 'cmd/podman/utils')
-rw-r--r--cmd/podman/utils/utils.go55
1 files changed, 54 insertions, 1 deletions
diff --git a/cmd/podman/utils/utils.go b/cmd/podman/utils/utils.go
index c7d105ba4..f4c704628 100644
--- a/cmd/podman/utils/utils.go
+++ b/cmd/podman/utils/utils.go
@@ -1,6 +1,11 @@
package utils
-import "os"
+import (
+ "fmt"
+ "os"
+
+ "github.com/containers/libpod/pkg/domain/entities"
+)
// IsDir returns true if the specified path refers to a directory.
func IsDir(path string) bool {
@@ -20,3 +25,51 @@ func FileExists(path string) bool {
}
return !file.IsDir()
}
+
+func PrintPodPruneResults(podPruneReports []*entities.PodPruneReport) error {
+ var errs OutputErrors
+ for _, r := range podPruneReports {
+ if r.Err == nil {
+ fmt.Println(r.Id)
+ } else {
+ errs = append(errs, r.Err)
+ }
+ }
+ return errs.PrintErrors()
+}
+
+func PrintContainerPruneResults(containerPruneReport *entities.ContainerPruneReport) error {
+ var errs OutputErrors
+ for k := range containerPruneReport.ID {
+ fmt.Println(k)
+ }
+ for _, v := range containerPruneReport.Err {
+ errs = append(errs, v)
+ }
+ return errs.PrintErrors()
+}
+
+func PrintVolumePruneResults(volumePruneReport []*entities.VolumePruneReport) error {
+ var errs OutputErrors
+ for _, r := range volumePruneReport {
+ if r.Err == nil {
+ fmt.Println(r.Id)
+ } else {
+ errs = append(errs, r.Err)
+ }
+ }
+ return errs.PrintErrors()
+}
+
+func PrintImagePruneResults(imagePruneReport *entities.ImagePruneReport) error {
+ for _, i := range imagePruneReport.Report.Id {
+ fmt.Println(i)
+ }
+ for _, e := range imagePruneReport.Report.Err {
+ fmt.Fprint(os.Stderr, e.Error()+"\n")
+ }
+ if imagePruneReport.Size > 0 {
+ fmt.Fprintf(os.Stdout, "Size: %d\n", imagePruneReport.Size)
+ }
+ return nil
+}