profile
viewpoint

pull request commentmoby/buildkit

cache: fix possible concurrent maps write on parent release

PTAL @AkihiroSuda we needed this for patch release of docker 19.03 but would love if you could double check if there's anything weird with this fix. Thanks!

tonistiigi

comment created time in 6 hours

push eventmoby/buildkit

Tonis Tiigi

commit sha a393a767f8d114e0044c7efb3a9168ca28950286

cache: fix possible concurrent maps write on parent release Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>

view details

Tibor Vass

commit sha 928f3b480d7460aacb401f68610058ffdb549aca

Merge pull request #1257 from tonistiigi/1903-fix-parent-release [19.03] cache: fix possible concurrent maps write on parent release

view details

push time in 6 hours

PR merged moby/buildkit

[19.03] cache: fix possible concurrent maps write on parent release

19.03 version of https://github.com/moby/buildkit/pull/1256

@tiborvass @andrewhsu

Signed-off-by: Tonis Tiigi tonistiigi@gmail.com

+4 -6

0 comment

1 changed file

tonistiigi

pr closed time in 6 hours

push eventmoby/buildkit

Tonis Tiigi

commit sha 19558904457962c46fc9ae0fc066f903222e112d

cache: fix possible concurrent maps write on parent release Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>

view details

Tibor Vass

commit sha c4f5086b6a73b305c42fd814be0948114909fea6

Merge pull request #1256 from tonistiigi/fix-parent-release cache: fix possible concurrent maps write on parent release

view details

push time in 6 hours

PR merged moby/buildkit

cache: fix possible concurrent maps write on parent release

fixes https://github.com/moby/buildkit/issues/1250

Signed-off-by: Tonis Tiigi tonistiigi@gmail.com

@bpaquet @tiborvass

+4 -1

0 comment

1 changed file

tonistiigi

pr closed time in 6 hours

issue closedmoby/buildkit

fatal error: concurrent map writes

Hello,

I have lot of crash with Buildkit. This is not systematic, but very common. I have it with a raw 0.6.2 install, or through buidlx.

The logs is below.

How can I help to fix that?

Thx

fatal error: concurrent map writes

goroutine 20822 [running]: runtime.throw(0x114b515, 0x15) /usr/local/go/src/runtime/panic.go:617 +0x72 fp=0xc000275cf8 sp=0xc000275cc8 pc=0x42ead2 runtime.mapassign(0xfbf840, 0xc002192ab0, 0xc000275db8, 0x1b22ec0) /usr/local/go/src/runtime/map.go:590 +0x5e3 fp=0xc000275d80 sp=0xc000275cf8 pc=0x40f7a3 github.com/moby/buildkit/cache.(*cacheRecord).ref(...) /src/cache/refs.go:73 github.com/moby/buildkit/cache.(*cacheRecord).parentRef(0xc006cd7800, 0x42d801, 0x0) /src/cache/refs.go:143 +0xf7 fp=0xc000275dd8 sp=0xc000275d80 pc=0xb470f7 github.com/moby/buildkit/cache.(*cacheRecord).Parent(0xc006cd7800, 0x0, 0x0) /src/cache/refs.go:130 +0x30 fp=0xc000275e00 sp=0xc000275dd8 pc=0xb46fc0 github.com/moby/buildkit/cache/blobs.isTypeWindows(0x12dd6e0, 0xc008633700, 0xc006ee8900) /src/cache/blobs/blobs.go:151 +0x9d fp=0xc000275e58 sp=0xc000275e00 pc=0xd6580d github.com/moby/buildkit/cache/blobs.GetDiffPairs(0x12cb6c0, 0xc006ee8980, 0x12dd800, 0xc00010a7d0, 0x12e5040, 0xc00012a340, 0x12a9ce0, 0xc0001286a0, 0x12dd6e0, 0xc008633700, ...) /src/cache/blobs/blobs.go:40 +0xa2 fp=0xc000275ee8 sp=0xc000275e58 pc=0xd64ef2 github.com/moby/buildkit/exporter/containerimage.(*ImageWriter).exportLayers.func1.1(0x8, 0x1187000) /src/exporter/containerimage/writer.go:160 +0xac fp=0xc000275f88 sp=0xc000275ee8 pc=0xd71b2c golang.org/x/sync/errgroup.(*Group).Go.func1(0xc0017e6510, 0xc0094441e0) /src/vendor/golang.org/x/sync/errgroup/errgroup.go:58 +0x57 fp=0xc000275fd0 sp=0xc000275f88 pc=0x8b7117 runtime.goexit() /usr/local/go/src/runtime/asm_amd64.s:1337 +0x1 fp=0xc000275fd8 sp=0xc000275fd0 pc=0x45dcc1 created by golang.org/x/sync/errgroup.(*Group).Go /src/vendor/golang.org/x/sync/errgroup/errgroup.go:55 +0x66

goroutine 1 [select, 38 minutes]: main.main.func3(0xc0001a14a0, 0x0, 0x0) /src/cmd/buildkitd/main.go:263 +0x97c github.com/urfave/cli.HandleAction(0xf9d720, 0x1186628, 0xc0001a14a0, 0xc0001a14a0, 0xc00027d788) /src/vendor/github.com/urfave/cli/app.go:502 +0xc8 github.com/urfave/cli.(*App).Run(0xc0001d8540, 0xc0000321e0, 0x1, 0x1, 0x0, 0x0) /src/vendor/github.com/urfave/cli/app.go:268 +0x5aa main.main() /src/cmd/buildkitd/main.go:290 +0xd5e

goroutine 34 [chan receive, 38 minutes]: github.com/moby/buildkit/util/appcontext.Context.func1.1(0xc0004489c0, 0xc000116020, 0xc00013e008) /src/util/appcontext/appcontext.go:30 +0x38 created by github.com/moby/buildkit/util/appcontext.Context.func1 /src/util/appcontext/appcontext.go:28 +0xff

goroutine 18 [syscall, 38 minutes]: os/signal.signal_recv(0x0) /usr/local/go/src/runtime/sigqueue.go:139 +0x9c os/signal.loop() /usr/local/go/src/os/signal/signal_unix.go:23 +0x22 created by os/signal.init.0 /usr/local/go/src/os/signal/signal_unix.go:29 +0x41

goroutine 20 [chan receive]: github.com/moby/buildkit/util/pull.newResolverCache.func1(0xc0003be6c0, 0xc000326a50) /src/util/pull/resolver.go:203 +0x49 created by github.com/moby/buildkit/util/pull.newResolverCache /src/util/pull/resolver.go:201 +0x95

goroutine 23 [sync.Cond.Wait]: runtime.goparkunlock(...) /usr/local/go/src/runtime/proc.go:307 sync.runtime_notifyListWait(0xc00012a890, 0x85) /usr/local/go/src/runtime/sema.go:510 +0xf9 sync.(*Cond).Wait(0xc00012a880) /usr/local/go/src/sync/cond.go:56 +0x9e github.com/moby/buildkit/util/cond.(*StatefulCond).Wait(0xc0001e93e0) /src/util/cond/cond.go:28 +0x98 github.com/moby/buildkit/solver.(*scheduler).loop(0xc0001522a0) /src/solver/scheduler.go:101 +0x168 created by github.com/moby/buildkit/solver.newScheduler /src/solver/scheduler.go:35 +0x1ad

goroutine 24 [IO wait, 6 minutes]: internal/poll.runtime_pollWait(0x7f1d46785f90, 0x72, 0x0) /usr/local/go/src/runtime/netpoll.go:182 +0x56 internal/poll.(*pollDesc).wait(0xc000110418, 0x72, 0x0, 0x0, 0x113d221) /usr/local/go/src/internal/poll/fd_poll_runtime.go:87 +0x9b internal/poll.(*pollDesc).waitRead(...) /usr/local/go/src/internal/poll/fd_poll_runtime.go:92 internal/poll.(*FD).Accept(0xc000110400, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0) /usr/local/go/src/internal/poll/fd_unix.go:384 +0x1ba net.(*netFD).accept(0xc000110400, 0xc0014ca000, 0x0, 0x0) /usr/local/go/src/net/fd_unix.go:238 +0x42 net.(*UnixListener).accept(0xc0001e95c0, 0xc0003b5e20, 0xc0003b5e28, 0x18) /usr/local/go/src/net/unixsock_posix.go:162 +0x32 net.(*UnixListener).Accept(0xc0001e95c0, 0x1186158, 0xc000084a80, 0x12db220, 0xc0014ca000) /usr/local/go/src/net/unixsock.go:260 +0x48 google.golang.org/grpc.(*Server).Serve(0xc000084a80, 0x12c5b40, 0xc0001e95c0, 0x0, 0x0) /src/vendor/google.golang.org/grpc/server.go:561 +0x1e9 main.serveGRPC.func1.1(0x0, 0x0) /src/cmd/buildkitd/main.go:323 +0x10e golang.org/x/sync/errgroup.(*Group).Go.func1(0xc0001e9530, 0xc000128f00) /src/vendor/golang.org/x/sync/errgroup/errgroup.go:58 +0x57 created by golang.org/x/sync/errgroup.(*Group).Go /src/vendor/golang.org/x/sync/errgroup/errgroup.go:55 +0x66

goroutine 25 [semacquire, 38 minutes]: sync.runtime_Semacquire(0xc0001e9540) /usr/local/go/src/runtime/sema.go:56 +0x39 sync.(*WaitGroup).Wait(0xc0001e9538) /usr/local/go/src/sync/waitgroup.go:130 +0x65 golang.org/x/sync/errgroup.(*Group).Wait(0xc0001e9530, 0x0, 0x0) /src/vendor/golang.org/x/sync/errgroup/errgroup.go:41 +0x31 main.serveGRPC.func2(0xc000105140, 0xc0001e9530) /src/cmd/buildkitd/main.go:328 +0x2b created by main.serveGRPC /src/cmd/buildkitd/main.go:327 +0x2ba

goroutine 26 [chan receive, 38 minutes]: github.com/moby/buildkit/solver.(*scheduler).loop.func2(0xc0001522a0) /src/solver/scheduler.go:76 +0x38 created by github.com/moby/buildkit/solver.(*scheduler).loop /src/solver/scheduler.go:75 +0x6d

goroutine 14780 [select]: google.golang.org/grpc/internal/transport.(*controlBuffer).get(0xc000df87c0, 0x1, 0x0, 0x0, 0x0, 0x0) /src/vendor/google.golang.org/grpc/internal/transport/controlbuf.go:317 +0x104 google.golang.org/grpc/internal/transport.(*loopyWriter).run(0xc003b10540, 0x0, 0x0) /src/vendor/google.golang.org/grpc/internal/transport/controlbuf.go:435 +0x1b6 google.golang.org/grpc/internal/transport.newHTTP2Client.func3(0xc001a82000) /src/vendor/google.golang.org/grpc/internal/transport/http2_client.go:330 +0x7b created by google.golang.org/grpc/internal/transport.newHTTP2Client /src/vendor/google.golang.org/grpc/internal/transport/http2_client.go:328 +0xeb2

goroutine 14721 [select]: google.golang.org/grpc/internal/transport.(*controlBuffer).get(0xc000df8040, 0x1, 0x0, 0x0, 0x0, 0x0) /src/vendor/google.golang.org/grpc/internal/transport/controlbuf.go:317 +0x104 google.golang.org/grpc/internal/transport.(*loopyWriter).run(0xc000078300, 0x0, 0x0) /src/vendor/google.golang.org/grpc/internal/transport/controlbuf.go:435 +0x1b6 google.golang.org/grpc/internal/transport.newHTTP2Server.func2(0xc002bde000) /src/vendor/google.golang.org/grpc/internal/transport/http2_server.go:276 +0xcb created by google.golang.org/grpc/internal/transport.newHTTP2Server /src/vendor/google.golang.org/grpc/internal/transport/http2_server.go:273 +0xfba

goroutine 14755 [IO wait]: internal/poll.runtime_pollWait(0x7f1d46785df0, 0x72, 0xffffffffffffffff) /usr/local/go/src/runtime/netpoll.go:182 +0x56 internal/poll.(*pollDesc).wait(0xc002902218, 0x72, 0x8000, 0x8000, 0xffffffffffffffff) /usr/local/go/src/internal/poll/fd_poll_runtime.go:87 +0x9b internal/poll.(*pollDesc).waitRead(...) /usr/local/go/src/internal/poll/fd_poll_runtime.go:92 internal/poll.(*FD).Read(0xc002902200, 0xc000012000, 0x8000, 0x8000, 0x0, 0x0, 0x0) /usr/local/go/src/internal/poll/fd_unix.go:169 +0x19b net.(*netFD).Read(0xc002902200, 0xc000012000, 0x8000, 0x8000, 0x0, 0x8, 0x0) /usr/local/go/src/net/fd_unix.go:202 +0x4f net.(*conn).Read(0xc0014ca000, 0xc000012000, 0x8000, 0x8000, 0x0, 0x0, 0x0) /usr/local/go/src/net/net.go:177 +0x69 bufio.(*Reader).Read(0xc003b10000, 0xc002f66038, 0x9, 0x9, 0xc0007ead88, 0x3, 0x0) /usr/local/go/src/bufio/bufio.go:223 +0x23e io.ReadAtLeast(0x12a8d80, 0xc003b10000, 0xc002f66038, 0x9, 0x9, 0x9, 0xc0007eadff, 0x1040e00, 0x44d948) /usr/local/go/src/io/io.go:310 +0x88 io.ReadFull(...) /usr/local/go/src/io/io.go:329 golang.org/x/net/http2.readFrameHeader(0xc002f66038, 0x9, 0x9, 0x12a8d80, 0xc003b10000, 0x0, 0x0, 0xbf6a242e431cc7fb, 0x2140411b951) /src/vendor/golang.org/x/net/http2/frame.go:237 +0x88 golang.org/x/net/http2.(*Framer).ReadFrame(0xc002f66000, 0xc0053097c0, 0xc0053097c0, 0x0, 0x0) /src/vendor/golang.org/x/net/http2/frame.go:492 +0xa1 google.golang.org/grpc/internal/transport.(*http2Server).HandleStreams(0xc002bde000, 0xc000cb0270, 0x11861b0) /src/vendor/google.golang.org/grpc/internal/transport/http2_server.go:431 +0x7c google.golang.org/grpc.(*Server).serveStreams(0xc000084a80, 0x12dd8c0, 0xc002bde000) /src/vendor/google.golang.org/grpc/server.go:687 +0xdd google.golang.org/grpc.(*Server).handleRawConn.func1(0xc000084a80, 0x12dd8c0, 0xc002bde000) /src/vendor/google.golang.org/grpc/server.go:649 +0x43 created by google.golang.org/grpc.(*Server).handleRawConn /src/vendor/google.golang.org/grpc/server.go:648 +0x580

goroutine 14770 [semacquire, 6 minutes]: sync.runtime_Semacquire(0xc001c06bb0) /usr/local/go/src/runtime/sema.go:56 +0x39 sync.(*WaitGroup).Wait(0xc001c06ba8) /usr/local/go/src/sync/waitgroup.go:130 +0x65 golang.org/x/sync/errgroup.(*Group).Wait(0xc001c06ba0, 0xc003004520, 0xc001c06ba0) /src/vendor/golang.org/x/sync/errgroup/errgroup.go:41 +0x31 github.com/moby/buildkit/control.(*Controller).Status(0xc000172bd0, 0xc001c06b10, 0x12d82e0, 0xc002f36490, 0xc000172bd0, 0x20) /src/control/control.go:346 +0x174 github.com/moby/buildkit/api/services/control._Control_Status_Handler(0x109aa40, 0xc000172bd0, 0x12d3780, 0xc003004500, 0x10ecae0, 0x1b21718) /src/api/services/control/control.pb.go:1374 +0x109 github.com/grpc-ecosystem/grpc-opentracing/go/otgrpc.OpenTracingStreamServerInterceptor.func1(0x109aa40, 0xc000172bd0, 0x12d3c00, 0xc001232240, 0xc0030044a0, 0x11858c8, 0x0, 0x0) /src/vendor/github.com/grpc-ecosystem/grpc-opentracing/go/otgrpc/server.go:114 +0x365 google.golang.org/grpc.(*Server).processStreamingRPC(0xc000084a80, 0x12dd8c0, 0xc002bde000, 0xc001020000, 0xc0001e9470, 0x1ab0de0, 0x0, 0x0, 0x0) /src/vendor/google.golang.org/grpc/server.go:1183 +0x462 google.golang.org/grpc.(*Server).handleStream(0xc000084a80, 0x12dd8c0, 0xc002bde000, 0xc001020000, 0x0) /src/vendor/google.golang.org/grpc/server.go:1256 +0xd3f google.golang.org/grpc.(*Server).serveStreams.func1.1(0xc0038f0000, 0xc000084a80, 0x12dd8c0, 0xc002bde000, 0xc001020000) /src/vendor/google.golang.org/grpc/server.go:691 +0x9f created by google.golang.org/grpc.(*Server).serveStreams.func1 /src/vendor/google.golang.org/grpc/server.go:689 +0xa1

