diff options
author | flouthoc <flouthoc.git@gmail.com> | 2021-06-26 18:55:08 +0530 |
---|---|---|
committer | flouthoc <flouthoc.git@gmail.com> | 2021-06-30 09:04:08 +0530 |
commit | 2243b6020330ea06abdb594db9c6c8ff429cfc5d (patch) | |
tree | d868bbae55668546b5ab579a92a1308208db2e83 /pkg/ps | |
parent | 0a0ade3cc00c3779bbf68ddd103d3efd10b5c25b (diff) | |
download | podman-2243b6020330ea06abdb594db9c6c8ff429cfc5d.tar.gz podman-2243b6020330ea06abdb594db9c6c8ff429cfc5d.tar.bz2 podman-2243b6020330ea06abdb594db9c6c8ff429cfc5d.zip |
reset: remove external containers on podman system reset
[NO TESTS NEEDED]
Signed-off-by: flouthoc <flouthoc.git@gmail.com>
Diffstat (limited to 'pkg/ps')
-rw-r--r-- | pkg/ps/ps.go | 34 |
1 files changed, 24 insertions, 10 deletions
diff --git a/pkg/ps/ps.go b/pkg/ps/ps.go index 0b76636de..ef79973d6 100644 --- a/pkg/ps/ps.go +++ b/pkg/ps/ps.go @@ -71,18 +71,11 @@ func GetContainerLists(runtime *libpod.Runtime, options entities.ContainerListOp } if options.All && options.External { - externCons, err := runtime.StorageContainers() + listCon, err := GetExternalContainerLists(runtime) if err != nil { return nil, err } - - for _, con := range externCons { - listCon, err := ListStorageContainer(runtime, con, options) - if err != nil { - return nil, err - } - pss = append(pss, listCon) - } + pss = append(pss, listCon...) } // Sort the containers we got @@ -97,6 +90,27 @@ func GetContainerLists(runtime *libpod.Runtime, options entities.ContainerListOp return pss, nil } +// GetExternalContainerLists returns list of external containers for e.g created by buildah +func GetExternalContainerLists(runtime *libpod.Runtime) ([]entities.ListContainer, error) { + var ( + pss = []entities.ListContainer{} + ) + + externCons, err := runtime.StorageContainers() + if err != nil { + return nil, err + } + + for _, con := range externCons { + listCon, err := ListStorageContainer(runtime, con) + if err != nil { + return nil, err + } + pss = append(pss, listCon) + } + return pss, nil +} + // BatchContainerOp is used in ps to reduce performance hits by "batching" // locks. func ListContainerBatch(rt *libpod.Runtime, ctr *libpod.Container, opts entities.ContainerListOptions) (entities.ListContainer, error) { @@ -231,7 +245,7 @@ func ListContainerBatch(rt *libpod.Runtime, ctr *libpod.Container, opts entities return ps, nil } -func ListStorageContainer(rt *libpod.Runtime, ctr storage.Container, opts entities.ContainerListOptions) (entities.ListContainer, error) { +func ListStorageContainer(rt *libpod.Runtime, ctr storage.Container) (entities.ListContainer, error) { name := "unknown" if len(ctr.Names) > 0 { name = ctr.Names[0] |