From 79d65bc98b44d8d4175720eccf8dc5e0eeeaa253 Mon Sep 17 00:00:00 2001 From: Bryan Boreham Date: Wed, 4 Oct 2017 13:32:52 +0000 Subject: [PATCH] Report errors from rewriting /etc/hosts --- proxy/hosts.go | 3 +-- proxy/proxy.go | 6 +++++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/proxy/hosts.go b/proxy/hosts.go index 91b2da67ea..883e4c2b4f 100644 --- a/proxy/hosts.go +++ b/proxy/hosts.go @@ -20,8 +20,7 @@ func (proxy *Proxy) RewriteEtcHosts(hostsPath, fqdn string, ips []*net.IPNet, ex contents := buf.String() cmdLine := fmt.Sprintf("echo '%s' > %s && rm -f %s && echo '%s' > %s", contents, mntHosts, mntHosts, contents, mntHosts) mounts := []string{hostsPathDir + ":" + mnt} - proxy.runTransientContainer([]string{"sh"}, []string{"-c", cmdLine}, mounts) - return nil + return proxy.runTransientContainer([]string{"sh"}, []string{"-c", cmdLine}, mounts) } // we assume (for compatibility with the weave script) that fqdn has a dot diff --git a/proxy/proxy.go b/proxy/proxy.go index 893168bc49..c7c58f5f62 100644 --- a/proxy/proxy.go +++ b/proxy/proxy.go @@ -510,7 +510,10 @@ func (proxy *Proxy) attach(containerID string) error { if container.HostConfig != nil { extraHosts = container.HostConfig.ExtraHosts } - proxy.RewriteEtcHosts(container.HostsPath, fqdn, ips, extraHosts) + if err := proxy.RewriteEtcHosts(container.HostsPath, fqdn, ips, extraHosts); err != nil { + Log.Errorf("Error from rewriting container's /etc/hosts: %s", err) + // carry on since the original /etc/hosts is good enough in most cases + } } pid := container.State.Pid @@ -684,6 +687,7 @@ func (proxy *Proxy) runTransientContainer(entrypoint, cmd, binds []string) (err env = append(env, fmt.Sprintf("%s=%s", "WEAVE_DEBUG", val)) } + Log.Debugf("Running image %q; entrypoint=%q; cmd=%q; binds=%q", proxy.Image, entrypoint, fmt.Sprintf("%.72s", cmd), binds) var container *docker.Container container, err = proxy.client.CreateContainer(docker.CreateContainerOptions{ Config: &docker.Config{