Skip to content

Commit

Permalink
Merge pull request #23581 from Luap99/remote-ignore
Browse files Browse the repository at this point in the history
remote: fix invalid --cidfile + --ignore
  • Loading branch information
openshift-merge-bot[bot] authored Aug 12, 2024
2 parents 8f85a4d + 5ec413f commit 6738405
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 1 deletion.
3 changes: 3 additions & 0 deletions pkg/bindings/containers/containers.go
Original file line number Diff line number Diff line change
Expand Up @@ -405,6 +405,9 @@ func Stop(ctx context.Context, nameOrID string, options *StopOptions) error {
return err
}
defer response.Body.Close()
if options.GetIgnore() && response.StatusCode == http.StatusNotFound {
return nil
}

return response.Process(nil)
}
Expand Down
7 changes: 7 additions & 0 deletions pkg/domain/infra/tunnel/helpers.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,13 @@ func getContainersAndInputByContext(contextWithConnection context.Context, all,
if all && len(namesOrIDs) > 0 {
return nil, nil, errors.New("cannot look up containers and all")
}
// short cut if not all, not filters and no names are given. This can happen with
// --ignore and --cidfile, https://github.com/containers/podman/issues/23554.
// In this case we have to do nothting and not even have to do a request
if !all && len(filters) == 0 && len(namesOrIDs) == 0 {
return nil, nil, nil
}

options := new(containers.ListOptions).WithAll(true).WithSync(true).WithFilters(filters)
allContainers, err := containers.List(contextWithConnection, options)
if err != nil {
Expand Down
9 changes: 8 additions & 1 deletion test/system/050-stop.bats
Original file line number Diff line number Diff line change
Expand Up @@ -110,8 +110,15 @@ load helpers
run_podman 125 stop --cidfile=$nosuchfile
is "$output" "Error: reading CIDFile: open $nosuchfile: no such file or directory" "podman stop with missing cidfile, without --ignore"

# create a container to reproduce (#23554)
run_podman run -d $IMAGE sleep inf
cid="$output"

# Important for (#23554) that there is no output here
run_podman stop --cidfile=$nosuchfile --ignore
is "$output" "" "podman stop with missing cidfile, with --ignore"
is "$output" "" "podman stop with missing cidfile, with --ignore (empty output)"

run_podman rm -f -t0 $cid
}


Expand Down

0 comments on commit 6738405

Please sign in to comment.