summaryrefslogtreecommitdiff
path: root/pkg/domain/infra/abi/pods.go
diff options
context:
space:
mode:
authorValentin Rothberg <rothberg@redhat.com>2020-03-27 11:46:33 +0100
committerValentin Rothberg <rothberg@redhat.com>2020-03-28 17:32:22 +0100
commit9812804f754120fcf14256bf0ed9cd00c36bf9f7 (patch)
treef9412fd2ac6cdfba7c688aaf122c97e5f2e1701a /pkg/domain/infra/abi/pods.go
parentcc129d13c5b8b80f542dbc6192ff3d5df29b47ee (diff)
downloadpodman-9812804f754120fcf14256bf0ed9cd00c36bf9f7.tar.gz
podman-9812804f754120fcf14256bf0ed9cd00c36bf9f7.tar.bz2
podman-9812804f754120fcf14256bf0ed9cd00c36bf9f7.zip
podmanv2: implement pod top
Implement `podman pod top` for podmanV2. Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
Diffstat (limited to 'pkg/domain/infra/abi/pods.go')
-rw-r--r--pkg/domain/infra/abi/pods.go22
1 files changed, 22 insertions, 0 deletions
diff --git a/pkg/domain/infra/abi/pods.go b/pkg/domain/infra/abi/pods.go
index 619e973cf..8abcc6e4b 100644
--- a/pkg/domain/infra/abi/pods.go
+++ b/pkg/domain/infra/abi/pods.go
@@ -250,3 +250,25 @@ func (ic *ContainerEngine) PodCreate(ctx context.Context, opts entities.PodCreat
}
return &entities.PodCreateReport{Id: pod.ID()}, nil
}
+
+func (ic *ContainerEngine) PodTop(ctx context.Context, options entities.PodTopOptions) (*entities.StringSliceReport, error) {
+ var (
+ pod *libpod.Pod
+ err error
+ )
+
+ // Look up the pod.
+ if options.Latest {
+ pod, err = ic.Libpod.GetLatestPod()
+ } else {
+ pod, err = ic.Libpod.LookupPod(options.NameOrID)
+ }
+ if err != nil {
+ return nil, errors.Wrap(err, "unable to lookup requested container")
+ }
+
+ // Run Top.
+ report := &entities.StringSliceReport{}
+ report.Value, err = pod.GetPodPidInformation(options.Descriptors)
+ return report, err
+}