This is an automated email from the ASF dual-hosted git repository. jieyu pushed a commit to branch 1.7.x in repository https://gitbox.apache.org/repos/asf/mesos.git
commit 821494e785cc215d605d3f4a0771e3a24fac59ec Author: Sergey Urbanovich <[email protected]> AuthorDate: Tue Aug 21 13:23:08 2018 -0700 Skip the container if there's no container network. If the container wants to join host network it won't have container networks. In that case `rootDir` could be not configured and `rootDir.get()` in `usage()` will cause mesos agent crash. Review: https://reviews.apache.org/r/68448/ (cherry picked from commit e6828b778ca3bcac0f1400049440661702668cc5) --- src/slave/containerizer/mesos/isolators/network/cni/cni.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/slave/containerizer/mesos/isolators/network/cni/cni.cpp b/src/slave/containerizer/mesos/isolators/network/cni/cni.cpp index 6df52a5..ed47046 100644 --- a/src/slave/containerizer/mesos/isolators/network/cni/cni.cpp +++ b/src/slave/containerizer/mesos/isolators/network/cni/cni.cpp @@ -1513,6 +1513,16 @@ Future<ResourceStatistics> NetworkCniIsolatorProcess::usage( return ResourceStatistics(); } + // Skip the container if there's no container network, e.g. + // container joins host network. + if (infos[containerId]->containerNetworks.empty()) { + return ResourceStatistics(); + } + + // If the `network/cni` isolator is providing network isolation to + // the container its `rootDir` should always be set. + CHECK_SOME(rootDir); + const string netns = paths::getNamespacePath(rootDir.get(), containerId); // We collect networking statistics only for known interfaces.
