From 9236191a98a0e9b8aa4ac7da4d4b1c0c196344e2 Mon Sep 17 00:00:00 2001 From: Aleksa Sarai Date: Thu, 29 Nov 2018 20:53:16 +1100 Subject: [PATCH] revert "Remove 'docker-' prefix for containerd and runc binaries" This reverts commit 34eede0296bce6a9c335cb429f10728ae3f4252d, as it would significantly break openSUSE's packaging (as well as causing conflicts between the very-outdated runc that Docker uses and the more up-to-date one available for Podman). Signed-off-by: Aleksa Sarai --- components/engine/api/swagger.yaml | 4 +-- .../builder/builder-next/executor_unix.go | 2 +- components/engine/cmd/dockerd/daemon.go | 36 +++++++------------ components/engine/daemon/daemon_unix.go | 6 ++-- .../libcontainerd/supervisor/remote_daemon.go | 4 +-- .../supervisor/remote_daemon_linux.go | 4 +-- .../supervisor/remote_daemon_windows.go | 4 +-- 7 files changed, 25 insertions(+), 35 deletions(-) diff --git a/components/engine/api/swagger.yaml b/components/engine/api/swagger.yaml index f58a64f29ea3..d275f2ff49eb 100644 --- a/components/engine/api/swagger.yaml +++ b/components/engine/api/swagger.yaml @@ -3852,10 +3852,10 @@ definitions: $ref: "#/definitions/Runtime" default: runc: - path: "runc" + path: "docker-runc" example: runc: - path: "runc" + path: "docker-runc" runc-master: path: "/go/bin/runc" custom: diff --git a/components/engine/builder/builder-next/executor_unix.go b/components/engine/builder/builder-next/executor_unix.go index b3ea33c05c71..94d8bb766045 100644 --- a/components/engine/builder/builder-next/executor_unix.go +++ b/components/engine/builder/builder-next/executor_unix.go @@ -27,7 +27,7 @@ func newExecutor(root, cgroupParent string, net libnetwork.NetworkController) (e } return runcexecutor.New(runcexecutor.Opt{ Root: filepath.Join(root, "executor"), - CommandCandidates: []string{"runc"}, + CommandCandidates: []string{"docker-runc", "runc"}, DefaultCgroupParent: cgroupParent, }, networkProviders) } diff --git a/components/engine/cmd/dockerd/daemon.go b/components/engine/cmd/dockerd/daemon.go index 839537316af4..05922e6418d0 100644 --- a/components/engine/cmd/dockerd/daemon.go +++ b/components/engine/cmd/dockerd/daemon.go @@ -10,7 +10,6 @@ import ( "strings" "time" - containerddefaults "github.com/containerd/containerd/defaults" "github.com/docker/distribution/uuid" "github.com/docker/docker/api" apiserver "github.com/docker/docker/api/server" @@ -141,25 +140,21 @@ func (cli *DaemonCli) start(opts *daemonOptions) (err error) { ctx, cancel := context.WithCancel(context.Background()) if cli.Config.ContainerdAddr == "" && runtime.GOOS != "windows" { - if !systemContainerdRunning() { - opts, err := cli.getContainerdDaemonOpts() - if err != nil { - cancel() - return fmt.Errorf("Failed to generate containerd options: %v", err) - } - - r, err := supervisor.Start(ctx, filepath.Join(cli.Config.Root, "containerd"), filepath.Join(cli.Config.ExecRoot, "containerd"), opts...) - if err != nil { - cancel() - return fmt.Errorf("Failed to start containerd: %v", err) - } - cli.Config.ContainerdAddr = r.Address() + opts, err := cli.getContainerdDaemonOpts() + if err != nil { + cancel() + return fmt.Errorf("Failed to generate containerd options: %v", err) + } - // Try to wait for containerd to shutdown - defer r.WaitTimeout(10 * time.Second) - } else { - cli.Config.ContainerdAddr = containerddefaults.DefaultAddress + r, err := supervisor.Start(ctx, filepath.Join(cli.Config.Root, "containerd"), filepath.Join(cli.Config.ExecRoot, "containerd"), opts...) + if err != nil { + cancel() + return fmt.Errorf("Failed to start containerd: %v", err) } + cli.Config.ContainerdAddr = r.Address() + + // Try to wait for containerd to shutdown + defer r.WaitTimeout(10 * time.Second) } defer cancel() @@ -665,8 +660,3 @@ func validateAuthzPlugins(requestedPlugins []string, pg plugingetter.PluginGette } return nil } - -func systemContainerdRunning() bool { - _, err := os.Lstat(containerddefaults.DefaultAddress) - return err == nil -} diff --git a/components/engine/daemon/daemon_unix.go b/components/engine/daemon/daemon_unix.go index b69eede21c44..77adba94a468 100644 --- a/components/engine/daemon/daemon_unix.go +++ b/components/engine/daemon/daemon_unix.go @@ -54,11 +54,11 @@ import ( const ( // DefaultShimBinary is the default shim to be used by containerd if none // is specified - DefaultShimBinary = "containerd-shim" + DefaultShimBinary = "docker-containerd-shim" // DefaultRuntimeBinary is the default runtime to be used by // containerd if none is specified - DefaultRuntimeBinary = "runc" + DefaultRuntimeBinary = "docker-runc" // See https://git.kernel.org/cgit/linux/kernel/git/tip/tip.git/tree/kernel/sched/sched.h?id=8cd9234c64c584432f6992fe944ca9e46ca8ea76#n269 linuxMinCPUShares = 2 @@ -76,7 +76,7 @@ const ( // DefaultRuntimeName is the default runtime to be used by // containerd if none is specified - DefaultRuntimeName = "runc" + DefaultRuntimeName = "docker-runc" ) type containerGetter interface { diff --git a/components/engine/libcontainerd/supervisor/remote_daemon.go b/components/engine/libcontainerd/supervisor/remote_daemon.go index 095300f753e9..1dcfbe176b0d 100644 --- a/components/engine/libcontainerd/supervisor/remote_daemon.go +++ b/components/engine/libcontainerd/supervisor/remote_daemon.go @@ -27,8 +27,8 @@ const ( shutdownTimeout = 15 * time.Second startupTimeout = 15 * time.Second configFile = "containerd.toml" - binaryName = "containerd" - pidFile = "containerd.pid" + binaryName = "docker-containerd" + pidFile = "docker-containerd.pid" ) type pluginConfigs struct { diff --git a/components/engine/libcontainerd/supervisor/remote_daemon_linux.go b/components/engine/libcontainerd/supervisor/remote_daemon_linux.go index 799399c07bc5..1ea91d2b5d0b 100644 --- a/components/engine/libcontainerd/supervisor/remote_daemon_linux.go +++ b/components/engine/libcontainerd/supervisor/remote_daemon_linux.go @@ -11,8 +11,8 @@ import ( ) const ( - sockFile = "containerd.sock" - debugSockFile = "containerd-debug.sock" + sockFile = "docker-containerd.sock" + debugSockFile = "docker-containerd-debug.sock" ) func (r *remote) setDefaults() { diff --git a/components/engine/libcontainerd/supervisor/remote_daemon_windows.go b/components/engine/libcontainerd/supervisor/remote_daemon_windows.go index 9b254ef58a0a..bcdc9529e0f7 100644 --- a/components/engine/libcontainerd/supervisor/remote_daemon_windows.go +++ b/components/engine/libcontainerd/supervisor/remote_daemon_windows.go @@ -7,8 +7,8 @@ import ( ) const ( - grpcPipeName = `\\.\pipe\containerd-containerd` - debugPipeName = `\\.\pipe\containerd-debug` + grpcPipeName = `\\.\pipe\docker-containerd-containerd` + debugPipeName = `\\.\pipe\docker-containerd-debug` ) func (r *remote) setDefaults() { -- 2.19.2