Merge pull request #5272 from edsantiago/filter_since

podman images: add --filter=since=XX
This commit is contained in:
OpenShift Merge Robot
2020-02-20 17:41:34 +01:00
committed by GitHub
3 changed files with 41 additions and 5 deletions

View File

@ -29,11 +29,11 @@ Filter output based on conditions provided
Filters: Filters:
**after==TIMESTRING** **since=IMAGE**
Filter on images created after the given time.Time. Filter on images created after the given IMAGE (name or tag).
**before==TIMESTRING** **before=IMAGE**
Filter on images created before the given time.Time. Filter on images created before the given IMAGE (name or tag).
**dangling=true|false** **dangling=true|false**
Show dangling images. Dangling images are a file system layer that was used in a previous build of an image and is no longer referenced by any active images. They are denoted with the <none> tag, consume disk space and serve no active purpose. Show dangling images. Dangling images are a file system layer that was used in a previous build of an image and is no longer referenced by any active images. They are denoted with the <none> tag, consume disk space and serve no active purpose.

View File

@ -141,7 +141,7 @@ func (ir *Runtime) createFilterFuncs(filters []string, img *Image) ([]ResultFilt
return nil, errors.Wrapf(err, "unable to find image %s in local stores", splitFilter[1]) return nil, errors.Wrapf(err, "unable to find image %s in local stores", splitFilter[1])
} }
filterFuncs = append(filterFuncs, CreatedBeforeFilter(before.Created())) filterFuncs = append(filterFuncs, CreatedBeforeFilter(before.Created()))
case "after": case "since", "after":
after, err := ir.NewFromLocal(splitFilter[1]) after, err := ir.NewFromLocal(splitFilter[1])
if err != nil { if err != nil {
return nil, errors.Wrapf(err, "unable to find image %s in local stores", splitFilter[1]) return nil, errors.Wrapf(err, "unable to find image %s in local stores", splitFilter[1])

View File

@ -74,4 +74,40 @@ size | [0-9]\\\+
run_podman rm my-container run_podman rm my-container
} }
@test "podman images - filter" {
skip_if_remote "podman commit -q is broken in podman-remote"
run_podman inspect --format '{{.ID}}' $IMAGE
iid=$output
run_podman images --noheading --filter=after=$iid
is "$output" "" "baseline: empty results from filter (after)"
run_podman images --noheading --filter=before=$iid
is "$output" "" "baseline: empty results from filter (before)"
# Create a dummy container, then commit that as an image. We will
# now be able to use before/after/since queries
run_podman run --name mytinycontainer $IMAGE true
run_podman commit -q mytinycontainer mynewimage
new_iid=$output
# (refactor common options for legibility)
opts='--noheading --no-trunc --format={{.ID}}--{{.Repository}}:{{.Tag}}'
run_podman images ${opts} --filter=after=$iid
is "$output" "sha256:$new_iid--localhost/mynewimage:latest" "filter: after"
# Same thing, with 'since' instead of 'after'
run_podman images ${opts} --filter=since=$iid
is "$output" "sha256:$new_iid--localhost/mynewimage:latest" "filter: since"
run_podman images ${opts} --filter=before=mynewimage
is "$output" "sha256:$iid--$IMAGE" "filter: before"
# Clean up
run_podman rmi mynewimage
run_podman rm mytinycontainer
}
# vim: filetype=sh # vim: filetype=sh