goroutine 14771 [semacquire]: sync.runtime_Semacquire(0xc0017e6520) /usr/local/go/src/runtime/sema.go:56 +0x39 sync.(*WaitGroup).Wait(0xc0017e6518) /usr/local/go/src/sync/waitgroup.go:130 +0x65 golang.org/x/sync/errgroup.(*Group).Wait(0xc0017e6510, 0xc0086338e0, 0xc00012a480) /src/vendor/golang.org/x/sync/errgroup/errgroup.go:41 +0x31 github.com/moby/buildkit/exporter/containerimage.(*ImageWriter).exportLayers(0xc00012a480, 0x12cb780, 0xc0017e6390, 0xc0004c6928, 0x1, 0x1, 0xc0004c6750, 0x43783f, 0xc000040a00, 0xc0004c6760, ...) /src/exporter/containerimage/writer.go:170 +0x1af github.com/moby/buildkit/exporter/containerimage.(*ImageWriter).Commit(0xc00012a480, 0x12cb780, 0xc0017e6390, 0x12dd6e0, 0xc008633700, 0x0, 0xc00168a210, 0x12cb700, 0xc0017e6390, 0xc009444190, ...) /src/exporter/containerimage/writer.go:56 +0x12c github.com/moby/buildkit/exporter/containerimage.(*imageExporterInstance).Export(0xc002be4a80, 0x12cb780, 0xc0017e6390, 0x12dd6e0, 0xc008633700, 0x0, 0xc00168a210, 0x0, 0x0, 0x0) /src/exporter/containerimage/export.go:153 +0x2a1 github.com/moby/buildkit/solver/llbsolver.(*Solver).Solve.func2(0x12cb780, 0xc00168a780, 0xc0086dcea0, 0x0) /src/solver/llbsolver/solver.go:197 +0x7d github.com/moby/buildkit/solver/llbsolver.inVertexContext(0x12cb780, 0xc00168a780, 0x1148414, 0x12, 0x0, 0x0, 0xc0004c7400, 0x0, 0x0) /src/solver/llbsolver/solver.go:334 +0x233 github.com/moby/buildkit/solver/llbsolver.(*Solver).Solve(0xc000152230, 0x12cb780, 0xc002be4990, 0xc0005323c0, 0x19, 0x0, 0xc00372c020, 0xd, 0xc002be42d0, 0xc002be53b0, ...) /src/solver/llbsolver/solver.go:196 +0xa77 github.com/moby/buildkit/control.(*Controller).Solve(0xc000172bd0, 0x12cb780, 0xc002be4660, 0xc00019e7e0, 0x0, 0x0, 0x0) /src/control/control.go:276 +0x4a7 github.com/moby/buildkit/api/services/control._Control_Solve_Handler.func1(0x12cb780, 0xc002be4660, 0x11082a0, 0xc00019e7e0, 0x10ecae0, 0x1b21718, 0x12cb780, 0xc002be4660) /src/api/services/control/control.pb.go:1364 +0x86 github.com/grpc-ecosystem/grpc-opentracing/go/otgrpc.OpenTracingServerInterceptor.func1(0x12cb6c0, 0xc000f6c000, 0x11082a0, 0xc00019e7e0, 0xc00015e060, 0xc00015e080, 0x0, 0x0, 0x12a9040, 0xc00010a3e0) /src/vendor/github.com/grpc-ecosystem/grpc-opentracing/go/otgrpc/server.go:57 +0x2eb main.unaryInterceptor.func1(0x12cb6c0, 0xc000f6c000, 0x11082a0, 0xc00019e7e0, 0xc00015e060, 0xc00015e080, 0x0, 0x0, 0x0, 0x0) /src/cmd/buildkitd/main.go:526 +0x15f github.com/moby/buildkit/api/services/control._Control_Solve_Handler(0x109aa40, 0xc000172bd0, 0x12cb780, 0xc002be4030, 0xc0006b0000, 0xc0004e4600, 0x12cb780, 0xc002be4030, 0xc000508000, 0x482) /src/api/services/control/control.pb.go:1366 +0x158 google.golang.org/grpc.(*Server).processUnaryRPC(0xc000084a80, 0x12dd8c0, 0xc002bde000, 0xc001020100, 0xc0001e9470, 0x1aae5b8, 0x0, 0x0, 0x0) /src/vendor/google.golang.org/grpc/server.go:972 +0x470 google.golang.org/grpc.(*Server).handleStream(0xc000084a80, 0x12dd8c0, 0xc002bde000, 0xc001020100, 0x0) /src/vendor/google.golang.org/grpc/server.go:1252 +0xda6 google.golang.org/grpc.(*Server).serveStreams.func1.1(0xc0038f0000, 0xc000084a80, 0x12dd8c0, 0xc002bde000, 0xc001020100) /src/vendor/google.golang.org/grpc/server.go:691 +0x9f created by google.golang.org/grpc.(*Server).serveStreams.func1 /src/vendor/google.golang.org/grpc/server.go:689 +0xa1

goroutine 14779 [select]: google.golang.org/grpc/internal/transport.(*recvBufferReader).read(0xc003908280, 0xc003004290, 0x5, 0x5, 0x10000c0007e6868, 0x0, 0x20) /src/vendor/google.golang.org/grpc/internal/transport/transport.go:146 +0xe5 google.golang.org/grpc/internal/transport.(*recvBufferReader).Read(0xc003908280, 0xc003004290, 0x5, 0x5, 0x857340, 0xc0018aa220, 0xc0007e6900) /src/vendor/google.golang.org/grpc/internal/transport/transport.go:140 +0x1a6 google.golang.org/grpc/internal/transport.(*transportReader).Read(0xc001c06750, 0xc003004290, 0x5, 0x5, 0x13, 0xc0007e6928, 0x876ccc) /src/vendor/google.golang.org/grpc/internal/transport/transport.go:435 +0x55 io.ReadAtLeast(0x12aa3a0, 0xc001c06750, 0xc003004290, 0x5, 0x5, 0x5, 0x13, 0x0, 0x0) /usr/local/go/src/io/io.go:310 +0x88 io.ReadFull(...) /usr/local/go/src/io/io.go:329 google.golang.org/grpc/internal/transport.(*Stream).Read(0xc001020200, 0xc003004290, 0x5, 0x5, 0x10de260, 0x7f1d46fc4aa0, 0x0) /src/vendor/google.golang.org/grpc/internal/transport/transport.go:419 +0xc8 google.golang.org/grpc.(*parser).recvMsg(0xc003004280, 0x400000, 0x13, 0x13, 0x0, 0x0, 0x7f1d46fc4a70, 0x0) /src/vendor/google.golang.org/grpc/rpc_util.go:508 +0x63 google.golang.org/grpc.recvAndDecompress(0xc003004280, 0xc001020200, 0x0, 0x0, 0x400000, 0x0, 0x0, 0x0, 0xc008de69e0, 0xc0007e6b68, ...) /src/vendor/google.golang.org/grpc/rpc_util.go:639 +0x4d google.golang.org/grpc.recv(0xc003004280, 0x7f1d46fc4880, 0x1b21718, 0xc001020200, 0x0, 0x0, 0x10de260, 0xc004ae72c0, 0x400000, 0x0, ...) /src/vendor/google.golang.org/grpc/rpc_util.go:684 +0x9b google.golang.org/grpc.(*serverStream).RecvMsg(0xc0012320c0, 0x10de260, 0xc004ae72c0, 0x0, 0x0) /src/vendor/google.golang.org/grpc/stream.go:1464 +0x14e github.com/moby/buildkit/session/grpchijack.(*conn).Read(0xc002902400, 0xc0002ca000, 0x8000, 0x8000, 0x0, 0x0, 0x0) /src/session/grpchijack/dial.go:69 +0x1d8 bufio.(*Reader).Read(0xc003b10480, 0xc002f663b8, 0x9, 0x9, 0xc00007ae00, 0x7f1d4fa69008, 0x0) /usr/local/go/src/bufio/bufio.go:223 +0x23e io.ReadAtLeast(0x12a8d80, 0xc003b10480, 0xc002f663b8, 0x9, 0x9, 0x9, 0x832c15, 0xc008de6a2c, 0xc0007e6e38) /usr/local/go/src/io/io.go:310 +0x88 io.ReadFull(...) /usr/local/go/src/io/io.go:329 golang.org/x/net/http2.readFrameHeader(0xc002f663b8, 0x9, 0x9, 0x12a8d80, 0xc003b10480, 0x0, 0xc000000000, 0x213d6e2ca1a, 0x1afe740) /src/vendor/golang.org/x/net/http2/frame.go:237 +0x88 golang.org/x/net/http2.(*Framer).ReadFrame(0xc002f66380, 0xc008de6a20, 0xc008de6a20, 0x0, 0x0) /src/vendor/golang.org/x/net/http2/frame.go:492 +0xa1 google.golang.org/grpc/internal/transport.(*http2Client).reader(0xc001a82000) /src/vendor/google.golang.org/grpc/internal/transport/http2_client.go:1236 +0x168 created by google.golang.org/grpc/internal/transport.newHTTP2Client /src/vendor/google.golang.org/grpc/internal/transport/http2_client.go:286 +0xd15

goroutine 14778 [chan receive, 6 minutes]: google.golang.org/grpc.(*addrConn).resetTransport(0xc00015b180) /src/vendor/google.golang.org/grpc/clientconn.go:1040 +0x5a1 created by google.golang.org/grpc.(*addrConn).connect /src/vendor/google.golang.org/grpc/clientconn.go:700 +0xb6

goroutine 14773 [chan receive, 6 minutes]: github.com/moby/buildkit/control.(*Controller).Session.func1(0xc001ad4660, 0xc002f362a0) /src/control/control.go:356 +0x34 created by github.com/moby/buildkit/control.(*Controller).Session /src/control/control.go:355 +0x153

goroutine 14754 [select, 6 minutes]: google.golang.org/grpc/internal/transport.(*http2Server).keepalive(0xc002bde000) /src/vendor/google.golang.org/grpc/internal/transport/http2_server.go:935 +0x1ed created by google.golang.org/grpc/internal/transport.newHTTP2Server /src/vendor/google.golang.org/grpc/internal/transport/http2_server.go:282 +0xfdf

goroutine 20836 [select]: github.com/moby/buildkit/util/progress.(*progressReader).Read.func1(0xc00571fe60, 0x12cb6c0, 0xc000df86c0, 0xc001c06f60) /src/util/progress/progress.go:101 +0xb7 created by github.com/moby/buildkit/util/progress.(*progressReader).Read /src/util/progress/progress.go:100 +0xdd

goroutine 14783 [select, 6 minutes]: github.com/moby/buildkit/util/progress.(*MultiReader).Reader.func1(0x12cb780, 0xc001c06ff0, 0xc002be5bc0, 0xc003004840) /src/util/progress/multireader.go:37 +0xbb created by github.com/moby/buildkit/util/progress.(*MultiReader).Reader /src/util/progress/multireader.go:36 +0x195

goroutine 20823 [runnable]: sort.Sort(0x12c6680, 0xc008ae90c0) /usr/local/go/src/sort/sort.go:216 +0x88 go.etcd.io/bbolt.(*freelist).arrayMergeSpans(0xc000110100, 0xc0021e51a0, 0x6, 0x6) /src/vendor/go.etcd.io/bbolt/freelist.go:368 +0x5d go.etcd.io/bbolt.(*freelist).release(0xc000110100, 0xfffffffffffffffe) /src/vendor/go.etcd.io/bbolt/freelist.go:195 +0x20d go.etcd.io/bbolt.(*DB).freePages(0xc000156000) /src/vendor/go.etcd.io/bbolt/db.go:617 +0x15a go.etcd.io/bbolt.(*DB).beginRWTx(0xc000156000, 0x0, 0x0, 0x0) /src/vendor/go.etcd.io/bbolt/db.go:604 +0x102 go.etcd.io/bbolt.(*DB).Begin(0xc000156000, 0x1ab1d01, 0xc0047a1cb0, 0xc0047a1cb0, 0xc0051f56f8) /src/vendor/go.etcd.io/bbolt/db.go:536 +0x38 go.etcd.io/bbolt.(*DB).Update(0xc000156000, 0xc004020ed8, 0x0, 0x0) /src/vendor/go.etcd.io/bbolt/db.go:672 +0x3c github.com/moby/buildkit/cache/metadata.(*Store).Clear(0xc000136050, 0xc00a01bd61, 0x19, 0x0, 0x0) /src/cache/metadata/metadata.go:135 +0x6e github.com/moby/buildkit/cache.(*cacheRecord).remove(0xc0063d5600, 0x12cb700, 0xc00003a098, 0xc0017e6500, 0x0, 0x0) /src/cache/refs.go:197 +0x9d github.com/moby/buildkit/cache.(*cacheRecord).finalize.func1(0xc006cd7800, 0xc00abb42f0) /src/cache/refs.go:309 +0x9a created by github.com/moby/buildkit/cache.(*cacheRecord).finalize /src/cache/refs.go:306 +0x113

goroutine 20835 [select]: github.com/moby/buildkit/util/progress.(*progressReader).Read.func1(0xc00571fe00, 0x12cb700, 0xc00003a098, 0xc002be55c0) /src/util/progress/progress.go:101 +0xb7 created by github.com/moby/buildkit/util/progress.(*progressReader).Read /src/util/progress/progress.go:100 +0xdd

goroutine 14776 [sync.Cond.Wait]: runtime.goparkunlock(...) /usr/local/go/src/runtime/proc.go:307 sync.runtime_notifyListWait(0xc000df8b10, 0xc000000383) /usr/local/go/src/runtime/sema.go:510 +0xf9 sync.(*Cond).Wait(0xc000df8b00) /usr/local/go/src/sync/cond.go:56 +0x9e github.com/moby/buildkit/util/progress.(*progressReader).Read(0xc001c06f60, 0x12cb6c0, 0xc000df86c0, 0x0, 0x0, 0x0, 0x0, 0x0) /src/util/progress/progress.go:127 +0x10b github.com/moby/buildkit/solver.(*Job).Status(0xc000222000, 0x12cb6c0, 0xc000df86c0, 0xc003b103c0, 0x0, 0x0) /src/solver/progress.go:25 +0xd14 github.com/moby/buildkit/solver/llbsolver.(*Solver).Status(0xc000152230, 0x12cb6c0, 0xc000df86c0, 0xc0018aa380, 0x19, 0xc003b103c0, 0xc00090d788, 0xc00090d790) /src/solver/llbsolver/solver.go:283 +0xbe github.com/moby/buildkit/control.(*Controller).Status.func1(0x8, 0x1187000) /src/control/control.go:299 +0x5e golang.org/x/sync/errgroup.(*Group).Go.func1(0xc001c06ba0, 0xc001c06bd0) /src/vendor/golang.org/x/sync/errgroup/errgroup.go:58 +0x57 created by golang.org/x/sync/errgroup.(*Group).Go /src/vendor/golang.org/x/sync/errgroup/errgroup.go:55 +0x66

goroutine 14728 [select, 6 minutes]: main.unaryInterceptor.func1.1(0x12cb6c0, 0xc000f6c000, 0x12cb6c0, 0xc00049e040, 0xc001718030) /src/cmd/buildkitd/main.go:519 +0xd8 created by main.unaryInterceptor.func1 /src/cmd/buildkitd/main.go:518 +0x108

goroutine 14784 [sync.Cond.Wait]: runtime.goparkunlock(...) /usr/local/go/src/runtime/proc.go:307 sync.runtime_notifyListWait(0xc000f6c2d0, 0xc00000039f) /usr/local/go/src/runtime/sema.go:510 +0xf9 sync.(*Cond).Wait(0xc000f6c2c0) /usr/local/go/src/sync/cond.go:56 +0x9e github.com/moby/buildkit/util/progress.(*progressReader).Read(0xc002be55c0, 0x12cb700, 0xc00003a098, 0x0, 0x0, 0x0, 0x0, 0x0) /src/util/progress/progress.go:127 +0x10b github.com/moby/buildkit/util/progress.(*MultiReader).handle(0xc002be5bc0, 0xc001c06ff0, 0xc002be5bc0) /src/util/progress/multireader.go:56 +0x118 created by github.com/moby/buildkit/util/progress.(*MultiReader).Reader /src/util/progress/multireader.go:47 +0x1ea

goroutine 14777 [chan receive]: github.com/moby/buildkit/control.(*Controller).Status.func2(0x8, 0x1187000) /src/control/control.go:304 +0x782 golang.org/x/sync/errgroup.(*Group).Go.func1(0xc001c06ba0, 0xc003004520) /src/vendor/golang.org/x/sync/errgroup/errgroup.go:58 +0x57 created by golang.org/x/sync/errgroup.(*Group).Go /src/vendor/golang.org/x/sync/errgroup/errgroup.go:55 +0x66

goroutine 14772 [chan receive, 6 minutes]: github.com/moby/buildkit/session.(*Manager).handleConn(0xc0004e4660, 0x12cb6c0, 0xc000df8580, 0x12dae60, 0xc002902400, 0xc001c06690, 0x0, 0x0) /src/session/manager.go:144 +0x491 github.com/moby/buildkit/session.(*Manager).HandleConn(0xc0004e4660, 0x12cb6c0, 0xc000df8340, 0x12dae60, 0xc002902400, 0xc001c06690, 0x0, 0x0) /src/session/manager.go:97 +0x75 github.com/moby/buildkit/control.(*Controller).Session(0xc000172bd0, 0x12dab60, 0xc002f36280, 0x0, 0x0) /src/control/control.go:360 +0x19a github.com/moby/buildkit/api/services/control._Control_Session_Handler(0x109aa40, 0xc000172bd0, 0x12d3780, 0xc003004300, 0x10ecae0, 0x1b21718) /src/api/services/control/control.pb.go:1391 +0xad github.com/grpc-ecosystem/grpc-opentracing/go/otgrpc.OpenTracingStreamServerInterceptor.func1(0x109aa40, 0xc000172bd0, 0x12d3c00, 0xc0012320c0, 0xc0030042a0, 0x11858b8, 0x0, 0x0) /src/vendor/github.com/grpc-ecosystem/grpc-opentracing/go/otgrpc/server.go:114 +0x365 google.golang.org/grpc.(*Server).processStreamingRPC(0xc000084a80, 0x12dd8c0, 0xc002bde000, 0xc001020200, 0xc0001e9470, 0x1ab0e00, 0x0, 0x0, 0x0) /src/vendor/google.golang.org/grpc/server.go:1183 +0x462 google.golang.org/grpc.(*Server).handleStream(0xc000084a80, 0x12dd8c0, 0xc002bde000, 0xc001020200, 0x0) /src/vendor/google.golang.org/grpc/server.go:1256 +0xd3f google.golang.org/grpc.(*Server).serveStreams.func1.1(0xc0038f0000, 0xc000084a80, 0x12dd8c0, 0xc002bde000, 0xc001020200) /src/vendor/google.golang.org/grpc/server.go:691 +0x9f created by google.golang.org/grpc.(*Server).serveStreams.func1 /src/vendor/google.golang.org/grpc/server.go:689 +0xa1

