From 7a2f508b502faa9cfc294bfe90a3460c7cd492ca Mon Sep 17 00:00:00 2001 From: Rohit Jnagal Date: Fri, 21 Aug 2015 18:58:11 +0000 Subject: [PATCH] Fix network info for docker containers running with --net=host. Docker still reports a loop device for these. Need to check for more than one device to mark network as available. --- container/docker/handler.go | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/container/docker/handler.go b/container/docker/handler.go index 2344fc05..2ad1f306 100644 --- a/container/docker/handler.go +++ b/container/docker/handler.go @@ -167,7 +167,16 @@ func libcontainerConfigToContainerSpec(config *libcontainerConfigs.Config, mi *i } spec.Cpu.Mask = utils.FixCpuMask(config.Cgroups.CpusetCpus, mi.NumCores) - spec.HasNetwork = len(config.Networks) > 0 + // Docker reports a loop device for containers with --net=host. Ignore + // those too. + networkCount := 0 + for _, n := range config.Networks { + if n.Type != "loopback" { + networkCount += 1 + } + } + + spec.HasNetwork = networkCount > 0 spec.HasDiskIo = true return spec