diff options
-rw-r--r-- | cmd/podman/exec.go | 19 | ||||
-rw-r--r-- | test/system/200-pod-top.bats | 2 |
2 files changed, 14 insertions, 7 deletions
diff --git a/cmd/podman/exec.go b/cmd/podman/exec.go index a6afbf75a..fc1c76e9f 100644 --- a/cmd/podman/exec.go +++ b/cmd/podman/exec.go @@ -112,14 +112,19 @@ func execCmd(c *cliconfig.ExecValues) error { var ret int data, err := ioutil.ReadFile(ctr.Config().ConmonPidFile) - if err != nil { - return errors.Wrapf(err, "cannot read conmon PID file %q", ctr.Config().ConmonPidFile) - } - conmonPid, err := strconv.Atoi(string(data)) - if err != nil { - return errors.Wrapf(err, "cannot parse PID %q", data) + if err == nil { + conmonPid, err := strconv.Atoi(string(data)) + if err != nil { + return errors.Wrapf(err, "cannot parse PID %q", data) + } + became, ret, err = rootless.JoinDirectUserAndMountNS(uint(conmonPid)) + } else { + pid, err := ctr.PID() + if err != nil { + return err + } + became, ret, err = rootless.JoinNS(uint(pid), c.PreserveFDs) } - became, ret, err = rootless.JoinDirectUserAndMountNS(uint(conmonPid)) if err != nil { return err } diff --git a/test/system/200-pod-top.bats b/test/system/200-pod-top.bats index 0200df00d..08f495fb1 100644 --- a/test/system/200-pod-top.bats +++ b/test/system/200-pod-top.bats @@ -3,6 +3,8 @@ load helpers @test "podman pod top - containers in different PID namespaces" { + skip "this test is not reliable. Reenable once pod-top is fixed." + # With infra=false, we don't get a /pause container (we also # don't pull k8s.gcr.io/pause ) no_infra='--infra=false' |