goroutine 14782 [chan receive, 6 minutes]: github.com/moby/buildkit/util/progress.pipe.func1(0x12cb6c0, 0xc000df8ac0, 0xc001c06f60) /src/util/progress/progress.go:167 +0x48 created by github.com/moby/buildkit/util/progress.pipe /src/util/progress/progress.go:166 +0x131

goroutine 14774 [select, 6 minutes]: google.golang.org/grpc.(*ccBalancerWrapper).watcher(0xc000df8540) /src/vendor/google.golang.org/grpc/balancer_conn_wrappers.go:115 +0x110 created by google.golang.org/grpc.newCCBalancerWrapper /src/vendor/google.golang.org/grpc/balancer_conn_wrappers.go:106 +0x14f

goroutine 14775 [select]: github.com/moby/buildkit/session.monitorHealth(0x12cb6c0, 0xc000df8580, 0xc00019d340, 0xc002f36400) /src/session/grpc.go:69 +0x189 created by github.com/moby/buildkit/session.grpcClientConn /src/session/grpc.go:55 +0x270

goroutine 14729 [chan receive, 6 minutes]: github.com/moby/buildkit/util/progress.pipe.func1(0x12cb6c0, 0xc000f6c280, 0xc002be55c0) /src/util/progress/progress.go:167 +0x48 created by github.com/moby/buildkit/util/progress.pipe /src/util/progress/progress.go:166 +0x131

closed time in 6 hours

bpaquet

push eventtiborvass/cli

Tibor Vass

commit sha e692381d18039491d7d78c221517c309c1ef84e5

e2e: add new test package "global" with TestTLSVerify Signed-off-by: Tibor Vass <tibor@docker.com>

view details

push time in 14 hours

push eventtiborvass/docker

Tibor Vass

commit sha 8a4b78b494227da0540a0ce61f6736131b24c4e3

integration: move some TestConflict* tests from integration-cli Signed-off-by: Tibor Vass <tibor@docker.com>

view details

push time in 14 hours

PR opened docker/cli

e2e: add new test package "global" with TestTLSVerify

Signed-off-by: Tibor Vass tibor@docker.com

This is to move TestRunTLSVerify from moby integration-cli tests.

+41 -0

0 comment

2 changed files

pr created time in 15 hours

create barnchtiborvass/cli

branch : test-tlsverify

created branch time in 15 hours

push eventtiborvass/docker

Hannes Ljungberg

commit sha 4d09fab232ed282d020afbe1e0935b53379df4ad

Update service networks documentation The previous description stated that an array of names / ids could be passed when the API in reality expects objects in the form of NetworkAttachmentConfig. This is fixed by updating the description and adding a definition for NetworkAttachmentConfig. Signed-off-by: Hannes Ljungberg <hannes@5monkeys.se>

view details

Justen Martin

commit sha 3b49bd1d840d64ec603333eae28655b9ff5edc0c

replaced call to deprecated grpc method WithDialer with WithContextDialer Signed-off-by: Justen Martin <jmart@the-coder.com>

view details

Sebastiaan van Stijn

commit sha 18a97ee981d80fe4764f7ec8d8384212981ccf24

integration-cli: use subtests for TestSwarmNetworkCreateDup This makes the test less noisy, and won't print the `failed: Error ...` messages, which were confusing. Also, running as a subtest allows tracking failures individually through the junit.xml files. Before: === RUN TestDockerSwarmSuite/TestSwarmNetworkCreateDup --- PASS: TestDockerSwarmSuite/TestSwarmNetworkCreateDup (3.00s) daemon.go:26: Creating a new daemon at: "/go/src/github.com/docker/docker/bundles/test-integration/TestDockerSwarmSuite/TestSwarmNetworkCreateDup" docker_cli_swarm_test.go:1527: Creating a network named "network-test-0" with "bridge", then "bridge" docker_cli_swarm_test.go:1534: As expected, the attempt to network "network-test-0" with "bridge" failed: Error response from daemon: network with name network-test-0 already exists docker_cli_swarm_test.go:1527: Creating a network named "network-test-0" with "bridge", then "overlay" docker_cli_swarm_test.go:1534: As expected, the attempt to network "network-test-0" with "overlay" failed: Error response from daemon: network with name network-test-0 already exists docker_cli_swarm_test.go:1527: Creating a network named "network-test-1" with "overlay", then "bridge" docker_cli_swarm_test.go:1534: As expected, the attempt to network "network-test-1" with "bridge" failed: Error response from daemon: network with name network-test-1 already exists docker_cli_swarm_test.go:1527: Creating a network named "network-test-1" with "overlay", then "overlay" docker_cli_swarm_test.go:1534: As expected, the attempt to network "network-test-1" with "overlay" failed: Error response from daemon: network with name network-test-1 already exists After: === RUN TestDockerSwarmSuite === RUN TestDockerSwarmSuite/TestSwarmNetworkCreateDup === RUN TestDockerSwarmSuite/TestSwarmNetworkCreateDup/driver_bridge_then_bridge === RUN TestDockerSwarmSuite/TestSwarmNetworkCreateDup/driver_bridge_then_overlay === RUN TestDockerSwarmSuite/TestSwarmNetworkCreateDup/driver_overlay_then_bridge === RUN TestDockerSwarmSuite/TestSwarmNetworkCreateDup/driver_overlay_then_overlay --- PASS: TestDockerSwarmSuite (8.12s) --- PASS: TestDockerSwarmSuite/TestSwarmNetworkCreateDup (8.12s) daemon.go:26: Creating a new daemon at: "/go/src/github.com/docker/docker/bundles/test-integration/TestDockerSwarmSuite/TestSwarmNetworkCreateDup" --- PASS: TestDockerSwarmSuite/TestSwarmNetworkCreateDup/driver_bridge_then_bridge (0.52s) --- PASS: TestDockerSwarmSuite/TestSwarmNetworkCreateDup/driver_bridge_then_overlay (0.31s) --- PASS: TestDockerSwarmSuite/TestSwarmNetworkCreateDup/driver_overlay_then_bridge (0.17s) --- PASS: TestDockerSwarmSuite/TestSwarmNetworkCreateDup/driver_overlay_then_overlay (0.12s) Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

view details

lzhfromustc

commit sha 49fbb9c9854ff18ad9304f435c7c6722b0b4cfdb

registry: add a critical section to protect authTransport.modReq Signed-off-by: Ziheng Liu <lzhfromustc@gmail.com>

view details

Ziheng Liu

commit sha 6233217a31395b69aa814c7d3db5cf844eb87437

integration/internal/container: fix a goroutine leak bug by adding 1 buffer Signed-off-by: Ziheng Liu <lzhfromustc@gmail.com>

view details

Brian Goff

commit sha 9e7d5ac5ea55dc57185f49476e03d6efa76b3512

Merge pull request #40111 from thaJeztah/TestSwarmNetworkCreateDup_subtests integration-cli: use subtests for TestSwarmNetworkCreateDup

view details

Kir Kolyshkin

commit sha 9d4e81e8bf0d52a063c46a3dc826f7e85068b07d

hack/validate/vendor: print diff for modified files In case some files were modified (rather than merely added or removed), we're curious to see the diff for those. Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>

view details

Kir Kolyshkin

commit sha 4be12ad3d04aefe6d5822d426813b33d2d4f9a7e

hack/validate/vendor: shellcheck fixes The export statement is definitely not needed. The rest is obvious. > In hack/validate/vendor line 3: > export SCRIPTDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" > ^-- SC2155: Declare and assign separately to avoid masking return values. > > > In hack/validate/vendor line 43: > if ls -d vendor/$f > /dev/null 2>&1; then > ^-- SC2086: Double quote to prevent globbing and word splitting. > > > In hack/validate/vendor line 44: > found=$(find vendor/$f -iregex '.*LICENSE.*' -or -iregex '.*COPYRIGHT.*' -or -iregex '.*COPYING.*' | wc -l) > ^-- SC2086: Double quote to prevent globbing and word splitting. > > > In hack/validate/vendor line 45: > if [ $found -eq 0 ]; then > ^-- SC2086: Double quote to prevent globbing and word splitting. Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>

view details

Kir Kolyshkin

commit sha 57910190288c71242d914c292930a496d05f30cb

hack/validate/vendor: simplify looking for license It was suggested that we use '.*\(COPYING\|LICENSE\|COPYRIGHT\).*' as an argument to `find -iregex`, and this is how it all started. Next thing, there is no COPYRIGHT in any of the vendored packages, so it can be removed for good. Next, we should not look too deep inside the package directory, as the license should be in its root directory, so add `-maxdepth 1` to `find`. This should also speed things up. Finally, since we're not using the recursion feature of `find`, it can be replaced with `echo | grep`. While at it, * avoid temporary $pkgs variable as it is only used once; * replace `ls -d "vendor/$f" > /dev/null 2>&1` with `test -d`. Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>

view details

Ziheng Liu

commit sha d7bc994a08a5dc13547b0aaf756d012e1dbba722

awslogs & archive: prevent 2 goroutine leaks in test functions Signed-off-by: Ziheng Liu <lzhfromustc@gmail.com>

view details

Sebastiaan van Stijn

commit sha a0a5ec4c6d18debd1ef94fbcc8096dfb8c561a7b

Integration: skip TestInfoDebug on Windows The test starts a new daemon, but attempts to run it with overlay2, and using a unix:// socket, which doesn't really work on Windows. ``` 00:14:14.623 --- FAIL: TestInfoDebug (0.01s) 00:14:14.623 info_test.go:75: [dbe75bf7729f3] failed to start daemon with arguments [--containerd /var/run/docker/containerd/containerd.sock --data-root D:\gopath\src\github.com\docker\docker\bundles\tmp\TestInfoDebug\dbe75bf7729f3\root --exec-root C:\windows\TEMP\dxr\dbe75bf7729f3 --pidfile D:\gopath\src\github.com\docker\docker\bundles\tmp\TestInfoDebug\dbe75bf7729f3\docker.pid --userland-proxy=true --containerd-namespace dbe75bf7729f3 --containerd-plugins-namespace dbe75bf7729f3p --host unix://C:\windows\TEMP\docker-integration\dbe75bf7729f3.sock --storage-driver overlay2 --debug] : protocol not available 00:14:14.623 === RUN TestInfoInsecureRegistries 00:14:14.623 --- FAIL: TestInfoInsecureRegistries (0.00s) 00:14:14.623 info_test.go:100: [d3c745c16a39c] failed to start daemon with arguments [--containerd /var/run/docker/containerd/containerd.sock --data-root D:\gopath\src\github.com\docker\docker\bundles\tmp\TestInfoInsecureRegistries\d3c745c16a39c\root --exec-root C:\windows\TEMP\dxr\d3c745c16a39c --pidfile D:\gopath\src\github.com\docker\docker\bundles\tmp\TestInfoInsecureRegistries\d3c745c16a39c\docker.pid --userland-proxy=true --containerd-namespace d3c745c16a39c --containerd-plugins-namespace d3c745c16a39cp --host unix://C:\windows\TEMP\docker-integration\d3c745c16a39c.sock --debug --storage-driver overlay2 --insecure-registry=192.168.1.0/24 --insecure-registry=insecurehost.com:5000] : protocol not available 00:14:14.623 === RUN TestInfoRegistryMirrors 00:14:14.623 --- FAIL: TestInfoRegistryMirrors (0.01s) 00:14:14.623 info_test.go:124: [d277126ad0515] failed to start daemon with arguments [--containerd /var/run/docker/containerd/containerd.sock --data-root D:\gopath\src\github.com\docker\docker\bundles\tmp\TestInfoRegistryMirrors\d277126ad0515\root --exec-root C:\windows\TEMP\dxr\d277126ad0515 --pidfile D:\gopath\src\github.com\docker\docker\bundles\tmp\TestInfoRegistryMirrors\d277126ad0515\docker.pid --userland-proxy=true --containerd-namespace d277126ad0515 --containerd-plugins-namespace d277126ad0515p --host unix://C:\windows\TEMP\docker-integration\d277126ad0515.sock --debug --storage-driver overlay2 --registry-mirror=https://192.168.1.2 --registry-mirror=http://registry.mirror.com:5000] : protocol not available ``` Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

view details

Brian Goff

commit sha e7d2d853f6ec333061282183a8a58af47de1888a

Make binary output targets use own build cmd The binary targets now use buildkit to build/output binaries instead of doing it in a DOCKER_RUN_DOCKER container. With that change caused issues when trying to call multiple make targets such as `make binary cross` since those targets are updating the variables (with conflicting data) used by the shared `build` prerequisite. This change has those binary output targets call `docker build` (or `buildx build`) directly since that is the action they are preforming and no longer have any pre-reqs. Signed-off-by: Brian Goff <cpuguy83@gmail.com>

view details

Brian Goff

commit sha c057825cf56850ffb97cae532d0bfa261b4b9a53

Pass VERSION variable to binary build targets. Signed-off-by: Brian Goff <cpuguy83@gmail.com>

view details

Tibor Vass

commit sha 7cb46617fcc1071963ab59d81082eab3e3ef8f9d

Merge pull request #40155 from thaJeztah/skip_testinfodebug Integration: skip TestInfoDebug on Windows

view details

Sebastiaan van Stijn

commit sha 27552ceb15bca544820229e574427d4c1d6ef585

bump containerd/cgroups 5fbad35c2a7e855762d3c60f2e474ffcad0d470a full diff: https://github.com/containerd/cgroups/compare/c4b9ac5c7601384c965b9646fc515884e091ebb9...5fbad35c2a7e855762d3c60f2e474ffcad0d470a - containerd/cgroups#82 Add go module support - containerd/cgroups#96 Move metrics proto package to stats/v1 - containerd/cgroups#97 Allow overriding the default /proc folder in blkioController - containerd/cgroups#98 Allows ignoring memory modules - containerd/cgroups#99 Add Go 1.13 to Travis - containerd/cgroups#100 stats/v1: export per-cgroup stats Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

view details

Sam Whited

commit sha d6a91ca71c655f71c171e375b787c9c8b361c19e

Rename DCO check param in Jenkinsfile Previously it was a negative parameter for skiping the DCO check, but this is different from other checks. It was requested that I change this in #40023 but I'm factoring it out as an unrelated change. Signed-off-by: Sam Whited <sam@samwhited.com>

view details

Tibor Vass

commit sha 9232e1096cbcadc18363fedae1230bb740ef93ca

Merge pull request #40154 from thaJeztah/bump_cgroups bump containerd/cgroups 5fbad35c2a7e855762d3c60f2e474ffcad0d470a

view details

Tõnis Tiigi

commit sha 64fd3dc0d5e0b15246dcf8d2a58baf202cc179bc

Merge pull request #40157 from lzhfromustc/GL_2test awslogs & archive: prevent 2 goroutine leaks in test functions

view details

Sebastiaan van Stijn

commit sha 9a7e96b5b7e97e034ce7bb0f1e7788d1bd881c7f

Rename "v1" to "statsV1" follow-up to 27552ceb15bca544820229e574427d4c1d6ef585, where this was left as a review comment, but the PR was already merged. Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

view details

Sebastiaan van Stijn

commit sha ac7306503d237d548e376a89ab0b899ea1a245b0

Merge pull request #40091 from cpuguy83/40088_explicit_build Make binary output targets use own build cmd

view details

push time in 15 hours

push eventtiborvass/docker

Tibor Vass

commit sha 07c19c7fb9eda6644d1b7e8eea8879fcd0768d56

integration-cli: fix TestDaemonTLSVerifyIssue13964 for 19.03 and remove TestRunTLSVerify Signed-off-by: Tibor Vass <tibor@docker.com>

view details

Tibor Vass

commit sha 0099496423d376657cb681279adc9d4136ad7213

integration-cli: get Swarm tests to pass with 19.03 This partially reverts test coverage added in b0401a71f74 since that feature was undocumented and better be moved to cli integration tests. Signed-off-by: Tibor Vass <tibor@docker.com>

view details

push time in 15 hours

create barnchtiborvass/docker

branch : 19.03-cli

created branch time in 15 hours

PR opened docker/cli

[19.03] cp: allow trailing slash in non-existant destination

Signed-off-by: Tibor Vass tibor@docker.com (cherry picked from commit 26dbc3226c7044063bc1ddc0a0fd73026b6644e6) Signed-off-by: Tibor Vass tibor@docker.com

Will fix TestDockerSuite/TestCpFromCaseE and TestDockerSuite/TestCpFromCaseH from moby integration-cli tests.

+41 -1

0 comment

2 changed files

pr created time in 15 hours

PR opened docker/cli

cp: allow trailing slash in non-existant destination

Signed-off-by: Tibor Vass tibor@docker.com

Will fix TestDockerSuite/TestCpFromCaseE and TestDockerSuite/TestCpFromCaseH from moby integration-cli tests.

+41 -1

0 comment

2 changed files

pr created time in 15 hours

push eventtiborvass/cli

Ulysses Souza

commit sha 379470969b5b276f2f5dd67335fe3adfa6057b7b

Add option remove `env_file` entry after merged This avoids having a redundant `env_file` entry output when rendering the compose file Signed-off-by: Ulysses Souza <ulysses.souza@docker.com> (cherry picked from commit 821f5ecf53c87a1f391d97c358f08c8d344cda8c) Signed-off-by: Christopher Crone <christopher.crone@docker.com>

view details

Sebastiaan van Stijn

commit sha f38bea4ac399f65a40af258a4d972d97eee5c786

