From 71605fc3179e521bd03e939d732b9076c1db1dd3 Mon Sep 17 00:00:00 2001 From: Tonis Tiigi Date: Wed, 28 Nov 2018 21:28:16 -0800 Subject: [PATCH 1/3] builder: set externalkey option for faster hook processing Signed-off-by: Tonis Tiigi (cherry picked from commit 1ad272c7e409476fd50fc701d45329b1e05bdec9) Upstream-commit: 8fe3b4d2ec06720fedfce2c2ef1b4fd7940961a6 Component: engine --- components/engine/builder/builder-next/executor_unix.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/components/engine/builder/builder-next/executor_unix.go b/components/engine/builder/builder-next/executor_unix.go index b3ea33c05c..9f2664225c 100644 --- a/components/engine/builder/builder-next/executor_unix.go +++ b/components/engine/builder/builder-next/executor_unix.go @@ -63,13 +63,13 @@ func (iface *lnInterface) init(c libnetwork.NetworkController, n libnetwork.Netw defer close(iface.ready) id := identity.NewID() - ep, err := n.CreateEndpoint(id) + ep, err := n.CreateEndpoint(id, libnetwork.CreateOptionDisableResolution()) if err != nil { iface.err = err return } - sbx, err := c.NewSandbox(id) + sbx, err := c.NewSandbox(id, libnetwork.OptionUseExternalKey()) if err != nil { iface.err = err return From 6709623942c2d9215186759e170b8d1cf33169e3 Mon Sep 17 00:00:00 2001 From: Tonis Tiigi Date: Wed, 28 Nov 2018 22:55:39 -0800 Subject: [PATCH 2/3] builder: delete sandbox in a goroutine for performance Signed-off-by: Tonis Tiigi (cherry picked from commit bcf1967dd0893b36c56c8c9b87c84246916484a1) Upstream-commit: 73911117b30ba74c42177b0f002bb4e98f2473f9 Component: engine --- .../engine/builder/builder-next/executor_unix.go | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/components/engine/builder/builder-next/executor_unix.go b/components/engine/builder/builder-next/executor_unix.go index 9f2664225c..3a11f85881 100644 --- a/components/engine/builder/builder-next/executor_unix.go +++ b/components/engine/builder/builder-next/executor_unix.go @@ -15,6 +15,7 @@ import ( "github.com/moby/buildkit/solver/pb" "github.com/moby/buildkit/util/network" specs "github.com/opencontainers/runtime-spec/specs-go" + "github.com/sirupsen/logrus" ) const networkName = "bridge" @@ -100,10 +101,10 @@ func (iface *lnInterface) Set(s *specs.Spec) { func (iface *lnInterface) Close() error { <-iface.ready - err := iface.sbx.Delete() - if iface.err != nil { - // iface.err takes precedence over cleanup errors - return iface.err - } - return err + go func() { + if err := iface.sbx.Delete(); err != nil { + logrus.Errorf("failed to delete builder network sandbox: %v", err) + } + }() + return iface.err } From 67db4a25e13e4e39f86202da1d0db1f7f36aecf6 Mon Sep 17 00:00:00 2001 From: Sebastiaan van Stijn Date: Fri, 30 Nov 2018 20:43:05 +0100 Subject: [PATCH 3/3] Bump Go to 1.10.5 go1.10.5 (released 2018/11/02) includes fixes to the go command, linker, runtime and the database/sql package. See the milestone on the issue tracker for details: List of changes; https://github.com/golang/go/issues?q=milestone%3AGo1.10.5 Signed-off-by: Sebastiaan van Stijn Upstream-commit: 00ad8e7c5730f3c50ae2e548b47d1340202f72b2 Component: engine --- components/engine/Dockerfile | 4 ++-- components/engine/Dockerfile.e2e | 2 +- components/engine/Dockerfile.simple | 2 +- components/engine/Dockerfile.windows | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/components/engine/Dockerfile b/components/engine/Dockerfile index 5c2bb9e791..4ecfd9faef 100644 --- a/components/engine/Dockerfile +++ b/components/engine/Dockerfile @@ -24,10 +24,10 @@ # the case. Therefore, you don't have to disable it anymore. # -FROM golang:1.10.4 AS base +FROM golang:1.10.5 AS base # FIXME(vdemeester) this is kept for other script depending on it to not fail right away # Remove this once the other scripts uses something else to detect the version -ENV GO_VERSION 1.10.4 +ENV GO_VERSION 1.10.5 # allow replacing httpredir or deb mirror ARG APT_MIRROR=deb.debian.org RUN sed -ri "s/(httpredir|deb).debian.org/$APT_MIRROR/g" /etc/apt/sources.list diff --git a/components/engine/Dockerfile.e2e b/components/engine/Dockerfile.e2e index 45c5eece0c..12f05ace24 100644 --- a/components/engine/Dockerfile.e2e +++ b/components/engine/Dockerfile.e2e @@ -1,5 +1,5 @@ ## Step 1: Build tests -FROM golang:1.10.4-alpine3.7 as builder +FROM golang:1.10.5-alpine3.7 as builder RUN apk add --update \ bash \ diff --git a/components/engine/Dockerfile.simple b/components/engine/Dockerfile.simple index 1fe426bcd2..40a745e20e 100644 --- a/components/engine/Dockerfile.simple +++ b/components/engine/Dockerfile.simple @@ -42,7 +42,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ # will need updating, to avoid errors. Ping #docker-maintainers on IRC # with a heads-up. # IMPORTANT: When updating this please note that stdlib archive/tar pkg is vendored -ENV GO_VERSION 1.10.4 +ENV GO_VERSION 1.10.5 RUN curl -fsSL "https://golang.org/dl/go${GO_VERSION}.linux-amd64.tar.gz" \ | tar -xzC /usr/local ENV PATH /go/bin:/usr/local/go/bin:$PATH diff --git a/components/engine/Dockerfile.windows b/components/engine/Dockerfile.windows index 2eb7350214..ab1bc7381e 100644 --- a/components/engine/Dockerfile.windows +++ b/components/engine/Dockerfile.windows @@ -161,7 +161,7 @@ SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPref # Environment variable notes: # - GO_VERSION must be consistent with 'Dockerfile' used by Linux. # - FROM_DOCKERFILE is used for detection of building within a container. -ENV GO_VERSION=1.10.4 ` +ENV GO_VERSION=1.10.5 ` GIT_VERSION=2.11.1 ` GOPATH=C:\go ` FROM_DOCKERFILE=1