diff options
author | OpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com> | 2020-12-08 13:08:05 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-08 13:08:05 -0500 |
commit | 47d2a4be2af5143c9619a65ec641daa1025130a3 (patch) | |
tree | 981e5617c0233441520a4aefb48843143597df26 | |
parent | 3bf02fb00a6ef23a55f818198107cf468b45ccf5 (diff) | |
parent | 46337b4708362e9fe2915c7efddc353d88a2cb5e (diff) | |
download | podman-47d2a4be2af5143c9619a65ec641daa1025130a3.tar.gz podman-47d2a4be2af5143c9619a65ec641daa1025130a3.tar.bz2 podman-47d2a4be2af5143c9619a65ec641daa1025130a3.zip |
Merge pull request #8648 from mheon/fix_7883
Make `podman stats` slirp check more robust
-rw-r--r-- | libpod/networking_linux.go | 7 | ||||
-rw-r--r-- | test/e2e/stats_test.go | 10 |
2 files changed, 13 insertions, 4 deletions
diff --git a/libpod/networking_linux.go b/libpod/networking_linux.go index 2171a9208..bf27989bf 100644 --- a/libpod/networking_linux.go +++ b/libpod/networking_linux.go @@ -900,10 +900,9 @@ func (r *Runtime) reloadContainerNetwork(ctr *Container) ([]*cnitypes.Result, er func getContainerNetIO(ctr *Container) (*netlink.LinkStatistics, error) { var netStats *netlink.LinkStatistics - // rootless v2 cannot seem to resolve its network connection to - // collect statistics. For now, we allow stats to at least run - // by returning nil - if rootless.IsRootless() { + // With slirp4netns, we can't collect statistics at present. + // For now, we allow stats to at least run by returning nil + if rootless.IsRootless() || ctr.config.NetMode.IsSlirp4netns() { return netStats, nil } netNSPath, netPathErr := getContainerNetNS(ctr) diff --git a/test/e2e/stats_test.go b/test/e2e/stats_test.go index 5e8a7a3d0..ab117a2a0 100644 --- a/test/e2e/stats_test.go +++ b/test/e2e/stats_test.go @@ -128,6 +128,16 @@ var _ = Describe("Podman stats", func() { Expect(session.ExitCode()).To(Equal(0)) }) + It("podman stats on container with forced slirp4netns", func() { + // This will force the slirp4netns net mode to be tested as root + session := podmanTest.Podman([]string{"run", "-d", "--net", "slirp4netns", ALPINE, "top"}) + session.WaitWithDefaultTimeout() + Expect(session.ExitCode()).To(Equal(0)) + session = podmanTest.Podman([]string{"stats", "--no-stream", "-a"}) + session.WaitWithDefaultTimeout() + Expect(session.ExitCode()).To(Equal(0)) + }) + // Regression test for #8265 It("podman stats with custom memory limits", func() { // Run thre containers. One with a memory limit. Make sure |