Update Golang 1.12.12 (CVE-2019-17596) Golang 1.12.12 ------------------------------- full diff: https://github.com/golang/go/compare/go1.12.11...go1.12.12 go1.12.12 (released 2019/10/17) includes fixes to the go command, runtime, syscall and net packages. See the Go 1.12.12 milestone on our issue tracker for details. https://github.com/golang/go/issues?q=milestone%3AGo1.12.12 Golang 1.12.11 (CVE-2019-17596) ------------------------------- full diff: https://github.com/golang/go/compare/go1.12.10...go1.12.11 go1.12.11 (released 2019/10/17) includes security fixes to the crypto/dsa package. See the Go 1.12.11 milestone on our issue tracker for details. https://github.com/golang/go/issues?q=milestone%3AGo1.12.11 [security] Go 1.13.2 and Go 1.12.11 are released Hi gophers, We have just released Go 1.13.2 and Go 1.12.11 to address a recently reported security issue. We recommend that all affected users update to one of these releases (if you're not sure which, choose Go 1.13.2). Invalid DSA public keys can cause a panic in dsa.Verify. In particular, using crypto/x509.Verify on a crafted X.509 certificate chain can lead to a panic, even if the certificates don't chain to a trusted root. The chain can be delivered via a crypto/tls connection to a client, or to a server that accepts and verifies client certificates. net/http clients can be made to crash by an HTTPS server, while net/http servers that accept client certificates will recover the panic and are unaffected. Moreover, an application might crash invoking crypto/x509.(*CertificateRequest).CheckSignature on an X.509 certificate request, parsing a golang.org/x/crypto/openpgp Entity, or during a golang.org/x/crypto/otr conversation. Finally, a golang.org/x/crypto/ssh client can panic due to a malformed host key, while a server could panic if either PublicKeyCallback accepts a malformed public key, or if IsUserAuthority accepts a certificate with a malformed public key. The issue is CVE-2019-17596 and Go issue golang.org/issue/34960. Thanks to Daniel Mandragona for discovering and reporting this issue. We'd also like to thank regilero for a previous disclosure of CVE-2019-16276. Signed-off-by: Sebastiaan van Stijn <github@gone.nl> (cherry picked from commit 474d522ee2cb9357f73891f1a86c7162d0b9d23c) Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

view details

Andrew Hsu

commit sha e176053a3f86ca3521bcb76a4d744a9e70a803ee

Merge pull request #2150 from thaJeztah/19.03_backport_bump_golang_1.12.12 [19.03 backport] Update Golang 1.12.12 (CVE-2019-17596)

view details

Andrew Hsu

commit sha 8a9e86c728ad591a199149de73624be4dd2bc371

Merge pull request #2124 from chris-crone/backport-19.03-env-merge [19.03 backport] Add option to remove `env_file` entry once it's merged in the `environment` section

view details

Tim Sampson

commit sha 6c66c799c7fe1c7f58d022a6e343aea54c504df6

add rudimentary fish completions for docker network Signed-off-by: Tim Sampson <tim@sampson.fi> (cherry picked from commit 2f7b364cb397526812f13c0d6c107919e9516ca3) Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

view details

Morten Hekkvang

commit sha 667bd9a1b8fd9bb2066fbb575e6359d15892707e

Make service completion faster Signed-off-by: Morten Hekkvang <morten.hekkvang@sbab.se> (cherry picked from commit f55c5b6566e52d3ead55bc0d96528bc2a39daeea) Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

view details

Morten Hekkvang

commit sha c70ce79adc2e13e48d45c58301a371623d4aaf12

Fix substitution of comma to space character, suggested by @albers Signed-off-by: Morten Hekkvang <morten.hekkvang@sbab.se> (cherry picked from commit b85e1e2efefcc06c8de426d003fa2936f2286bb4) Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

view details

Morten Hekkvang

commit sha 9447d7431b8354083e25dc5768bcba23c5256bd8

Move filtering to __docker_complete_services, as suggested by @albers Signed-off-by: Morten Hekkvang <morten.hekkvang@sbab.se> (cherry picked from commit 6ebcc211a7a955b93297db1f0ad96237c14691ae) Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

view details

Morten Hekkvang

commit sha 69f0132397ba95e3a00d3b66cea905302b6a6c9b

Fix erroneous space indentation of shell script Signed-off-by: Morten Hekkvang <morten.hekkvang@sbab.se> (cherry picked from commit fc19fb6d95da6a4496ffd170412918da3529eb99) Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

view details

Trapier Marshall

commit sha 2fe281d17066fe5b1af336cfc3fa21844dab62c9

Add bash completion for `builder build` Signed-off-by: Trapier Marshall <trapier.marshall@docker.com> (cherry picked from commit 86ae871e0a229d08e7d9746a35fa71f5305dd7d7) Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

view details

Harald Albers

commit sha 57332bcea37ebd00954ad0c3d3574abea9cd3529

Add bash completion for `builder build` options Signed-off-by: Harald Albers <github@albersweb.de> (cherry picked from commit cd9b39fc524c3b5f63b99b6795216d2180b0bfba) Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

view details

Sebastiaan van Stijn

commit sha 137b3cc89ec16730c3f9923ec158ce13a51f286f

Do not disable sig-proxy when using a TTY This partially reverts https://github.com/moby/moby/commit/e0b59ab52b87b8fc15dd5534c3231fdd74843f9f, and does not automatically disable proxying signals in TTY-mode Before this change: ------------------------------------ Start a container with a TTY in one shell: ``` docker run -it --init --name repro-28872 busybox sleep 30 ``` then, in another shell, kill the docker cli: ``` kill `pgrep -f repro-28872` ``` Notice that the CLI was killed, but the signal not forwarded to the container; the container continues running ``` docker container inspect --format '{{ .State.Status }}' repro-28872 running docker container rm -f repro-28872 ``` After this change: ------------------------------------ Start a container with a TTY in one shell: ``` docker run -it --init --name repro-28872 busybox sleep 30 ``` then, in another shell, kill the docker cli: ``` kill `pgrep -f repro-28872` ``` Verify that the signal was forwarded to the container, and the container exited ``` docker container inspect --format '{{ .State.Status }}' repro-28872 exited docker container rm -f repro-28872 ``` Signed-off-by: Sebastiaan van Stijn <github@gone.nl> (cherry picked from commit ee295049231c84e59d00b7cf31eaefb86d936aad) Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

view details

Sebastiaan van Stijn

commit sha 79f5dbcd55a7aad3daabaa6f646509025aacf386

Add test for --sig-proxy with a TTY Add a test to verify that killing the docker CLI forwards the signal to the container. Test-case for moby/moby 28872 Signed-off-by: Sebastiaan van Stijn <github@gone.nl> (cherry picked from commit 7cf1a8d4c96d198e208af2d75d14ab32b8c26dfe) Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

view details

Kir Kolyshkin

commit sha 149f69ca0604a8cdfbdef7e2f323d5c7dd208880

TestSigProxyWithTTY: fix exec.CombinedOutput should not be used here because: - it redirects cmd Stdout and Stderr and we want it to be the tty - it calls cmd.Run which we already did While at it - use pty.Start() as it is cleaner - make sure we don't leave a zombie running, by calling Wait() in defer - use test.Name() for containerName Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com> (cherry picked from commit bc4ed69a23e1840b0ebae2b28531dd323cdba28f) Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

view details

Forest Johnson

commit sha c4e5fd7e53a5a3dc89734c391099aed8b8a0b795

Explain -s flag on docker ps https://github.com/docker/docker.github.io/issues/1520#issuecomment-467971886 Signed-off-by: Forest Johnson <fjohnson@peoplenetonline.com> Signed-off-by: Sebastiaan van Stijn <github@gone.nl> (cherry picked from commit f7ab2987c39162cd47c2f1738d1590e7226b5537) Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

view details

Daniel Cassidy

commit sha 66f8d279c1dc7f0c18b05c6dc8b39a79b5c18fdf

builder.md: Correct copy/paste error Signed-off-by: Daniel Cassidy <mail@danielcassidy.me.uk> (cherry picked from commit e9ada56a888a042476f370d2de45b0633f7f85f6) Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

view details

Odin Ugedal

commit sha a90e5598a4acb89e45730c418520dba5eee6e58c

Fix phrasing when referring to the freezer cgroup Signed-off-by: Odin Ugedal <odin@ugedal.com> (cherry picked from commit a0dd6e025d6d18527931a24b9e7d71132c47e601) Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

view details

Daniel Artine

commit sha df5c7130df9b81548ff5c27528c11e4696550cca

Updating deprecated command example in search.md --stars example is deprecated. Changing to --filter=stars=5 Signed-off-by: danielartine <daniel.artine@ufrj.br> (cherry picked from commit bba0a4d5ac225a28eb0bd1b14a086f7197e8d762) Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

view details

Adrian Plata

commit sha aa45ea366c18ae1265c5e3910d7f7b22b9e4c0dd

Minor formatting changes and a typo fix. Signed-off-by: Adrian Plata <adrian.plata@docker.com> (cherry picked from commit ba7ec36de2c5c83d689f5d2e1f3e0d209606d8c3) Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

view details

Brandon Mitchell

commit sha c050ae7fb168a9dd5cb8a65a72cc7d2ec7993cda

Adjusting glossary reference and clarrifying the start of a Dockerfile Signed-off-by: Brandon Mitchell <git@bmitch.net> (cherry picked from commit 937ce69b4251d355db64eb88715ced76ed04b157) Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

view details

push time in 15 hours

push eventtiborvass/cli

Jose J. Escobar

commit sha 265bee4d571629fba3e98c5ba2c66b56e763e1d1

Update service_create.md Typo in word propagation. Signed-off-by: Jose Escobar <joseescobar@JE-MBP15-2017.local>

view details

Jonatas Baldin

commit sha 56729bc0a483c03e2c56b4bb2f41cc823e642f02

Return empty string if image createdAt is zero Signed-off-by: Jonatas Baldin <jonatas.baldin@gmail.com>

view details

Samuel Cochran

commit sha 758d12e65112bed583396ee3f43cf6302f249fef

unused-for is a deprecated synonym See https://github.com/moby/moby/blob/9e7d5ac5ea55dc57185f49476e03d6efa76b3512/builder/builder-next/builder.go#L574 Signed-off-by: Samuel Cochran <sj26@sj26.com>

view details

Christopher Crone

commit sha e4d3c360b24f36568180211045fa8b5675104452

Bump Compose on Kubernetes Signed-off-by: Christopher Crone <christopher.crone@docker.com>

view details

Joe Abbey

commit sha 1de18a9b9838d7173757d172c87ebd9be0f2f89b

Merge pull request #2140 from chris-crone/bump-compose-on-kubernetes Bump Compose on Kubernetes

view details

Sebastiaan van Stijn

commit sha 270defa1771d57c176b9813d12543dc0e8daa5f0

internal/test/builders: don't set EndpointSpec by default Also rewrite `Service()` to use the available options Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

view details

Sebastiaan van Stijn

commit sha 2d0c10d77a575ecb02060c6bbdfd5c12364315bc

kubernetes/conversion_test: use test-builders package Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

view details

Sebastiaan van Stijn

commit sha ab255f13b72cac6f462695adf6a8e50e2f980072

Merge pull request #2180 from thaJeztah/refactor_conversion_test kubernetes/conversion_test: use test-builders package

view details

Silvin Lubecki

commit sha 296297190c55cee3b539c9b49ffa1c3708ed3e9b

opts/throttledevice.go:51:5: SA4003: unsigned values are never < 0 (staticcheck) Signed-off-by: Silvin Lubecki <silvin.lubecki@docker.com> Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

view details

Silvin Lubecki

commit sha 8018a850cb5e6dbd9a2cf2ae4c291ab7c0d88473

cli/command/trust/inspect_pretty_test.go:399:24: SA4010: this result of append is never used, except maybe in other appends (staticcheck) Signed-off-by: Silvin Lubecki <silvin.lubecki@docker.com>

view details

Silvin Lubecki

commit sha 7da9360477210b4f254741d41d66f0e70e8af267

cli/command/container/stats.go:211:21: SA1015: using time.Tick leaks the underlying ticker, consider using it only in endless functions, tests and the main package, and use time.NewTicker here (staticcheck) Signed-off-by: Silvin Lubecki <silvin.lubecki@docker.com>

view details

Silvin Lubecki

commit sha 3a428202bf1194681374cd34eee92f109e8a8ca7

SA1019: httputil.ErrPersistEOF is deprecated: No longer used. (staticcheck) Signed-off-by: Silvin Lubecki <silvin.lubecki@docker.com>

view details

Silvin Lubecki

commit sha f5e8387067a45cb519fb96a1840f61c82506fd20

cli/command/trust/key_generate.go:112:9: nilness: impossible condition: nil != nil (govet) Signed-off-by: Silvin Lubecki <silvin.lubecki@docker.com>

view details

Silvin Lubecki

commit sha 85cfd4e518c7bf1349dc3f8c1d61a0e1f89d4cb7

cli/command/stack/kubernetes/list.go:32:47: nilness: tautological condition: non-nil != nil (govet) Signed-off-by: Silvin Lubecki <silvin.lubecki@docker.com>

view details

Silvin Lubecki

commit sha 9afeb6f4329b8cd6bca15fee5e5b25ade3bc89e6

cli/command/container/start.go:157:20: nilness: nil dereference in type assertion (govet) Signed-off-by: Silvin Lubecki <silvin.lubecki@docker.com>

view details

Silvin Lubecki

commit sha 5ceed3059f340176fbe134c4d7bdfc577bb6db97

cli/registry/client/fetcher.go:106:9: nilness: impossible condition: nil != nil (govet) Signed-off-by: Silvin Lubecki <silvin.lubecki@docker.com>

view details

Silvin Lubecki

commit sha 1bfe81318df56128ba258f724078c3aafe3752bb

cli/compose/types/types.go:106:2: structtag: struct field tag `yaml:",inline", json:"-"` not compatible with reflect.StructTag.Get: key:"value" pairs not separated by spaces (govet) Signed-off-by: Silvin Lubecki <silvin.lubecki@docker.com>

view details

Silvin Lubecki

commit sha b3d4c6aac796b240f8c43d808de8c7492a8eed27

opts/ulimit_test.go:11:13: composites: `*github.com/docker/cli/vendor/github.com/docker/go-units.Ulimit` composite literal uses unkeyed fields (govet) Signed-off-by: Silvin Lubecki <silvin.lubecki@docker.com>

view details

Silvin Lubecki

commit sha 584da37756dd386a8b33cfa6b49eca3e555380a3

cli/command/container/attach.go:141:15: nilness: impossible condition: nil != nil (govet) Signed-off-by: Silvin Lubecki <silvin.lubecki@docker.com>

view details

Silvin Lubecki

commit sha e1c0c7979e018dcfa33df53806e0707fab35dadf

unchecked errors Signed-off-by: Silvin Lubecki <silvin.lubecki@docker.com>

view details

push time in 15 hours

push eventtiborvass/dump

Tibor Vass

commit sha 9ff40be7671128dd4ac0010aa7ff48276a7bbb5b

add foo Signed-off-by: Tibor Vass <tibor@docker.com>

view details

push time in 4 days

create barnchtiborvass/dump

branch : actions

created branch time in 4 days

push eventtiborvass/dump

Tibor Vass

commit sha a6c7a5d1bc98be40d435015dc4d42ad943cca93b

test actions

view details

push time in 4 days

push eventmoby/moby

Sebastiaan van Stijn

commit sha 9cf349d0f80d2399cdfad0321e0f181c2e7efa17

bump libnetwork 90afbb01e1d8acacb505a092744ea42b9f167377 full diff: https://github.com/docker/libnetwork/compare/0025177e3dabbe0de151be0957dcaff149d43536...90afbb01e1d8acacb505a092744ea42b9f167377 includes: - docker/libnetwork#/2459 Fix Error Check in NewNetwork - docker/libnetwork#/2466 Revert "Merge pull request #2339 from phyber/iptables-check" - reverts docker/libnetwork#/2339 controller: Check if IPTables is enabled for arrangeUserFilterRule - re-opens docker/libnetwork#2158 dockerd when run with --iptables=false modifies iptables by adding DOCKER-USER - re-opens moby/moby#35777 With iptables=false dockerd still creates DOCKER-USER chain and rules - re-opens docker/for-linux#136 dockerd --iptables=false adds DOCKER-USER chain and modify FORWARD chain anyway Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

view details

Tibor Vass

commit sha 36ffe9edc2b37a5154633f3fbc260217114039d4

Merge pull request #40192 from thaJeztah/bump_libnetwork bump libnetwork 90afbb01e1d8acacb505a092744ea42b9f167377

view details

push time in 5 days

PR merged moby/moby

Reviewers
bump libnetwork 90afbb01e1d8acacb505a092744ea42b9f167377 area/networking status/2-code-review

full diff: https://github.com/docker/libnetwork/compare/0025177e3dabbe0de151be0957dcaff149d43536...90afbb01e1d8acacb505a092744ea42b9f167377

includes:

  • docker/libnetwork#/2459 Fix Error Check in NewNetwork
  • docker/libnetwork#/2466 Revert "Merge pull request #2339 from phyber/iptables-check"
    • reverts docker/libnetwork#/2339 controller: Check if IPTables is enabled for arrangeUserFilterRule
    • re-opens docker/libnetwork#2158 dockerd when run with --iptables=false modifies iptables by adding DOCKER-USER
    • re-opens moby/moby#35777 With iptables=false dockerd still creates DOCKER-USER chain and rules
    • re-opens docker/for-linux#136 dockerd --iptables=false adds DOCKER-USER chain and modify FORWARD chain anyway

- Description for the changelog <!-- Write a short (one line) summary that describes the changes in this pull request for inclusion in the changelog: -->

- A picture of a cute animal (not mandatory but encouraged)

+6 -36

0 comment

5 changed files

thaJeztah

pr closed time in 5 days

pull request commentmoby/moby

Support host.docker.internal in dockerd on Linux

Apart from minor nits, I'm fine with the PR. I don't have opinions on the names, so I'm fine with host-gateway magic string and --host-gateway-ip flag. If @djs55 @thaJeztah @tonistiigi or more opinionated people dislike the current names, speak up now.

arkodg

comment created time in 5 days

Pull request review commentmoby/moby

