diff options
author | OpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com> | 2022-08-17 09:41:54 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-08-17 09:41:54 +0000 |
commit | c90eec2700d2e00a4b8f1e06ca640c034af5a530 (patch) | |
tree | b594eb9278a6a124c8acf4640de57b75721e3af4 /pkg/domain/infra/abi/containers.go | |
parent | a9131050cfca0844aabae505a3df6d43426a9fed (diff) | |
parent | bc56ee158fe34e05b4dc3b69ee1bf8a3f0a9e615 (diff) | |
download | podman-c90eec2700d2e00a4b8f1e06ca640c034af5a530.tar.gz podman-c90eec2700d2e00a4b8f1e06ca640c034af5a530.tar.bz2 podman-c90eec2700d2e00a4b8f1e06ca640c034af5a530.zip |
Merge pull request #14999 from sstosh/restart-option
Add restart --cidfile, --filter
Diffstat (limited to 'pkg/domain/infra/abi/containers.go')
-rw-r--r-- | pkg/domain/infra/abi/containers.go | 27 |
1 files changed, 19 insertions, 8 deletions
diff --git a/pkg/domain/infra/abi/containers.go b/pkg/domain/infra/abi/containers.go index 5b5bc665e..08d845d70 100644 --- a/pkg/domain/infra/abi/containers.go +++ b/pkg/domain/infra/abi/containers.go @@ -309,31 +309,42 @@ func (ic *ContainerEngine) ContainerKill(ctx context.Context, namesOrIds []strin func (ic *ContainerEngine) ContainerRestart(ctx context.Context, namesOrIds []string, options entities.RestartOptions) ([]*entities.RestartReport, error) { var ( - ctrs []*libpod.Container - err error + ctrs []*libpod.Container + err error + rawInputs = []string{} ) if options.Running { ctrs, err = ic.Libpod.GetRunningContainers() + for _, candidate := range ctrs { + rawInputs = append(rawInputs, candidate.ID()) + } + if err != nil { return nil, err } } else { - ctrs, err = getContainersByContext(options.All, options.Latest, namesOrIds, ic.Libpod) + ctrs, rawInputs, err = getContainersAndInputByContext(options.All, options.Latest, namesOrIds, options.Filters, ic.Libpod) if err != nil { return nil, err } } - + idToRawInput := map[string]string{} + if len(rawInputs) == len(ctrs) { + for i := range ctrs { + idToRawInput[ctrs[i].ID()] = rawInputs[i] + } + } reports := make([]*entities.RestartReport, 0, len(ctrs)) - for _, con := range ctrs { - timeout := con.StopTimeout() + for _, c := range ctrs { + timeout := c.StopTimeout() if options.Timeout != nil { timeout = *options.Timeout } reports = append(reports, &entities.RestartReport{ - Id: con.ID(), - Err: con.RestartWithTimeout(ctx, timeout), + Id: c.ID(), + Err: c.RestartWithTimeout(ctx, timeout), + RawInput: idToRawInput[c.ID()], }) } return reports, nil |