diff options
author | Brent Baude <bbaude@redhat.com> | 2020-04-09 16:11:38 -0500 |
---|---|---|
committer | Brent Baude <bbaude@redhat.com> | 2020-04-09 16:59:33 -0500 |
commit | 7d0e0a7129e18ca7295cf4b0fbec22d0df78d3dd (patch) | |
tree | 29102563982befd9a07106ab93a8ebab43b983f4 /pkg/domain/entities | |
parent | 3a4bd395164c97bf4b8b1fcb97f2475ca188866e (diff) | |
download | podman-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.go | 2 | ||||
-rw-r--r-- | pkg/domain/entities/containers.go | 18 | ||||
-rw-r--r-- | pkg/domain/entities/engine_container.go | 1 |
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) |