From 97c18c02cb46c9f5b0150b25e2b7ddab38384ae9 Mon Sep 17 00:00:00 2001 From: Anda Xu Date: Fri, 7 Sep 2018 13:43:21 -0700 Subject: [PATCH] create newBuildKit function separately in daemon_unix.go and daemon_windows.go for cross platform build Signed-off-by: Anda Xu (cherry picked from commit 66ac92cdc65be350ec53f1de51052374846dfe24) Upstream-commit: a5d731edecc75927f602c7f15e5ba9f5f77d3655 Component: engine --- .../engine/builder/builder-next/executor_unix.go | 3 +-- components/engine/cmd/dockerd/daemon.go | 12 +----------- components/engine/cmd/dockerd/daemon_unix.go | 16 ++++++++++++++++ components/engine/cmd/dockerd/daemon_windows.go | 5 +++++ 4 files changed, 23 insertions(+), 13 deletions(-) diff --git a/components/engine/builder/builder-next/executor_unix.go b/components/engine/builder/builder-next/executor_unix.go index 5bfa411324..94d8bb7660 100644 --- a/components/engine/builder/builder-next/executor_unix.go +++ b/components/engine/builder/builder-next/executor_unix.go @@ -21,7 +21,7 @@ const networkName = "bridge" func newExecutor(root, cgroupParent string, net libnetwork.NetworkController) (executor.Executor, error) { networkProviders := map[pb.NetMode]network.Provider{ - pb.NetMode_UNSET: &bridgeProvider{NetworkController: net, netnsRoot: netnsRoot}, + pb.NetMode_UNSET: &bridgeProvider{NetworkController: net}, pb.NetMode_HOST: network.NewHostProvider(), pb.NetMode_NONE: network.NewNoneProvider(), } @@ -34,7 +34,6 @@ func newExecutor(root, cgroupParent string, net libnetwork.NetworkController) (e type bridgeProvider struct { libnetwork.NetworkController - netnsRoot string } func (p *bridgeProvider) New() (network.Namespace, error) { diff --git a/components/engine/cmd/dockerd/daemon.go b/components/engine/cmd/dockerd/daemon.go index 8b27d9be66..416d9df46c 100644 --- a/components/engine/cmd/dockerd/daemon.go +++ b/components/engine/cmd/dockerd/daemon.go @@ -284,17 +284,7 @@ func newRouterOptions(config *config.Config, d *daemon.Daemon) (routerOptions, e if err != nil { return opts, err } - cgroupParent := "docker" - useSystemd := daemon.UsingSystemd(config) - if useSystemd { - cgroupParent = "system.slice" - } - if config.CgroupParent != "" { - cgroupParent = config.CgroupParent - } - if useSystemd { - cgroupParent = cgroupParent + ":" + "docker" + ":" - } + cgroupParent := newCgroupParent(config) bk, err := buildkit.New(buildkit.Opt{ SessionManager: sm, Root: filepath.Join(config.Root, "buildkit"), diff --git a/components/engine/cmd/dockerd/daemon_unix.go b/components/engine/cmd/dockerd/daemon_unix.go index df51c3ef4b..7b03e28594 100644 --- a/components/engine/cmd/dockerd/daemon_unix.go +++ b/components/engine/cmd/dockerd/daemon_unix.go @@ -13,6 +13,7 @@ import ( "github.com/containerd/containerd/runtime/v1/linux" "github.com/docker/docker/cmd/dockerd/hack" "github.com/docker/docker/daemon" + "github.com/docker/docker/daemon/config" "github.com/docker/docker/libcontainerd/supervisor" "github.com/docker/libnetwork/portallocator" "golang.org/x/sys/unix" @@ -107,3 +108,18 @@ func wrapListeners(proto string, ls []net.Listener) []net.Listener { } return ls } + +func newCgroupParent(config *config.Config) string { + cgroupParent := "docker" + useSystemd := daemon.UsingSystemd(config) + if useSystemd { + cgroupParent = "system.slice" + } + if config.CgroupParent != "" { + cgroupParent = config.CgroupParent + } + if useSystemd { + cgroupParent = cgroupParent + ":" + "docker" + ":" + } + return cgroupParent +} diff --git a/components/engine/cmd/dockerd/daemon_windows.go b/components/engine/cmd/dockerd/daemon_windows.go index 11ff7da871..3b9ed9551f 100644 --- a/components/engine/cmd/dockerd/daemon_windows.go +++ b/components/engine/cmd/dockerd/daemon_windows.go @@ -6,6 +6,7 @@ import ( "os" "path/filepath" + "github.com/docker/docker/daemon/config" "github.com/docker/docker/libcontainerd/supervisor" "github.com/sirupsen/logrus" "golang.org/x/sys/windows" @@ -83,3 +84,7 @@ func allocateDaemonPort(addr string) error { func wrapListeners(proto string, ls []net.Listener) []net.Listener { return ls } + +func newCgroupParent(config *config.Config) string { + return "" +}