From 600f0ad21142f4085330107f629a80099af0490f Mon Sep 17 00:00:00 2001 From: John Howard Date: Thu, 13 Oct 2016 14:51:10 -0700 Subject: [PATCH] Windows: Factor out unused fields in container Signed-off-by: John Howard --- container/container_windows.go | 3 --- daemon/container_operations.go | 14 ++------------ daemon/container_operations_unix.go | 24 ++++++++++++++++++++++++ daemon/container_operations_windows.go | 12 +++++++++++- 4 files changed, 37 insertions(+), 16 deletions(-) diff --git a/container/container_windows.go b/container/container_windows.go index 566462afda..d4ef35bfc6 100644 --- a/container/container_windows.go +++ b/container/container_windows.go @@ -17,9 +17,6 @@ import ( type Container struct { CommonContainer - HostnamePath string - HostsPath string - ResolvConfPath string // Fields below here are platform specific. } diff --git a/daemon/container_operations.go b/daemon/container_operations.go index 4657e12035..4271b7f751 100644 --- a/daemon/container_operations.go +++ b/daemon/container_operations.go @@ -63,17 +63,9 @@ func (daemon *Daemon) buildSandboxOptions(container *container.Container) ([]lib sboxOptions = append(sboxOptions, libnetwork.OptionUseExternalKey()) } - container.HostsPath, err = container.GetRootResourcePath("hosts") - if err != nil { + if err = setupPathsAndSandboxOptions(container, &sboxOptions); err != nil { return nil, err } - sboxOptions = append(sboxOptions, libnetwork.OptionHostsPath(container.HostsPath)) - - container.ResolvConfPath, err = container.GetRootResourcePath("resolv.conf") - if err != nil { - return nil, err - } - sboxOptions = append(sboxOptions, libnetwork.OptionResolvConfPath(container.ResolvConfPath)) if len(container.HostConfig.DNS) > 0 { dns = container.HostConfig.DNS @@ -809,9 +801,7 @@ func (daemon *Daemon) initializeNetworking(container *container.Container) error if err != nil { return err } - container.HostnamePath = nc.HostnamePath - container.HostsPath = nc.HostsPath - container.ResolvConfPath = nc.ResolvConfPath + initializeNetworkingPaths(container, nc) container.Config.Hostname = nc.Config.Hostname container.Config.Domainname = nc.Config.Domainname return nil diff --git a/daemon/container_operations_unix.go b/daemon/container_operations_unix.go index 930da7e7b3..08d6436af0 100644 --- a/daemon/container_operations_unix.go +++ b/daemon/container_operations_unix.go @@ -20,6 +20,7 @@ import ( "github.com/docker/docker/pkg/mount" "github.com/docker/docker/pkg/stringid" "github.com/docker/docker/runconfig" + "github.com/docker/libnetwork" "github.com/opencontainers/runc/libcontainer/configs" "github.com/opencontainers/runc/libcontainer/devices" "github.com/opencontainers/runc/libcontainer/label" @@ -330,3 +331,26 @@ func enableIPOnPredefinedNetwork() bool { func (daemon *Daemon) isNetworkHotPluggable() bool { return true } + +func setupPathsAndSandboxOptions(container *container.Container, sboxOptions *[]libnetwork.SandboxOption) error { + var err error + + container.HostsPath, err = container.GetRootResourcePath("hosts") + if err != nil { + return err + } + *sboxOptions = append(*sboxOptions, libnetwork.OptionHostsPath(container.HostsPath)) + + container.ResolvConfPath, err = container.GetRootResourcePath("resolv.conf") + if err != nil { + return err + } + *sboxOptions = append(*sboxOptions, libnetwork.OptionResolvConfPath(container.ResolvConfPath)) + return nil +} + +func initializeNetworkingPaths(container *container.Container, nc *container.Container) { + container.HostnamePath = nc.HostnamePath + container.HostsPath = nc.HostsPath + container.ResolvConfPath = nc.ResolvConfPath +} diff --git a/daemon/container_operations_windows.go b/daemon/container_operations_windows.go index aa08aee36d..d05f251e05 100644 --- a/daemon/container_operations_windows.go +++ b/daemon/container_operations_windows.go @@ -2,7 +2,10 @@ package daemon -import "github.com/docker/docker/container" +import ( + "github.com/docker/docker/container" + "github.com/docker/libnetwork" +) func (daemon *Daemon) setupLinkedContainers(container *container.Container) ([]string, error) { return nil, nil @@ -47,3 +50,10 @@ func enableIPOnPredefinedNetwork() bool { func (daemon *Daemon) isNetworkHotPluggable() bool { return false } + +func setupPathsAndSandboxOptions(container *container.Container, sboxOptions *[]libnetwork.SandboxOption) error { + return nil +} + +func initializeNetworkingPaths(container *container.Container, nc *container.Container) { +}