Support host.docker.internal in dockerd on Linux

 func (daemon *Daemon) buildSandboxOptions(container *container.Container) ([]lib 			return nil, err 		} 		parts := strings.SplitN(extraHost, ":", 2)+		// If the IP Address is a string called "host-gateway", replace this+		// value with the IP address stored in the daemon level HostGatewayIP+		// config variable+		if parts[1] == network.HostGatewayName {+			if gateway := daemon.configStore.HostGatewayIP; net.ParseIP(gateway) != nil {+				parts[1] = gateway+			} else {+				logrus.Warnf("HostGatewayIP value %s is invalid", gateway)

This should never happen if the config is validated on startup and HostGatewayIP is already a net.IP

arkodg

comment created time in 5 days

Pull request review commentmoby/moby

Support host.docker.internal in dockerd on Linux

 func installCommonConfigFlags(conf *config.Config, flags *pflag.FlagSet) error { 	flags.Var(opts.NewListOptsRef(&conf.DNS, opts.ValidateIPAddress), "dns", "DNS server to use") 	flags.Var(opts.NewNamedListOptsRef("dns-opts", &conf.DNSOptions, nil), "dns-opt", "DNS options to use") 	flags.Var(opts.NewListOptsRef(&conf.DNSSearch, opts.ValidateDNSSearch), "dns-search", "DNS search domains to use")+	flags.StringVar(&conf.HostGatewayIP, "host-gateway-ip", "", "dockerd will resolve the IP Address to this IP "+

Maybe use opts.NewIPOpt to have the flags package validate the IP format early on.

arkodg

comment created time in 5 days

Pull request review commentmoby/moby

Support host.docker.internal in dockerd on Linux

 func installCommonConfigFlags(conf *config.Config, flags *pflag.FlagSet) error { 	flags.Var(opts.NewListOptsRef(&conf.DNS, opts.ValidateIPAddress), "dns", "DNS server to use") 	flags.Var(opts.NewNamedListOptsRef("dns-opts", &conf.DNSOptions, nil), "dns-opt", "DNS options to use") 	flags.Var(opts.NewListOptsRef(&conf.DNSSearch, opts.ValidateDNSSearch), "dns-search", "DNS search domains to use")+	flags.StringVar(&conf.HostGatewayIP, "host-gateway-ip", "", "dockerd will resolve the IP Address to this IP "+

maybe something like IP address that the special 'host-gateway' string in --add-host resolves to

arkodg

comment created time in 5 days

push eventmoby/buildkit

Tonis Tiigi

commit sha 01cfdcd8f291ebcdf41dd7088913ba7d870f29e9

exporter: keeps blob refs on images Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>

view details

Tibor Vass

commit sha e8c26ec2a167e37fd939bdaf6c1135c132e740a9

Merge pull request #1246 from tonistiigi/restore-ref-labels exporter: keep blob refs on images

view details

push time in 6 days

PR merged moby/buildkit

exporter: keep blob refs on images

These were erroneously removed in https://github.com/moby/buildkit/pull/1176

Signed-off-by: Tonis Tiigi tonistiigi@gmail.com

+13 -4

0 comment

1 changed file

tonistiigi

pr closed time in 6 days

issue closedmoby/buildkit

Support custom DNS from dockerd config

Hi, i think that I stumbled upon a problem with buildkit and using our internal DNS server. Building the image without buildkit works fine, but if I use $ DOCKER_BUILDKIT=1 docker build ... it seems that i can't reach the Alpine Linux repositories. My question would be if buildkit is using the DNS server specified in /etc/docker/daemon.json or if this is not implemented right now. Thanks a bunch for your help!

Docker version 18.09.0, build 4d60db4

Daemon.json

$ cat /etc/docker/daemon.json
{
"dns": [
    "x.x.x.x", 
    "8.8.8.8"
],
"experimental": true
}

Console output:

[+] Building 12.5s (12/35)                                                                                                                                                                           
=> [internal] load build definition from Dockerfile                                                                                                                                            0.0s
=> => transferring dockerfile: 39B                                                                                                                                                             0.0s
=> [internal] load .dockerignore                                                                                                                                                               0.1s
=> => transferring context: 2B                                                                                                                                                                 0.0s
=> [internal] load metadata for docker.io/library/python:3.7-slim-stretch                                                                                                                      0.0s
=> [internal] load metadata for docker.io/library/alpine:3.8                                                                                                                                   0.0s
=> CACHED [internal] helper image for file operations                                                                                                                                          0.0s
=> [internal] load build context                                                                                                                                                               0.0s
=> => transferring context: 1.10kB                                                                                                                                                             0.0s
=> CACHED [alpine-runtime 1/2] FROM docker.io/library/alpine:3.8                                                                                                                               0.0s
=> [debian-runtime 1/2] FROM docker.io/library/python:3.7-slim-stretch                                                                                                                         0.0s
=> CACHED [debian-runtime 2/2] RUN set -ex  && cp /usr/share/zoneinfo/Europe/Vienna /etc/localtime  && echo Europe/Vienna > /etc/timezone  && mkdir -p /srv/archives /srv/wheels /srv/binarie  0.0s
=> CANCELED [base-production 1/1] RUN set -ex  && buildDeps=    curl     gnupg  && deps=    binutils     gosu     postgresql-client-11  && apt-get update && apt-get install -yq --no-instal  12.3s
=> ERROR [alpine-runtime 2/2] RUN apk --update --no-cache add     bash     tzdata  && cp /usr/share/zoneinfo/Europe/Vienna /etc/localtime && echo Europe/Vienna > /etc/timezone  && apk del   12.0s
=> CANCELED [debian-build 1/1] RUN set -ex  && apt-get update && apt-get install -yq --no-install-recommends     build-essential     libtool     libtool-bin     automake     autoconf     p  12.3s
------
> [alpine-runtime 2/2] RUN apk --update --no-cache add     bash     tzdata  && cp /usr/share/zoneinfo/Europe/Vienna /etc/localtime && echo Europe/Vienna > /etc/timezone  && apk del tzdata:
#27 1.691 fetch http://dl-cdn.alpinelinux.org/alpine/v3.8/main/x86_64/APKINDEX.tar.gz
#27 6.695 fetch http://dl-cdn.alpinelinux.org/alpine/v3.8/community/x86_64/APKINDEX.tar.gz
#27 6.695 WARNING: Ignoring http://dl-cdn.alpinelinux.org/alpine/v3.8/main/x86_64/APKINDEX.tar.gz: temporary error (try again later)
#27 11.70 WARNING: Ignoring http://dl-cdn.alpinelinux.org/alpine/v3.8/community/x86_64/APKINDEX.tar.gz: temporary error (try again later)
#27 11.70 ERROR: unsatisfiable constraints:
#27 11.70   bash (missing):
#27 11.70     required by: world[bash]
#27 11.70   tzdata (missing):
#27 11.70     required by: world[tzdata]

closed time in 6 days

hetsch

issue commentmoby/buildkit

Support custom DNS from dockerd config

I'm closing as this should now work with Docker 19.03 (as well as with a buildkitd config)

hetsch

comment created time in 6 days

starteddunglas/vulcain

started time in 6 days

Pull request review commentmoby/moby

Add daemon options required by buildkit tests

 func (d *Daemon) StartWithLogFile(out *os.File, providedArgs ...string) error { 	}  	d.args = append(d.GlobalFlags,-		"--containerd", containerdSocket, 		"--data-root", d.Root, 		"--exec-root", d.execRoot, 		"--pidfile", d.pidFile, 		fmt.Sprintf("--userland-proxy=%t", d.userlandProxy), 		"--containerd-namespace", d.id, 		"--containerd-plugins-namespace", d.id+"p", 	)+	if d.containerdSocket != "" {+		d.args = append(d.args, "--containerd", d.containerdSocket)+	}+	if d.noIptables {+		d.args = append(d.args, "--iptables=false")

@SamWhited I don't believe you need this anymore (this was needed when run inside buildkit's alpine container but that's no longer the design we're taking). Also if it'd be needed it could be passed to providedArgs. The reason we needed an option for containerd was because a default was hardcoded and there was no way to change it.

SamWhited

comment created time in 7 days

push eventdocker/cli

Samuel Cochran

commit sha 758d12e65112bed583396ee3f43cf6302f249fef

unused-for is a deprecated synonym See https://github.com/moby/moby/blob/9e7d5ac5ea55dc57185f49476e03d6efa76b3512/builder/builder-next/builder.go#L574 Signed-off-by: Samuel Cochran <sj26@sj26.com>

view details

Tibor Vass

commit sha 3d35fd40d2c522a8670f0eb3f0975bcb5f8ee4a7

Merge pull request #2179 from sj26/builder-prune-filter-docs unused-for is a deprecated synonym for until

view details

push time in 8 days

PR merged docker/cli

unused-for is a deprecated synonym for until area/builder impact/documentation status/2-code-review

- What I did

Change unused-for to until in docker builder prune --help output, which should flow through to the docs site.

- How I did it

Modifying the command flag description.

- How to verify it

Run docker builder prune --help

- Description for the changelog

Fixed deprecated docker builder prune filter example

- A picture of a cute animal (not mandatory but encouraged)

image

+1 -1

2 comments

1 changed file

sj26

pr closed time in 8 days

push eventmoby/buildkit

Tonis Tiigi

commit sha 9654e5eeda5f3e616ea8dfd508308080d3f41d9d

dockerfile: fix copy symlinks on copied dir Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>

view details

Tibor Vass

commit sha 6bbf5e19c49da05dfdfaef4f6c7258b23da02c0a

Merge pull request #1228 from tonistiigi/symlink-copy dockerfile: fix copy symlinks on copied dir

view details

push time in 11 days

PR merged moby/buildkit

dockerfile: fix copy symlinks on copied dir

fixes #1197

Signed-off-by: Tonis Tiigi tonistiigi@gmail.com

+45 -22

0 comment

2 changed files

tonistiigi

pr closed time in 11 days

issue closedmoby/buildkit

DOCKER_BUILDKIT=1 docker build fails COPYing a symlink from host

We have a directory structure like this:

  • A
    • bar.txt
  • B
    • foo.txt --> ../A/bar.txt
  • Dockerfile

(B/foo.txt is a symlink to A/bar.txt.)

The Dockerfile looks like this:

FROM scratch
COPY B/ /xyz
COPY B/foo.txt /xyz/foo.txt

DOCKER_BUILDKIT=1 docker build . fails with an error message on the second COPY:

failed to solve with frontend dockerfile.v0: failed to build LLB: failed to compute cache key: "/A/bar.txt" not found: not found

closed time in 11 days

rittneje

push eventmoby/moby

Sebastiaan van Stijn

commit sha 27552ceb15bca544820229e574427d4c1d6ef585

bump containerd/cgroups 5fbad35c2a7e855762d3c60f2e474ffcad0d470a full diff: https://github.com/containerd/cgroups/compare/c4b9ac5c7601384c965b9646fc515884e091ebb9...5fbad35c2a7e855762d3c60f2e474ffcad0d470a - containerd/cgroups#82 Add go module support - containerd/cgroups#96 Move metrics proto package to stats/v1 - containerd/cgroups#97 Allow overriding the default /proc folder in blkioController - containerd/cgroups#98 Allows ignoring memory modules - containerd/cgroups#99 Add Go 1.13 to Travis - containerd/cgroups#100 stats/v1: export per-cgroup stats Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

view details

Tibor Vass

commit sha 9232e1096cbcadc18363fedae1230bb740ef93ca

Merge pull request #40154 from thaJeztah/bump_cgroups bump containerd/cgroups 5fbad35c2a7e855762d3c60f2e474ffcad0d470a

view details

push time in 13 days

PR merged moby/moby

bump containerd/cgroups 5fbad35c2a7e855762d3c60f2e474ffcad0d470a area/runtime process/cherry-pick status/2-code-review

full diff: https://github.com/containerd/cgroups/compare/c4b9ac5c7601384c965b9646fc515884e091ebb9...5fbad35c2a7e855762d3c60f2e474ffcad0d470a

  • containerd/cgroups#82 Add go module support
  • containerd/cgroups#96 Move metrics proto package to stats/v1
  • containerd/cgroups#97 Allow overriding the default /proc folder in blkioController
  • containerd/cgroups#98 Allows ignoring memory modules
  • containerd/cgroups#99 Add Go 1.13 to Travis
  • containerd/cgroups#100 stats/v1: export per-cgroup stats
+1543 -423

7 comments

17 changed files

thaJeztah

pr closed time in 13 days

Pull request review commentmoby/moby

Run buildkit integration tests

 test-integration: build ## run the integration tests 	$(DOCKER_RUN_DOCKER) hack/make.sh dynbinary test-integration endif +test-buildkit: build+	# Download buildkit+	# TODO: change this to moby version of the project after+	# https://github.com/moby/buildkit/pull/1164 is merged.+	curl -fsSL -o "/tmp/buildkit.tar.gz" https://github.com/SamWhited/buildkit/archive/${BUILDKIT_COMMIT}.tar.gz+	rm -rf ../buildkit/+	tar -xzf "/tmp/buildkit.tar.gz"+	mv buildkit-${BUILDKIT_COMMIT}/ ../buildkit/+	rm -rf ../buildkit/vendor/github.com/docker/docker+	cp -r "$(CURDIR)" ../buildkit/vendor/github.com/docker/docker++	$(DOCKER_RUN_DOCKER) hack/make.sh binary-daemon binary+	cd ../buildkit/ && \+		TEST_DOCKERD=1 \+		EXTRA_INTEGRATION_DOCKER_FLAGS="-v $(CURDIR)/bundles/binary-daemon/dockerd:/bin/dockerd:ro" \+		./hack/test integration

You are testing the docker daemon that's provided by Jenkins, not the docker daemon in the codebase. If you look at how test-docker-py works as an example, that runs inside the container: $(DOCKER_RUN_DOCKER) hack/make.sh dynbinary test-docker-py and buildkit should do the same. So you do need a hack/make/test-buildkit in moby that will call into buildkit's /hack/test integration from within the container.

tiborvass

comment created time in 13 days

Pull request review commentmoby/moby

Run buildkit integration tests

 test-integration: build ## run the integration tests 	$(DOCKER_RUN_DOCKER) hack/make.sh dynbinary test-integration endif +test-buildkit: build+	# Download buildkit+	# TODO: change this to moby version of the project after+	# https://github.com/moby/buildkit/pull/1164 is merged.+	curl -fsSL -o "/tmp/buildkit.tar.gz" https://github.com/SamWhited/buildkit/archive/${BUILDKIT_COMMIT}.tar.gz+	rm -rf ../buildkit/+	tar -xzf "/tmp/buildkit.tar.gz"+	mv buildkit-${BUILDKIT_COMMIT}/ ../buildkit/+	rm -rf ../buildkit/vendor/github.com/docker/docker+	cp -r "$(CURDIR)" ../buildkit/vendor/github.com/docker/docker++	$(DOCKER_RUN_DOCKER) hack/make.sh binary-daemon binary

binary alone should be enough

tiborvass

comment created time in 13 days

push eventtiborvass/cli

Tibor Vass

commit sha 85895e16fe112bf4e350617ce588512d2b24360d

cp: allow trailing slash in non-existant destination Signed-off-by: Tibor Vass <tibor@docker.com>

view details

push time in 13 days

create barnchtiborvass/cli

branch : fix-cp-trailing-slash

created branch time in 13 days

push eventmoby/moby

Sebastiaan van Stijn

commit sha a0a5ec4c6d18debd1ef94fbcc8096dfb8c561a7b

Integration: skip TestInfoDebug on Windows The test starts a new daemon, but attempts to run it with overlay2, and using a unix:// socket, which doesn't really work on Windows. ``` 00:14:14.623 --- FAIL: TestInfoDebug (0.01s) 00:14:14.623 info_test.go:75: [dbe75bf7729f3] failed to start daemon with arguments [--containerd /var/run/docker/containerd/containerd.sock --data-root D:\gopath\src\github.com\docker\docker\bundles\tmp\TestInfoDebug\dbe75bf7729f3\root --exec-root C:\windows\TEMP\dxr\dbe75bf7729f3 --pidfile D:\gopath\src\github.com\docker\docker\bundles\tmp\TestInfoDebug\dbe75bf7729f3\docker.pid --userland-proxy=true --containerd-namespace dbe75bf7729f3 --containerd-plugins-namespace dbe75bf7729f3p --host unix://C:\windows\TEMP\docker-integration\dbe75bf7729f3.sock --storage-driver overlay2 --debug] : protocol not available 00:14:14.623 === RUN TestInfoInsecureRegistries 00:14:14.623 --- FAIL: TestInfoInsecureRegistries (0.00s) 00:14:14.623 info_test.go:100: [d3c745c16a39c] failed to start daemon with arguments [--containerd /var/run/docker/containerd/containerd.sock --data-root D:\gopath\src\github.com\docker\docker\bundles\tmp\TestInfoInsecureRegistries\d3c745c16a39c\root --exec-root C:\windows\TEMP\dxr\d3c745c16a39c --pidfile D:\gopath\src\github.com\docker\docker\bundles\tmp\TestInfoInsecureRegistries\d3c745c16a39c\docker.pid --userland-proxy=true --containerd-namespace d3c745c16a39c --containerd-plugins-namespace d3c745c16a39cp --host unix://C:\windows\TEMP\docker-integration\d3c745c16a39c.sock --debug --storage-driver overlay2 --insecure-registry=192.168.1.0/24 --insecure-registry=insecurehost.com:5000] : protocol not available 00:14:14.623 === RUN TestInfoRegistryMirrors 00:14:14.623 --- FAIL: TestInfoRegistryMirrors (0.01s) 00:14:14.623 info_test.go:124: [d277126ad0515] failed to start daemon with arguments [--containerd /var/run/docker/containerd/containerd.sock --data-root D:\gopath\src\github.com\docker\docker\bundles\tmp\TestInfoRegistryMirrors\d277126ad0515\root --exec-root C:\windows\TEMP\dxr\d277126ad0515 --pidfile D:\gopath\src\github.com\docker\docker\bundles\tmp\TestInfoRegistryMirrors\d277126ad0515\docker.pid --userland-proxy=true --containerd-namespace d277126ad0515 --containerd-plugins-namespace d277126ad0515p --host unix://C:\windows\TEMP\docker-integration\d277126ad0515.sock --debug --storage-driver overlay2 --registry-mirror=https://192.168.1.2 --registry-mirror=http://registry.mirror.com:5000] : protocol not available ``` Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

view details

Tibor Vass

commit sha 7cb46617fcc1071963ab59d81082eab3e3ef8f9d

Merge pull request #40155 from thaJeztah/skip_testinfodebug Integration: skip TestInfoDebug on Windows

view details

push time in 13 days

PR merged moby/moby

Integration: skip TestInfoDebug on Windows area/testing platform/windows process/cherry-pick status/2-code-review

The test starts a new daemon, but attempts to run it with overlay2, and using a unix:// socket, which doesn't really work on Windows.

00:14:14.623  --- FAIL: TestInfoDebug (0.01s)
00:14:14.623      info_test.go:75: [dbe75bf7729f3] failed to start daemon with arguments [--containerd /var/run/docker/containerd/containerd.sock --data-root D:\gopath\src\github.com\docker\docker\bundles\tmp\TestInfoDebug\dbe75bf7729f3\root --exec-root C:\windows\TEMP\dxr\dbe75bf7729f3 --pidfile D:\gopath\src\github.com\docker\docker\bundles\tmp\TestInfoDebug\dbe75bf7729f3\docker.pid --userland-proxy=true --containerd-namespace dbe75bf7729f3 --containerd-plugins-namespace dbe75bf7729f3p --host unix://C:\windows\TEMP\docker-integration\dbe75bf7729f3.sock --storage-driver overlay2 --debug] : protocol not available
00:14:14.623  === RUN   TestInfoInsecureRegistries
00:14:14.623  --- FAIL: TestInfoInsecureRegistries (0.00s)
00:14:14.623      info_test.go:100: [d3c745c16a39c] failed to start daemon with arguments [--containerd /var/run/docker/containerd/containerd.sock --data-root D:\gopath\src\github.com\docker\docker\bundles\tmp\TestInfoInsecureRegistries\d3c745c16a39c\root --exec-root C:\windows\TEMP\dxr\d3c745c16a39c --pidfile D:\gopath\src\github.com\docker\docker\bundles\tmp\TestInfoInsecureRegistries\d3c745c16a39c\docker.pid --userland-proxy=true --containerd-namespace d3c745c16a39c --containerd-plugins-namespace d3c745c16a39cp --host unix://C:\windows\TEMP\docker-integration\d3c745c16a39c.sock --debug --storage-driver overlay2 --insecure-registry=192.168.1.0/24 --insecure-registry=insecurehost.com:5000] : protocol not available
00:14:14.623  === RUN   TestInfoRegistryMirrors
00:14:14.623  --- FAIL: TestInfoRegistryMirrors (0.01s)
00:14:14.623      info_test.go:124: [d277126ad0515] failed to start daemon with arguments [--containerd /var/run/docker/containerd/containerd.sock --data-root D:\gopath\src\github.com\docker\docker\bundles\tmp\TestInfoRegistryMirrors\d277126ad0515\root --exec-root C:\windows\TEMP\dxr\d277126ad0515 --pidfile D:\gopath\src\github.com\docker\docker\bundles\tmp\TestInfoRegistryMirrors\d277126ad0515\docker.pid --userland-proxy=true --containerd-namespace d277126ad0515 --containerd-plugins-namespace d277126ad0515p --host unix://C:\windows\TEMP\docker-integration\d277126ad0515.sock --debug --storage-driver overlay2 --registry-mirror=https://192.168.1.2 --registry-mirror=http://registry.mirror.com:5000] : protocol not available

Signed-off-by: Sebastiaan van Stijn github@gone.nl

<!-- Please make sure you've read and understood our contributing guidelines; https://github.com/moby/moby/blob/master/CONTRIBUTING.md

** Make sure all your commits include a signature generated with git commit -s **

For additional information on our contributing process, read our contributing guide https://docs.docker.com/opensource/code/

If this is a bug fix, make sure your description includes "fixes #xxxx", or "closes #xxxx"

Please provide the following information: -->

- What I did

- How I did it

- How to verify it

- Description for the changelog <!-- Write a short (one line) summary that describes the changes in this pull request for inclusion in the changelog: -->

- A picture of a cute animal (not mandatory but encouraged)

+1 -0

0 comment

1 changed file

thaJeztah

pr closed time in 13 days

create barnchtiborvass/cli

branch : 19.03-fix-cp

created branch time in 14 days

pull request commentmoby/moby

Support host.docker.internal in dockerd on Linux

@arkodg Almost: there is no conditional logic for getting the gateway IP: it's always from the hosts-gateway-default-ip config. That config defaults to the bridge IP upon daemon start.

arkodg

comment created time in 15 days

PR opened containerd/containerd

ppc64: -buildmode=pie is not supported

I needed this patch to compile containerd for ppc64.

Signed-off-by: Tibor Vass tibor@docker.com

+2 -0

0 comment

1 changed file

pr created time in 15 days

create barnchtiborvass/containerd

branch : ppc64

created branch time in 15 days

pull request commentmoby/moby

Support host.docker.internal in dockerd on Linux

Here's a conclusion of my IRL talk with @arkodg:

  • we should not break existing Desktop users
  • instead of adding yet another knob to the daemon that makes all applications running on it less portable, users should be encouraged to opt-in to non-portability per application.

Suggested implementation:

  • add-host accepts as an IP, a magic gateway string (open to suggestions for naming) that, by default is replaced by the bridge IP (as configued by dockerd --bip)
  • a new --hosts-gateway-default-ip flag (again: i'm sure we can find a better name) is added to dockerd which allows docker desktop to configure the IP that the magic gateway string should be replaced to.
  • Docs are updated to deprecate (but not remove) the automatically added hosts in Desktop, and instead encourage users to add manually the magic host if needed.

As someone pointed it out, this would work automatically with compose using the gateway string in extra_hosts.

arkodg

comment created time in 15 days

push eventmoby/moby

Kir Kolyshkin

commit sha 80e338a18db0acce00653a176d82a567eafb0c79

Revert "homedir: add cgo or osusergo buildtag constraints for unix" TL;DR: there is no way to do this right. We do know that in some combination of build tags set (or unset), linker flags, environment variables, and libc implementation, this package won't work right. In fact, there is one specific combination: 1. `CGO_ENABLED=1` (or unset) 2. static binary is being built (e.g. `go build` is run with `-extldflags -static`) 3. `go build` links the binary against glibc 4. `osusergo` is not set This particular combination results in the following legitimate linker warning: > cgo_lookup_unix.go: warning: Using 'getpwuid_r' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking If this warning is ignored and the resulting binary is used on a system with files from a different glibc version (or without those files), it could result in a segfault. The commit being reverted tried to guard against such possibility, but the problem is, we can only use build tags to account for items 1 and 4 from the above list, while items 2 and 3 do not result in any build tags being set or unset, making this guard excessive. Remove it. This reverts commit 023b072288eab3c9e768d4aeeb917f27f06034c7. Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>

view details

Kir Kolyshkin

commit sha 7ef475fc1698e34b1ffe0f666021060e566abf94

pkg/homedir: clarify Get() docs wrt static linking This clarifies comments about static linking made in commit a8608b5b67c. 1. There are two ways to create a static binary, one is to disable cgo, the other is to set linker flags. When cgo is disabled, there is no need to use osusergo build tag. 2. osusergo only needs to be set when linking against glibc. Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>

view details

Tibor Vass

commit sha a09e6e323e55e1a9b21df9c2c555f5668df3ac9b

Merge pull request #40134 from kolyshkin/homedir-osusergo Revert "homedir: add cgo or osusergo buildtag constraints for unix"

view details

push time in 18 days

PR merged moby/moby

Reviewers
Revert "homedir: add cgo or osusergo buildtag constraints for unix" status/2-code-review

This reverts #39994 and slightly clarifies doc update of homedir.Get() added by #39975

Revert "homedir: add cgo or osusergo buildtag constraints for unix"

TL;DR: there is no way to do this right.

We do know that in some combination of build tags set (or unset), linker flags, environment variables, and libc implementation, this package won't work right. In fact, there is one specific combination:

  1. CGO_ENABLED=1 (or unset)
  2. static binary is being built (e.g. go build is run with -extldflags -static)
  3. go build links the binary against glibc
  4. osusergo is not set

This particular combination results in the following legitimate linker warning:

cgo_lookup_unix.go: warning: Using 'getpwuid_r' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking

If this warning is ignored and the resulting binary is used on a system with files from a different glibc version (or without those files), it could result in a segfault.

The commit being reverted tried to guard against such possibility, but the problem is, we can only use build tags to account for items 1 and 4 from the above list, while items 2 and 3 do not result in any build tags being set or unset, making this guard excessive.

Remove it.

This reverts commit 023b072288eab3c9e768d4aeeb917f27f06034c7.

pkg/homedir: clarify Get() docs wrt static linking

This clarifies comments about static linking made in commit a8608b5b67c.

  • There are two ways to create a static binary, one is to disable cgo, the other is to set linker flags. When cgo is disabled, there is no need to use osusergo build tag.

  • osusergo only needs to be set when linking against glibc.

@tiborvass @thaJeztah @cpuguy83 PTAL

+6 -3

7 comments

1 changed file

kolyshkin

pr closed time in 18 days

pull request commentmoby/moby

Revert "homedir: add cgo or osusergo buildtag constraints for unix"

Sorry I don't quite understand this, I need to think this through. Please don't merge yet

kolyshkin

comment created time in 19 days

PR merged moby/moby

Reviewers
Use Microsoft/hcsshim constants and deprecate pkg/system.GetOsVersion() kind/refactor platform/windows status/2-code-review

Use hcsshim as the source of truth. Also bumps hcsshim;

  • https://github.com/Microsoft/hcsshim/compare/672e52e9209d1e53718c1b6a7d68cc9272654ab5...2226e083fc390003ae5aa8325c3c92789afa0e7a
  • ~https://github.com/Microsoft/go-winio/compare/c599b533b43b1363d7d7c6cfda5ede70ed73ff13...84b4ab48a50763fe7b3abcef38e5205c12027fac~
+63 -71

18 comments

14 changed files

thaJeztah

pr closed time in 19 days

push eventmoby/moby

Sebastiaan van Stijn

commit sha a5341aaf32d2ea1d7f527fa8f3bd08f4706e4872

bump Microsoft/hcsshim 2226e083fc390003ae5aa8325c3c92789afa0e7a Adds osversion.Build() utility Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

view details

Sebastiaan van Stijn

commit sha 6b91ceff74f41f8cbf5c183011764b801f71a221

Use hcsshim osversion package for Windows versions Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

view details

Sebastiaan van Stijn

commit sha 86b3703182aa210a4a83404f68c2d457166e732a

Deprecate pkg/system.GetOSVersion() in favor of hcsshim/osversion.Get() Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

view details

Tibor Vass

commit sha 1bd184a4c291e4f60629e2cc279216f8f40495f3

Merge pull request #39100 from thaJeztah/use_hcsshim_constants Use Microsoft/hcsshim constants and deprecate pkg/system.GetOsVersion()

view details

push time in 19 days

Pull request review commentmoby/moby

Use Microsoft/hcsshim constants and deprecate pkg/system.GetOsVersion()

 var (  // OSVersion is a wrapper for Windows version information // https://msdn.microsoft.com/en-us/library/windows/desktop/ms724439(v=vs.85).aspx-type OSVersion struct {-	Version      uint32-	MajorVersion uint8-	MinorVersion uint8-	Build        uint16-}+type OSVersion osversion.OSVersion

This could possibly be a type alias

thaJeztah

comment created time in 19 days

issue commentdocker/buildx

--progress=raw

Shouldn’t be too difficult, all that’s needed is something like a NewJSONPrinter instead of NewPrinter https://github.com/docker/buildx/blob/master/util/progress/printer.go#L33 that would in a goroutine loop and read from the statusCh and json encode it to out.

As far as UI is concerned, I think --progress=json would be more appropriate, if it's doing JSON encoding allowing in the future to have various encodings that could qualify as "raw".

shykes

comment created time in 19 days

pull request commentmoby/moby

Support host.docker.internal in dockerd on Linux

This should be on docker run and not a daemon flag, because non-portable properties are in HostConfig and we should not add more non-portable properties to the daemon. We already have --add-host and the only problem is the IP is not portable. I like @thaJeztah's approach in https://github.com/moby/moby/pull/40007#discussion_r329662955 for add-host.

For swarmkit consideraitons: this would be opaque to the managers and they would pass it down to workers and each worker would resolve it to its own IP.

arkodg

comment created time in 20 days

push eventmoby/moby

Sebastiaan van Stijn

commit sha 060e55d7dd8e304631dd2a3c0ab2d571b0054bd3

integration-cli: mark some test-helpers as helpers Before: daemon.go:26: Creating a new daemon at: "/go/src/github.com/docker/docker/bundles/test-integration/TestDockerSwarmSuite/TestSwarmNetworkCreateDup" After: docker_cli_swarm_test.go:1522: Creating a new daemon at: "/go/src/github.com/docker/docker/bundles/test-integration/TestDockerSwarmSuite/TestSwarmNetworkCreateDup" Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

view details

Sebastiaan van Stijn

commit sha 56230f4d376515b838e088e93eb05f31fb9378c9

testutil: no more "Creating a new daemon at" Instead of logging on the "happy path", add more details when we fail to create a daemon. Now that we base the path of the daemon on the test-name, it should still be easy to find. Before: make TEST_FILTER=TestSwarmNetworkCreateIssue27866 test-integration ... === RUN TestDockerSwarmSuite === RUN TestDockerSwarmSuite/TestSwarmNetworkCreateIssue27866 --- PASS: TestDockerSwarmSuite (7.47s) --- PASS: TestDockerSwarmSuite/TestSwarmNetworkCreateIssue27866 (7.47s) docker_cli_swarm_test.go:1499: Creating a new daemon at: "/go/src/github.com/docker/docker/bundles/test-integration/TestDockerSwarmSuite/TestSwarmNetworkCreateIssue27866" After: make TEST_FILTER=TestSwarmNetworkCreateIssue27866 test-integration ... === RUN TestDockerSwarmSuite === RUN TestDockerSwarmSuite/TestSwarmNetworkCreateIssue27866 --- PASS: TestDockerSwarmSuite (8.67s) --- PASS: TestDockerSwarmSuite/TestSwarmNetworkCreateIssue27866 (8.67s) Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

view details

Tibor Vass

commit sha 2cf86a03a96e3b0be4b29887821856af540bce17

Merge pull request #40112 from thaJeztah/cut_the_noise integration-cli: don't log "Creating new daemon" logs, and print correct line numbers

view details

push time in 20 days

PR merged moby/moby

integration-cli: don't log "Creating new daemon" logs, and print correct line numbers area/testing kind/refactor process/cherry-pick status/2-code-review

Two improvements;

integration-cli: mark some test-helpers as helpers

Before:

daemon.go:26: Creating a new daemon at: "/go/src/github.com/docker/docker/bundles/test-integration/TestDockerSwarmSuite/TestSwarmNetworkCreateDup"

After:

docker_cli_swarm_test.go:1522: Creating a new daemon at: "/go/src/github.com/docker/docker/bundles/test-integration/TestDockerSwarmSuite/TestSwarmNetworkCreateDup"

testutil: no more "Creating a new daemon at"

Instead of logging on the "happy path", add more details when we fail to create a daemon. Now that we base the path of the daemon on the test-name, it should still be easy to find.

Before:

make TEST_FILTER=TestSwarmNetworkCreateIssue27866 test-integration
...
=== RUN   TestDockerSwarmSuite
=== RUN   TestDockerSwarmSuite/TestSwarmNetworkCreateIssue27866
--- PASS: TestDockerSwarmSuite (7.47s)
    --- PASS: TestDockerSwarmSuite/TestSwarmNetworkCreateIssue27866 (7.47s)
        docker_cli_swarm_test.go:1499: Creating a new daemon at: "/go/src/github.com/docker/docker/bundles/test-integration/TestDockerSwarmSuite/TestSwarmNetworkCreateIssue27866"

After:

make TEST_FILTER=TestSwarmNetworkCreateIssue27866 test-integration
...
=== RUN   TestDockerSwarmSuite
=== RUN   TestDockerSwarmSuite/TestSwarmNetworkCreateIssue27866
--- PASS: TestDockerSwarmSuite (8.67s)
    --- PASS: TestDockerSwarmSuite/TestSwarmNetworkCreateIssue27866 (8.67s)
+6 -4

2 comments

3 changed files

thaJeztah

pr closed time in 20 days

pull request commentmoby/moby

integration-cli: don't log "Creating new daemon" logs, and print correct line numbers

The problem is we always use -test.v and that will show logs even if test is passing.

thaJeztah

comment created time in 20 days

Pull request review commentmoby/moby

integration-cli: don't log "Creating new daemon" logs, and print correct line numbers

 func New(t testing.TB, ops ...Option) *Daemon {  	assert.Check(t, dest != "", "Please set the DOCKER_INTEGRATION_DAEMON_DEST or the DEST environment variable") -	t.Logf("Creating a new daemon at: %q", dest) 	d, err := NewDaemon(dest, ops...)-	assert.NilError(t, err, "could not create daemon")+	assert.NilError(t, err, "could not create daemon at %q", dest)

the problem is dest won't be visible if the error is after the daemon is started

thaJeztah

comment created time in 20 days

startedinversepath/tamago

started time in 20 days

create barnchtiborvass/git

branch : unixsock

created branch time in 20 days

fork tiborvass/git

Git Source Code Mirror - This is a publish-only repository and all pull requests are ignored. Please follow Documentation/SubmittingPatches procedure for any of your improvements.

fork in 20 days

push eventtiborvass/buildx

Tibor Vass

commit sha f3b41f51102f3fb93e24971a98c41497deb80962

bake: add TestReadTargetsOverrides Signed-off-by: Tibor Vass <tibor@docker.com>

view details

push time in 20 days

push eventtiborvass/docker

Olli Janatuinen

commit sha 8660330173e5053e274cf12860079f132cbaa9fa

Unit test for getOrphan Signed-off-by: Olli Janatuinen <olli.janatuinen@gmail.com>

view details

Jintao Zhang

commit sha f8f6f7c2a0e1e1e8b541b29b0f1bdae44964e714

cleanup: remove SetDead function Signed-off-by: Jintao Zhang <zhangjintao9020@gmail.com>

view details

Daniel Black

commit sha 7b4b940470ee34c96bf434b810e4cd5ca2e68182

/containers/{id}/json missing Platform To match ContainerJSONBase api/types/types.go Signed-off-by: Daniel Black <daniel@linux.ibm.com>

view details

Kamil Domański

commit sha 186e22d26e7cf6e4d6f718257c653e496850914a

include IPv6 address of linked containers in /etc/hosts Signed-off-by: Kamil Domański <kamil@domanski.co>

view details

Sebastiaan van Stijn

commit sha 961119db21b95504f819a31dfadd7115757fffb3

Dockerfile: set GO111MODULE=off Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

view details

Sebastiaan van Stijn

commit sha 38e4ae3bca76b9558eb44993c4208b41114c4597

Bump Golang version 1.13.0 Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

view details

Pavel Tikhomirov

commit sha b469933b063169718987865b8b1215cb7befd1a6

integration-cli/requirements: Skip windows specific isolation requirements on non-windows After the commit faaffd5d6d7f ("Windows:Disable 2 restart test when Hyper-V") some tests became skipped on linux: SKIP: docker_cli_restart_test.go:167: DockerSuite.TestRestartContainerSuccess (unmatched requirement IsolationIsProcess) SKIP: docker_cli_restart_test.go:240: DockerSuite.TestRestartPolicyAfterRestart (unmatched requirement IsolationIsProcess) But AFAIU it is highly unlikely that we actually meant to skip them on linux. https://github.com/moby/moby/issues/39625 Signed-off-by: Pavel Tikhomirov <ptikhomirov@virtuozzo.com>

view details

Brian Goff

commit sha ad718029b705b671e6015891b0ba16fa26c5e442

Merge pull request #39794 from tao12345666333/cleanup-set-dead-func cleanup: remove SetDead function

view details

Andrew Hsu

commit sha 039eb05ac87d52fe0b268c090f137eaa14754eed

skip win-RS1 on PRs unless the checkbox is checked Signed-off-by: Andrew Hsu <andrewhsu@docker.com> Signed-off-by: Tibor Vass <tibor@docker.com>

view details

Andrew Hsu

commit sha e653943e8befaff83d6ace9b6f943f0cc8027ae4

run integration-cli stages on s390x and ppc64le if not a PR check Essentially, run on merge to target branch which may or may not be master branch. Could be 19.03 branch, for example. See: https://jenkins.io/doc/book/pipeline/syntax/ Signed-off-by: Andrew Hsu <andrewhsu@docker.com>

view details

Sebastiaan van Stijn

commit sha 64b3d12686e1a4ad4669e8c195cacafd76ea265c

Jenkinsfile: remove redundant -f Dockerfile Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

view details

Tibor Vass

commit sha 984ed95ed7e3903841f8df8f5278db4a12ec3733

Merge pull request #39789 from tiborvass/andrewhsu-jenkinsfile Jenkinsfile: reduce CI time by disabling windows RS1

view details

Arnaud Rebillout

commit sha 667c87ef4f277009803602ebd0813b65fff84090

profiles: Fix file permissions on json files json files should not be executable I think. Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>

view details

Akihiro Suda

commit sha 4b0371fb36a958589319ab7c501ff4bc22645cfa

Merge pull request #39936 from elboulangero/fix-profiles-json-file-permissions profiles: Fix file permissions on json files

view details

Sebastiaan van Stijn

commit sha 0620990307aaf8ada706ffb6c5dc0628c92d84af

hack/test/unit: fix custom TESTFLAGS not working The `-test.timeout=5m` was glued directly after the current `TESTFLAGS`, causing them to be non-functional; Before: make TESTDEBUG=1 TESTDIRS='github.com/docker/docker/pkg/filenotify' TESTFLAGS='-test.run TestPollerEvent' test-unit + mkdir -p bundles + gotestsum --format=standard-quiet --jsonfile=bundles/go-test-report.json --junitfile=bundles/junit-report.xml -- -tags 'netgo seccomp libdm_no_deferred_remove' -cover -coverprofile=bundles/profile.out -covermode=atomic -test.run TestPollerEvent-test.timeout=5m github.com/docker/docker/pkg/filenotify testing: warning: no tests to run ok github.com/docker/docker/pkg/filenotify 0.003s coverage: 0.0% of statements [no tests to run] DONE 0 tests in 0.298s After: make TESTDEBUG=1 TESTDIRS='github.com/docker/docker/pkg/filenotify' TESTFLAGS='-test.run TestPollerEvent' test-unit + mkdir -p bundles + gotestsum --format=standard-quiet --jsonfile=bundles/go-test-report.json --junitfile=bundles/junit-report.xml -- -tags 'netgo seccomp libdm_no_deferred_remove' -cover -coverprofile=bundles/profile.out -covermode=atomic -test.run TestPollerEvent -test.timeout=5m github.com/docker/docker/pkg/filenotify ok github.com/docker/docker/pkg/filenotify 0.608s coverage: 44.7% of statements DONE 1 tests in 0.922s This was introduced in 42f0a0db75a921145c7f519f7b550e1392890da2 Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

view details

Sebastiaan van Stijn

commit sha ac9ef840ef94ff66266d3d8b9d32caf570d3b93f

integration-cli: update TestCreateWithWorkdir for Hyper-V isolation Hyper-V isolated containers do not allow file-operations on a running container. This test currently uses `docker cp` to verify that the WORKDIR was automatically created, which cannot be done while the container is running. ``` FAIL: docker_cli_create_test.go:302: DockerSuite.TestCreateWithWorkdir assertion failed: Command: d:\CI-7\CI-f3768a669\binary\docker.exe cp foo:c:\home\foo\bar c:\tmp ExitCode: 1 Error: exit status 1 Stdout: Stderr: Error response from daemon: filesystem operations against a running Hyper-V container are not supported Failures: ExitCode was 1 expected 0 Expected no error ``` Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

view details

Sebastiaan van Stijn

commit sha 2e7d48f2db138d5421c424172fa2babbb53cec4b

Merge pull request #39688 from Snorch/skip-windows-specific-isolation-requirements-on-non-windows integration-cli/requirements: Skip windows specific isolation require…

view details

Sebastiaan van Stijn

commit sha e894aae2a60b9a1ff84ae9ba3c24d2b5df9c4140

Merge pull request #39715 from olljanat/getorplan-unit-test Unit test for getOrphan

view details

Michael Crosby

commit sha 92cc603036ddadd608762a6f69e72b9b2bef651e

Merge pull request #39932 from thaJeztah/remove_redundant_dockerfile Jenkinsfile: remove redundant -f Dockerfile

view details

Sebastiaan van Stijn

commit sha 8695176d11d7d45c3ac3b75bd790a2a7ac7d41de

daemon/seccomp_linux.go: fix error-capitalization (golint) Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

view details

push time in 21 days

create barnchtiborvass/buildx

branch : revendor-buildkit

created branch time in 22 days

push eventdocker/cli

Sebastiaan van Stijn

commit sha 79aa6cce1929cb9e40b24da0782d45e20d9c6d82

TestFormatInfo: add extra test-case This case was in a test in the engine repository, where it is being removed, so add it to the list of existing tests here. Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

view details

Tibor Vass

commit sha 3afe327a6d228ec4610371a41a9652a664cd7321

Merge pull request #2142 from thaJeztah/info_test TestFormatInfo: add extra test-case

view details

push time in 22 days

PR merged docker/cli

TestFormatInfo: add extra test-case area/testing status/2-code-review

This case was in a test in the engine repository, where it is being removed, so add it to the list of existing tests here.

relates to https://github.com/moby/moby/pull/40104

+5 -0

5 comments

1 changed file

thaJeztah

pr closed time in 22 days

Pull request review commentmoby/moby

integration-cli: make some tests less noisy and easier debuggable

 func (s *DockerSuite) TestContainersAPICreateMountsValidation(c *testing.T) { 		}...)  	}-	cli, err := client.NewClientWithOpts(client.FromEnv)+	apiClient, err := client.NewClientWithOpts(client.FromEnv) 	assert.NilError(c, err)-	defer cli.Close()+	defer apiClient.Close()  	// TODO add checks for statuscode returned by API 	for i, x := range cases {-		c.Logf("case %d", i)-		_, err = cli.ContainerCreate(context.Background(), &x.config, &x.hostConfig, &networktypes.NetworkingConfig{}, "")-		if len(x.msg) > 0 {-			assert.ErrorContains(c, err, x.msg, "%v", cases[i].config)-		} else {-			assert.NilError(c, err)-		}+		x := x

TIL

thaJeztah

comment created time in 22 days

Pull request review commentmoby/moby

integration-cli: make some tests less noisy and easier debuggable

 func (s *DockerSuite) TestContainersAPICreateMountsValidation(c *testing.T) { 		}...)  	}-	cli, err := client.NewClientWithOpts(client.FromEnv)+	apiClient, err := client.NewClientWithOpts(client.FromEnv) 	assert.NilError(c, err)-	defer cli.Close()+	defer apiClient.Close()  	// TODO add checks for statuscode returned by API 	for i, x := range cases {-		c.Logf("case %d", i)-		_, err = cli.ContainerCreate(context.Background(), &x.config, &x.hostConfig, &networktypes.NetworkingConfig{}, "")-		if len(x.msg) > 0 {-			assert.ErrorContains(c, err, x.msg, "%v", cases[i].config)-		} else {-			assert.NilError(c, err)-		}+		x := x

?

thaJeztah

comment created time in 22 days

push eventdocker/engine

Sebastiaan van Stijn

commit sha 9c388fb11928e2a1cb3e821f3d6ba802b1b5533c

Jenkinsfile: set repo and branch for DCO check as well Commit 7019b60d0d6f3d69e6ccf481ca0a912905a9c1d7 added these env-vars to other stages, but forgot to update the DCO stage, which also does a diff to validate commits that are in a PR. Also adding openssh-client, for situations where the upstream needs to be accessed through an ssh connection. Signed-off-by: Sebastiaan van Stijn <github@gone.nl> (cherry picked from commit 7c5fd83c22d9540b6e31393abdf62e54c4ff6060) Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

view details

Tibor Vass

commit sha 645f5593522440ce488425861f62309a9f8d3e0c

Merge pull request #411 from thaJeztah/19.03_backport_fix_dco_branch [19.03 backport] Jenkinsfile: set repo and branch for DCO check as well

view details

push time in 22 days

PR merged docker/engine

[19.03 backport] Jenkinsfile: set repo and branch for DCO check as well

backport of https://github.com/moby/moby/pull/40119

Commit 7019b60d0d6f3d69e6ccf481ca0a912905a9c1d (https://github.com/moby/moby/pull/40035) added these env-vars to other stages, but forgot to update the DCO stage, which also does a diff to validate commits that are in a PR.

this should fix the issue we're seeing in https://github.com/docker/engine/pull/408#issuecomment-544376931

+3 -1

0 comment

1 changed file

thaJeztah

pr closed time in 22 days

push eventmoby/moby

Sebastiaan van Stijn

commit sha 7c5fd83c22d9540b6e31393abdf62e54c4ff6060

Jenkinsfile: set repo and branch for DCO check as well Commit 7019b60d0d6f3d69e6ccf481ca0a912905a9c1d7 added these env-vars to other stages, but forgot to update the DCO stage, which also does a diff to validate commits that are in a PR. Also adding openssh-client, for situations where the upstream needs to be accessed through an ssh connection. Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

view details

Tibor Vass

commit sha 5100013ceddf2a3a4d6c588623a86ae9acd8f687

Merge pull request #40119 from thaJeztah/fix_dco_branch Jenkinsfile: set repo and branch for DCO check as well

view details

push time in 22 days

PR merged moby/moby

Jenkinsfile: set repo and branch for DCO check as well area/testing kind/bugfix process/cherry-pick status/2-code-review

Commit 7019b60d0d6f3d69e6ccf481ca0a912905a9c1d (https://github.com/moby/moby/pull/40035) added these env-vars to other stages, but forgot to update the DCO stage, which also does a diff to validate commits that are in a PR.

this should fix the issue we're seeing in https://github.com/docker/engine/pull/408#issuecomment-544376931

+3 -1

1 comment

1 changed file

thaJeztah

pr closed time in 22 days

Pull request review commentmoby/moby

integration-cli: migrate some "info" tests to integration

 func TestInfoAPIVersioned(t *testing.T) { 	assert.Check(t, is.Contains(out, "ExecutionDriver")) 	assert.Check(t, is.Contains(out, "not supported")) }++// TestInfoDiscoveryBackend verifies that a daemon run with `--cluster-advertise` and+// `--cluster-store` properly returns the backend's endpoint in info output.+func TestInfoDiscoveryBackend(t *testing.T) {+	skip.If(t, testEnv.IsRemoteDaemon, "cannot run daemon when remote daemon")++	const (+		discoveryBackend   = "consul://consuladdr:consulport/some/path"+		discoveryAdvertise = "1.1.1.1:2375"+	)++	d := daemon.New(t)+	d.Start(t, "-H=0.0.0.0:23756", "-H="+d.Sock(), "--cluster-store="+discoveryBackend, "--cluster-advertise="+discoveryAdvertise)

Why -H=0.0.0.0:23756 ?

thaJeztah

comment created time in 22 days

PR closed moby/buildkit

add mod cache to gitignore

Not exactly sure what step resulted in these to be created, but I don't think these need to end up in git, so adding them to the ignore list. Also sort the list alphabetically

+3 -2

6 comments

1 changed file

thaJeztah

pr closed time in 22 days

pull request commentmoby/buildkit

add mod cache to gitignore

I can't think of anything that did this. If it happens again and you know what causes it, feel free to ping again.

thaJeztah

comment created time in 22 days

pull request commentdocker/cli

Fix typo

@derskeal thanks! The part of the docs you changed come from cli/command/network/create.go so you should update that too.

derskeal

comment created time in 22 days

push eventmoby/moby

Sebastiaan van Stijn

commit sha 301a2fbeca2a4285335946c4a914b05f71cbb978

builder/dockerfile/mockbackend_test.go: suppress SA9005 (staticcheck) ``` builder/dockerfile/mockbackend_test.go:107:21: SA9005: struct doesn't have any exported fields, nor custom marshaling (staticcheck) return json.Marshal(rawImage(*i)) ^ ``` Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

view details

Sebastiaan van Stijn

commit sha 94647b5d8609b28ba807ec41b3ed198838dcaecf

graphdriver/aufs: SA4021: x = append(y) is equivalent to x = y (staticcheck) ``` daemon/graphdriver/aufs/aufs_test.go:746:8: SA4021: x = append(y) is equivalent to x = y (staticcheck) ids = append(ids[2:]) ^ ``` Also pre-allocating the ids slice while we're at it. Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

view details

Sebastiaan van Stijn

commit sha ec1fd4b1b0401fad3d03654c16057712aff34e29

distribution: SA4021: x = append(y) is equivalent to x = y (staticcheck) ``` distribution/push_v2_test.go:552:29: SA4021: x = append(y) is equivalent to x = y (staticcheck) return nil, errcode.Errors(append([]error{errcode.ErrorCodeUnauthorized.WithMessage("unauthorized")})) ^ ``` Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

view details

Sebastiaan van Stijn

commit sha 5f47cef514acba3d0fa0856064057d4c7f218c31

fix nolint comments for SA1019: filters.ToParamWithVersion is deprecated The old nolint comment didn't seem to work anymore; ``` client/container_list.go:39:22: SA1019: filters.ToParamWithVersion is deprecated: do not use in any new code; use ToJSON instead (staticcheck) client/events.go:94:22: SA1019: filters.ToParamWithVersion is deprecated: do not use in any new code; use ToJSON instead (staticcheck) client/image_list.go:28:22: SA1019: filters.ToParamWithVersion is deprecated: do not use in any new code; use ToJSON instead (staticcheck) ``` Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

view details

Sebastiaan van Stijn

commit sha 1f7beb85949c4c31b3b5874510531021d5a2b45b

daemon/events/testutils: remove redundant variable Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

view details

Sebastiaan van Stijn

commit sha 04fcb6cfbf0d3419891af82e26d963f22b248fa4

pkg/jsonmessage: fix SA1006: printf-style function with no arguments Also fixed some incorrectly formatted comments ``` pkg/jsonmessage/jsonmessage.go:180:20: SA1006: printf-style function with dynamic format string and no further arguments should use print-style function instead (staticcheck) fmt.Fprintf(out, endl) ^ ``` Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

view details

Sebastiaan van Stijn

commit sha cba180cac9de350dc5cf9ab9036401e6f44ff339

graphdriver/btrfs: SA4003: no value of type uint64 is less than 0 (staticcheck) ``` daemon/graphdriver/btrfs/btrfs.go:609:5: SA4003: no value of type uint64 is less than 0 (staticcheck) if driver.options.size <= 0 { ^ ``` Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

view details

Sebastiaan van Stijn

commit sha 6d9c219c549ba9e6b48e945dce3c9e4e64214850

daemon: S1033: unnecessary guard around call to delete (gosimple) ``` daemon/container_operations.go:787:2: S1033: unnecessary guard around call to delete (gosimple) if _, ok := container.NetworkSettings.Networks[n.ID()]; ok { ^ ``` Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

view details

Sebastiaan van Stijn

commit sha af3bbcc00ceb0197bd22c46666affcf1a9724479

aufs: SA4011: did you mean to break out of the outer loop? (staticcheck) As caught by staticcheck (after disabling the default exclusion rules); Based on the comment, this break was indeed meant to break the loop and return the error. ``` daemon/graphdriver/aufs/mount.go:54:4: SA4011: ineffective break statement. Did you mean to break out of the outer loop? (staticcheck) break ^ ``` Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

view details

Sebastiaan van Stijn

commit sha 4840fd895328da757bd67b6be212f86cae8f93eb

pkg/mount: SA4011: ineffective break statement (staticcheck) ``` pkg/mount/mountinfo_linux.go:93:5: SA4011: ineffective break statement. Did you mean to break out of the outer loop? (staticcheck) break ^ ``` Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

view details

Sebastiaan van Stijn

commit sha 47502344b9aab6919f0b426e037b68e899735abd

golangci-lint: update exclusion rules for todo's Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

view details

Sebastiaan van Stijn

commit sha fe3c14d5ba35a5e41929d90f8fa6111a92d80d97

golangci-lint: fix "golint" not ignoring generated files Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

view details

Sebastiaan van Stijn

commit sha 086b4541cf9d27d9c2654f316a6f69b0d9caedd9

golangci-lint: disable default exclusion rules The default exclusion rules were too permissive; disable them, but copy the relevant ones to the configuation. Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

view details

Sebastiaan van Stijn

commit sha a06d7f5a3e22f69ca9eccb56cf4e4fa53faa84ff

golangci-lint: include all enabled linters in config This makes it clearer from the configuration what linters are enabled. Also disables the `gofmt` linter, because it's superseded by the `goimports` linter. Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

view details

Sebastiaan van Stijn

commit sha 9cb9c6eba4f13b7aade4ed406a8990b41b1439b9

bump golangci-lint v1.20.0 release notes: - v1.20.0: https://github.com/golangci/golangci-lint/releases/tag/v1.20.0 - Add WSL linter (#771) - Add gocognit linter (#756) - govet: add more analyzers - dramatically reduce memory usage - reduce 1.5x memory usage on large repos on repeated runs - Rename deadline option to timeout and mark deadline as deprecated - v1.19.1: https://github.com/golangci/golangci-lint/releases/tag/v1.19.1 - v1.19.0: https://github.com/golangci/golangci-lint/releases/tag/v1.19.0 - Add dogsled linter. - Add whitespace linter - Add Godox linter support - Various performance optimizations - v1.18.0: https://github.com/golangci/golangci-lint/releases/tag/v1.18.0 - Support go1.13 - Update format of junit xml output to mark failures as such - Speed up linting: use deduplicated packages - Add user supplied error messages in depguard issues - Add funlen linter Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

view details

Tibor Vass

commit sha c4cf72bad325f90ebf021d7cb52c262992a687c7

Merge pull request #39964 from thaJeztah/bump_golangci_lint bump golangci-lint v1.20.0

view details

push time in 23 days

PR merged moby/moby

Reviewers
bump golangci-lint v1.20.0 area/testing process/cherry-pick status/2-code-review

release notes:

  • v1.20.0: https://github.com/golangci/golangci-lint/releases/tag/v1.20.0
    • Add WSL linter (#771)
    • Add gocognit linter (#756)
    • govet: add more analyzers
    • dramatically reduce memory usage
    • reduce 1.5x memory usage on large repos on repeated runs
    • Rename deadline option to timeout and mark deadline as deprecated
  • v1.19.1: https://github.com/golangci/golangci-lint/releases/tag/v1.19.1
  • v1.19.0: https://github.com/golangci/golangci-lint/releases/tag/v1.19.0
    • Add dogsled linter.
    • Add whitespace linter
    • Add Godox linter support
    • Various performance optimizations
  • v1.18.0: https://github.com/golangci/golangci-lint/releases/tag/v1.18.0
    • Support go1.13
    • Update format of junit xml output to mark failures as such
    • Speed up linting: use deduplicated packages
    • Add user supplied error messages in depguard issues
    • Add funlen linter
+79 -47

10 comments

20 changed files

thaJeztah

pr closed time in 23 days

issue commentcontainers/crun

error.h not found on alpine

Thanks @giuseppe!

tiborvass

comment created time in 25 days

issue commentcontainers/crun

error.h not found on alpine

I managed to get it to compile on alpine with https://github.com/tiborvass/libocispec/commit/3cda24ae13e15b00081ea8aaeb154a1537be8be3 and https://github.com/tiborvass/crun/commit/7323c9abf4f2b1c231574420151cd315ebe995d7 although I'm not super satisfied with replacing secure_getenv getenv when secure_getenv is missing.

tiborvass

comment created time in 25 days

push eventtiborvass/crun

Tibor Vass

commit sha 8927b52c5127b439d8dcb8f5a9ca424672cf42c0

libocispec: update to POSIX-compatible Signed-off-by: Tibor Vass <tibor@docker.com>

view details

Tibor Vass

commit sha 7323c9abf4f2b1c231574420151cd315ebe995d7

libcrun: ensure POSIX compatibility Signed-off-by: Tibor Vass <tibor@docker.com>

view details

push time in 25 days

push eventtiborvass/crun

Tibor Vass

commit sha 409772d0b484c897620b9474f472640effa932e0

libocispec: update to musl-compatible Signed-off-by: Tibor Vass <tibor@docker.com>

view details

push time in 25 days

create barnchtiborvass/libocispec

branch : HEAD

created branch time in 25 days

fork tiborvass/crun

A fast and lightweight fully featured OCI runtime and C library for running containers

fork in 25 days

push eventtiborvass/libocispec

Tibor Vass

commit sha 3cda24ae13e15b00081ea8aaeb154a1537be8be3

musl: remove non-POSIX error.h dependency Signed-off-by: Tibor Vass <tibor@docker.com>

view details

push time in 25 days

fork tiborvass/libocispec

a C library for accessing OCI runtime and image spec files

fork in 25 days

issue openedcontainers/crun

error.h not found on alpine

$ docker run -it --rm alpine
# apk -U add git gcc yajl-dev libc-dev linux-headers argp-standalone libtool automake autoconf make libcap-dev python3 libseccomp-dev && git clone https://github.com/containers/crun && cd crun && ./autogen.sh && ./configure && make

[...]

make[3]: Entering directory '/root/crun/libocispec'
  CC       src/validate.o
src/validate.c:23:10: fatal error: error.h: No such file or directory
 #include <error.h>
          ^~~~~~~~~
compilation terminated.
make[3]: *** [Makefile:873: src/validate.o] Error 1
make[3]: Leaving directory '/root/crun/libocispec'
make[2]: *** [Makefile:680: all] Error 2
make[2]: Leaving directory '/root/crun/libocispec'
make[1]: *** [Makefile:1475: all-recursive] Error 1
make[1]: Leaving directory '/root/crun'
make: *** [Makefile:756: all] Error 2

created time in 25 days

push eventtonistiigi/fsutil

Tonis Tiigi

commit sha f86313506887a0b9af3dc4951e08e25e943c9a63

receive: update doublewalker to take use stat types Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>

view details

Tonis Tiigi

commit sha 67d31bf02179e1b4e012cdbe78bc6d19baf7b090

receive: use filter on receive diff Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>

view details

Tibor Vass

commit sha 0f039a052ca1da01626278199624b62aed9b3729

Merge pull request #69 from tonistiigi/filter-receive receive: use filter on receive diff

view details

push time in 25 days

PR merged tonistiigi/fsutil

receive: use filter on receive diff

Make sure filter is taken into an account when comparing existing files in the receiver. This issue prevents incremental transfers with userns because the metadata on disk is always different than the one being transferred.

+52 -34

0 comment

6 changed files

tonistiigi

pr closed time in 25 days

Pull request review commentmoby/moby

bump golangci-lint v1.20.0

 func parseInfoFile(r io.Reader, filter FilterFunc) ([]*Info, error) { 				   mount propagation flags in fields[6]. The correct 				   behavior is to ignore any unknown optional fields. 				*/-				break

I was wondering whether this break meant break from the switch or break from the for loop, but i realize i don't understand the logic in this for loop at all:

If i starts at 6 and it's smaller than numFields and fields[i] != "-" only then set p.Optional, otherwise increment i, which means it will never be equal to 6 again, so p.Optional will never be set. So this entire for loop could be reduced to: if numFields >= 6 && fields[6] != "-" { p.Optional = fields[6] }

Surely I must be missing something here.

thaJeztah

comment created time in 25 days

pull request commentdocker/cli

TestFormatInfo: add extra test-case

@thaJeztah test fails, probably equality vs contains

thaJeztah

comment created time in a month

push eventtiborvass/docker

Devon Estes

commit sha cb2a36a89c1fb73b5b9ea3e9df8977f2b3139ad1

Add ability to handle index acknowledgment with splunk log driver Previously there was no way for the splunk log driver to work if index acknowledgment was set on the HEC, and it would in fact fail silently. This will now allow users to specify if index acknowledgment is set and will work with that setting. Signed-off-by: Devon Estes <devon.c.estes@gmail.com>

view details

Sebastiaan van Stijn

commit sha 404d87ec6946aaa9c130b64c0c75514a2fcd50c0

AppArmor: add missing rules for running in userns Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

view details

Sebastiaan van Stijn

commit sha 24a419221d1c3f67ae1e7c231996d39988540a66

integration-cli: TestDaemonEvents*: don't rely on CLI output format Running these tests with a different version of the CLI caused some failures because the tests relied on the CLI's output format. Although these tests should be rewritten to use the API directly, in the meantime this makes them slightly more reliable. Signed-off-by: Tibor Vass <tibor@docker.com> Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

view details

Tibor Vass

commit sha 0e0ab58a96715598e424f0db5e3887a8d553ccd0

integration-cli: in TestDaemonEvents* use ioutil.WriteFile Signed-off-by: Tibor Vass <tibor@docker.com>

view details

Sebastiaan van Stijn

commit sha 8a3e8ac0173c684c6ac8116e668b4b1b17fdf39d

TestDaemonEvents: use is.Contains() for easier debugging Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

view details

Justen Martin

commit sha 095ca77f4810b4e074ee47894f68434fece612c5

Use build args to override binary commits in dockerfile Signed-off-by: Justen Martin <jmart@the-coder.com>

view details

Sebastiaan van Stijn

commit sha 9407a5752250c83f5565fa43ab294e2d7c47be41

hack/make: don't attempt to unmount non-existing daemon root-dir Before: DONE 2 tests in 12.272s ---> Making bundle: .integration-daemon-stop (in bundles/test-integration) umount: bundles/test-integration/root: mountpoint not found After: DONE 2 tests in 14.650s ---> Making bundle: .integration-daemon-stop (in bundles/test-integration) Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

view details

Sebastiaan van Stijn

commit sha 1fe7a9552c5997d64a2180897923b52285eedfb7

testutil/daemon: daemon.Cleanup(): unmount daemon root-dir as part of cleanup test-daemons remove their docker.pid when stopped, so the `.integration-daemon-stop` script did not find the mounts for those daemons, and therefore was not unmounting them. As a result, cleaning up the bundles directory on consecutive runs of the tests would fail; rm: cannot remove 'bundles/test-integration/TestDockerSwarmSuite/TestSwarmInit/d1f188f3f5472/root': Device or resource busy This patch unmounts the root directory of the daemon as part of the cleanup step. Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

view details

Sebastiaan van Stijn

commit sha 2b3957d0b168a697c7f1bb6fcfa4b2c66c9b8ae0

testutil/daemon: prefix all logs with daemon-id This makes it easier to debug issues with tests that start multiple daemons. Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

view details

Sebastiaan van Stijn

commit sha 22662cac570486ecb514de263854aa883c627d98

testutil/daemon: wrap errors Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

view details

Sebastiaan van Stijn

commit sha b843b1ffe3a19b93b40c7193b895ff81ba64d836

testutil/daemon: store pidfile-path, and ignore errors when removing This patch stores the location of the pidfile, so that we can use the same path that was set to create it. If no pidfile was created, we'll not try to remove it. We're now also ignoring errors when removing the pidfile, as they should not fail the test (especialy if no pidfile was created in the first place, as that could potentially hide the actual failure). This may help with "failures" such as the one below: ``` FAIL: check_test.go:347: DockerSwarmSuite.TearDownTest check_test.go:352: d.Stop(c) /go/src/github.com/docker/docker/internal/test/daemon/daemon.go:414: t.Fatalf("Error while stopping the daemon %s : %v", d.id, err) ... Error: Error while stopping the daemon d1512c423813a : remove /go/src/github.com/docker/docker/bundles/test-integration/DockerSwarmSuite.TestServiceLogs/d1512c423813a/docker.pid: no such file or directory ``` Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

view details

Sebastiaan van Stijn

commit sha f6842327b03e124a218f20fc6d0d007df86f7fb2

testutil/daemon: print all arguments when failing to start daemon Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

view details

Sebastiaan van Stijn

commit sha c56bfdf10a4874701fe53e82d209ec7e5d36d497

testutil/daemon: always remove pidfile after daemon is stopped If the daemon was stopped successfully in one of the retry-loops, the function would return early; ```go for { select { case err := <-d.Wait: ---> the function returns here, both on "success" and on "fail" return err case <-time.After(20 * time.Second): ... ``` In that case, the pidfile would not be cleaned up. This patch changes the function to clean-up the pidfile in a defer, so that it will always be removed after succesfully stopping the daemon. Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

view details

Sebastiaan van Stijn

commit sha 293c1a27a21fd2c0ee0dbff4f348a36aa7a10e28

testutil/daemon: remove redundant d.cmd.Wait() `daemon.StartWithLogFile()` already creates a goroutine that calls `d.cmd.Waits()` and sends its return to the channel, `d.Wait`. This code called `d.cmd.Wait()` one more time, and returns the error, which may produce an error _because_ it's called a second time, and potentially cause an incorrect test-result. (thanks to Kir Kolyshkin for spotting this) Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

view details

Akihiro Suda

commit sha 97c084032a7e0447df4c6fb95c261274f7cc96e2

Merge pull request #40053 from thaJeztah/harden_testdaemonevents integration-cli: rely less on CLI output format

view details

Sebastiaan van Stijn

commit sha f5eb39f75a48b06c71400b5cb8c0c1b41fbd10f8

Merge pull request #39919 from jmartin84/36412-build-arg-override-binary-commits Use build args to override binary commits in dockerfile

view details

Sebastiaan van Stijn

commit sha a42b4144bce728590d7c01aa2401589e71850518

Dockerfile: use spaces for indentation Indenting with tabs can cause the formatting to go wonky, because the first line of any command is "indented" with spaces, but following lines are not, therefore they can be mis-aligned with the first line. Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

view details

Sebastiaan van Stijn

commit sha 1cfcce5e210ad7a0296fe341b3dda40a0af06c12

Dockerfile: use build-arg for vpnkit Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

view details

Sebastiaan van Stijn

commit sha ee0ef6c535dc8a3ab62266d7da7801dd7c5b4ea8

Dockerfile: sort packages alphabetically Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

view details

Sebastiaan van Stijn

commit sha 8edbe5dec254d19e378a5a7cb1abf202f7b20eef

Dockerfile: order COPY lines by change frequency Ordering the COPY lines to optimize for layer sharing when these dependencies are updated. Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

view details

push time in a month

push eventtiborvass/buildx

Tibor Vass

commit sha 1e3c6a05f542afc7a9b7a8a0cbe23060d054252a

bake: add --load and --push shorthands for --set Signed-off-by: Tibor Vass <tibor@docker.com>

view details

push time in a month

issue closedmoby/buildkit

Cache not being used

I have tried to cache maven dependencies with the following code:

.
.
.
RUN --mount=type=cache,id=mavencache,target=/root/.m2/repository \
    --mount=type=secret,id=maven,target=/root/.m2/settings.xml \
    mvn -f /home/build/pom.xml verify

And tried to trigger build with the following command:

DOCKER_BUILDKIT=1 docker build --progress=plain --no-cache --secret id=maven,src=/home/myhome/.m2/settings.xml -f /my/directory/Dockerfile .

The secret seems to be properly mounted (as some dependencies on private repositories can be downloaded), however, for every build, all the dependencies are downloaded from the beginning. Can anybody help me with debugging this issue? Any clue is appreciated.

Docker version 19.03.2, build 6a30dfc

closed time in a month

farzadz

issue commentmoby/buildkit

Cache not being used

I personally think it is more confusing to keep cache mounts when --no-cache is specified, rather than the opposite. However, I just opened at https://github.com/moby/buildkit/issues/1213 a proposal I discussed with @tonistiigi to cover your very valid usecase.

I'm closing this issue from a UX perspective. Happy to continue the discussion on the proposal. If you think I missed an important point, feel free to let us know below.

farzadz

comment created time in a month

issue openedmoby/buildkit

Add --no-cache-filter to disable cache per target and per cache mount

Today disabling cache can only be done with --no-cache. This is a proposal for adding --no-cache-filter to disable cache per target (aka Dockerfile stage) and per cache mount.

UX

Couple of examples to get a grasp:

  • --no-cache-filter target1,target2 invalidates cache for both targets target1 and target2 (most common usecase)
  • equivalent to --no-cache-filter target1 --no-cache-filter target2
  • --no-cache --no-cache-filter !target1,!target2 invalidates cache for all targets but target1 and target2 (less common usecase)
  • --no-cache-filter mount:id1 invalidates cache for the cache mount with id id1 (defined with RUN --mount=type=cache,id=id1,...)
  • --no-cache would keep current behavior of disabling cache for all targets and cache mounts

Implementation

We need a new ignoreCacheMounts LLB property in addition to ignoreCache. It would be an array of mount indices corresponding to cache mounts that would be ignored/reset. This would revert the behavior of ignoreCache to what it was prior to https://github.com/moby/buildkit/pull/1092 but changing the --no-cache implementation to use both ignoreCache and ignoreCacheMounts to keep the current behavior of --no-cache wrt cache mounts.

cc @tonistiigi @AkihiroSuda @FernandoMiguel

created time in a month

more