summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cmd/podman/exec.go19
-rw-r--r--test/system/200-pod-top.bats2
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'