Merge pull request #20481 from vrothberg/fix-20469

compat API: fix image-prune --all
This commit is contained in:
openshift-ci[bot]
2023-10-25 11:29:30 +00:00
committed by GitHub
2 changed files with 14 additions and 1 deletions

View File

@ -56,7 +56,18 @@ func (ir *ImageEngine) Prune(ctx context.Context, opts entities.ImagePruneOption
}
if !opts.All {
pruneOptions.Filters = append(pruneOptions.Filters, "dangling=true")
// Issue #20469: Docker clients handle the --all flag on the
// client side by setting the dangling filter directly.
alreadySet := false
for _, filter := range pruneOptions.Filters {
if strings.HasPrefix(filter, "dangling=") {
alreadySet = true
break
}
}
if !alreadySet {
pruneOptions.Filters = append(pruneOptions.Filters, "dangling=true")
}
}
if opts.External {
pruneOptions.Filters = append(pruneOptions.Filters, "containers=external")

View File

@ -164,6 +164,8 @@ t DELETE libpod/images/test:test 200
t GET images/json?filters='{"label":["xyz"]}' 200 length=0
t GET libpod/images/json?filters='{"label":["xyz"]}' 200 length=0
# Must not error out: #20469
t POST images/prune?filters='{"dangling":["false"]}' 200
# to be used in prune until filter tests
podman image build -t test1:latest -<<EOF