summaryrefslogtreecommitdiff
path: root/pkg/domain/entities
diff options
context:
space:
mode:
authorBrent Baude <bbaude@redhat.com>2020-04-09 16:11:38 -0500
committerBrent Baude <bbaude@redhat.com>2020-04-09 16:59:33 -0500
commit7d0e0a7129e18ca7295cf4b0fbec22d0df78d3dd (patch)
tree29102563982befd9a07106ab93a8ebab43b983f4 /pkg/domain/entities
parent3a4bd395164c97bf4b8b1fcb97f2475ca188866e (diff)
downloadpodman-7d0e0a7129e18ca7295cf4b0fbec22d0df78d3dd.tar.gz
podman-7d0e0a7129e18ca7295cf4b0fbec22d0df78d3dd.tar.bz2
podman-7d0e0a7129e18ca7295cf4b0fbec22d0df78d3dd.zip
v2podman container cleanup
add the ability to clean up after a container has attempted to run. this is also important for podman run --rm --rmi. also included are fixes and tweaks to various code bits to correct regressions on output. Signed-off-by: Brent Baude <bbaude@redhat.com>
Diffstat (limited to 'pkg/domain/entities')
-rw-r--r--pkg/domain/entities/container_ps.go2
-rw-r--r--pkg/domain/entities/containers.go18
-rw-r--r--pkg/domain/entities/engine_container.go1
3 files changed, 20 insertions, 1 deletions
diff --git a/pkg/domain/entities/container_ps.go b/pkg/domain/entities/container_ps.go
index 8a8666ff9..f07b0364f 100644
--- a/pkg/domain/entities/container_ps.go
+++ b/pkg/domain/entities/container_ps.go
@@ -68,7 +68,7 @@ func (l ListContainer) State() string {
state = "Up " + t + " ago"
case "configured":
state = "Created"
- case "exited":
+ case "exited", "stopped":
t := units.HumanDuration(time.Since(time.Unix(l.ExitedAt, 0)))
state = fmt.Sprintf("Exited (%d) %s ago", l.ExitCode, t)
default:
diff --git a/pkg/domain/entities/containers.go b/pkg/domain/entities/containers.go
index 98f9f9471..51e6cc751 100644
--- a/pkg/domain/entities/containers.go
+++ b/pkg/domain/entities/containers.go
@@ -265,3 +265,21 @@ type ContainerRunReport struct {
ExitCode int
Id string
}
+
+// ContainerCleanupOptions are the CLI values for the
+// cleanup command
+type ContainerCleanupOptions struct {
+ All bool
+ Latest bool
+ Remove bool
+ RemoveImage bool
+}
+
+// ContainerCleanupReport describes the response from a
+// container cleanup
+type ContainerCleanupReport struct {
+ CleanErr error
+ Id string
+ RmErr error
+ RmiErr error
+}
diff --git a/pkg/domain/entities/engine_container.go b/pkg/domain/entities/engine_container.go
index 0ef6018e8..7e455b969 100644
--- a/pkg/domain/entities/engine_container.go
+++ b/pkg/domain/entities/engine_container.go
@@ -10,6 +10,7 @@ import (
type ContainerEngine interface {
ContainerAttach(ctx context.Context, nameOrId string, options AttachOptions) error
ContainerCheckpoint(ctx context.Context, namesOrIds []string, options CheckpointOptions) ([]*CheckpointReport, error)
+ ContainerCleanup(ctx context.Context, namesOrIds []string, options ContainerCleanupOptions) ([]*ContainerCleanupReport, error)
ContainerCommit(ctx context.Context, nameOrId string, options CommitOptions) (*CommitReport, error)
ContainerCreate(ctx context.Context, s *specgen.SpecGenerator) (*ContainerCreateReport, error)
ContainerDiff(ctx context.Context, nameOrId string, options DiffOptions) (*DiffReport, error)