Commit Graph
19381 Commits
Author SHA1 Message Date
John Howard 803f14d503 Windows: [TP4] docker kill handling
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: bc503ca8ab2303066cc64d752ffff05100a9b267
Component: engine
2015-10-13 16:04:49 -07:00
Derek Ch 3e29f68115 fix a race crash when building with "ADD some-broken.tar.xz ..."
The race is between pools.Put which calls buf.Reset and exec.Cmd
doing io.Copy from the buffer; it caused a runtime crash, as
described in #16924:

``` docker-daemon cat the-tarball.xz | xz -d -c -q | docker-untar /path/to/... (aufs ) ```

When docker-untar side fails (like try to set xattr on aufs, or a broken
tar), invokeUnpack will be responsible to exhaust all input, otherwise
`xz` will be write pending for ever.

this change add a receive only channel to cmdStream, and will close it
to notify it's now safe to close the input stream;

in CmdStream the change to use Stdin / Stdout / Stderr keeps the
code simple, os/exec.Cmd will spawn goroutines and call io.Copy automatically.

the CmdStream is actually called in the same file only, change it
lowercase to mark as private.

[...]
INFO[0000] Docker daemon                                 commit=0a8c2e3 execdriver=native-0.2 graphdriver=aufs version=1.8.2

DEBU[0006] Calling POST /build
INFO[0006] POST /v1.20/build?cgroupparent=&cpuperiod=0&cpuquota=0&cpusetcpus=&cpusetmems=&cpushares=0&dockerfile=Dockerfile&memory=0&memswap=0&rm=1&t=gentoo-x32&ulimits=null
DEBU[0008] [BUILDER] Cache miss
DEBU[0009] Couldn't untar /home/lib-docker-v1.8.2-tmp/tmp/docker-build316710953/stage3-x32-20151004.tar.xz to /home/lib-docker-v1.8.2-tmp/aufs/mnt/d909abb87150463939c13e8a349b889a72d9b14f0cfcab42a8711979be285537: Untar re-exec error: exit status 1: output: operation not supported
DEBU[0009] CopyFileWithTar(/home/lib-docker-v1.8.2-tmp/tmp/docker-build316710953/stage3-x32-20151004.tar.xz, /home/lib-docker-v1.8.2-tmp/aufs/mnt/d909abb87150463939c13e8a349b889a72d9b14f0cfcab42a8711979be285537/)
panic: runtime error: slice bounds out of range

goroutine 42 [running]:
bufio.(*Reader).fill(0xc208187800)
    /usr/local/go/src/bufio/bufio.go:86 +0x2db
bufio.(*Reader).WriteTo(0xc208187800, 0x7ff39602d150, 0xc2083f11a0, 0x508000, 0x0, 0x0)
    /usr/local/go/src/bufio/bufio.go:449 +0x27e
io.Copy(0x7ff39602d150, 0xc2083f11a0, 0x7ff3960261f8, 0xc208187800, 0x0, 0x0, 0x0)
    /usr/local/go/src/io/io.go:354 +0xb2
github.com/docker/docker/pkg/archive.func·006()
    /go/src/github.com/docker/docker/pkg/archive/archive.go:817 +0x71
created by github.com/docker/docker/pkg/archive.CmdStream
    /go/src/github.com/docker/docker/pkg/archive/archive.go:819 +0x1ec

goroutine 1 [chan receive]:
main.(*DaemonCli).CmdDaemon(0xc20809da30, 0xc20800a020, 0xd, 0xd, 0x0, 0x0)
    /go/src/github.com/docker/docker/docker/daemon.go:289 +0x1781
reflect.callMethod(0xc208140090, 0xc20828fce0)
    /usr/local/go/src/reflect/value.go:605 +0x179
reflect.methodValueCall(0xc20800a020, 0xd, 0xd, 0x1, 0xc208140090, 0x0, 0x0, 0xc208140090, 0x0, 0x45343f, ...)
    /usr/local/go/src/reflect/asm_amd64.s:29 +0x36
github.com/docker/docker/cli.(*Cli).Run(0xc208129fb0, 0xc20800a010, 0xe, 0xe, 0x0, 0x0)
    /go/src/github.com/docker/docker/cli/cli.go:89 +0x38e
main.main()
    /go/src/github.com/docker/docker/docker/docker.go:69 +0x428

goroutine 5 [syscall]:
os/signal.loop()
    /usr/local/go/src/os/signal/signal_unix.go:21 +0x1f
created by os/signal.init·1
    /usr/local/go/src/os/signal/signal_unix.go:27 +0x35

Signed-off-by: Derek Ch <denc716@gmail.com>
Upstream-commit: b48f4bf5239280b99c781a33000b4d4687967c34
Component: engine
2015-10-13 15:58:06 -07:00
Tibor Vass 095021089e Merge pull request #16863 from dhiltgen/bump_libkv
Bump to latest libkv + dependencies
Upstream-commit: 9c94dcea3dbbe09fbd90e763bfbf19d687bff6c0
Component: engine
2015-10-13 15:57:42 -07:00
Jessica Frazelle 332d97bdef update tests
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
Upstream-commit: 28ad7c588f5ebaf5a41950b42a61759cf47c8de7
Component: engine
2015-10-13 15:52:14 -07:00
Tibor Vass 055fc64475 Bump libcontainer to 6c198ae2d065c37f44316e0de3df7f3b88950923
Signed-off-by: Tibor Vass <tibor@docker.com>
Upstream-commit: a17e53038d15ebb82f2dcdafb5c429609cccfb0d
Component: engine
2015-10-13 15:48:13 -07:00
Michael Crosby 00439678a1 Merge pull request #16996 from jfrazelle/cleanup-no-reprepro
update release-deb from the reprepro stuff we don't use
Upstream-commit: 6ae6371d113737b383b389d7ce54b6692e99f9c4
Component: engine
2015-10-13 15:46:58 -07:00
Jessica Frazelle d72c4d5a02 update release-deb from the reprepro stuff we don't use
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
Upstream-commit: 3057f0f0a7edd4d38485c5528cc2c991240e6b1c
Component: engine
2015-10-13 15:42:39 -07:00
Tibor Vass 08f1b17342 Merge pull request #16991 from Microsoft/10662-fixuserns
Windows: [TP4] Fix AV due to userns
Upstream-commit: 2465ab8814f46ec4381008ba2737b253cd762211
Component: engine
2015-10-13 15:16:36 -07:00
John Howard 00315a1cac Windows: Fix annoying bad log
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: 69949df2420afcf0677d8ecb2ecc93a08e716619
Component: engine
2015-10-13 15:03:20 -07:00
Antonio Murdaca 50f40c819d daemon: execdriver: lxc: fix cgroup paths
When running LXC dind (outer docker is started with native driver)
cgroup paths point to `/docker/CID` inside `/proc/self/mountinfo` but
these paths aren't mounted (root is wrong). This fix just discard the
cgroup dir from mountinfo and set it to root `/`.
This patch fixes/skip OOM LXC tests that were failing.
Fix #16520

Signed-off-by: Antonio Murdaca <runcom@linux.com>
Signed-off-by: Antonio Murdaca <amurdaca@redhat.com>
Upstream-commit: cfcddefacd125af4d909df653bccc8e3089a03b0
Component: engine
2015-10-13 14:46:59 -07:00
Antonio Murdaca 1a998995c2 daemon: execdriver: lxc: fix set memory swap
On LXC memory swap was only set to memory_limit*2 even if a value for
memory swap was provided. This patch fix this behavior to be the same
as the native driver and set correct memory swap in the template.
Also add a test specifically for LXC but w/o adding a new test
requirement.

Signed-off-by: Antonio Murdaca <runcom@linux.com>
Upstream-commit: 06f0d03cede5f6cdaca87f6b786555b023d5286f
Component: engine
2015-10-13 14:46:59 -07:00
Burke Libbey c77d193921 Fix --ipc=host dependency on /dev/mqueue existing
Since #15862, containers fail to start when started with --ipc=host if
/dev/mqueue is not present. This change causes docker to create
container-local mounts for --ipc=host containers as well as in the
default case.

Signed-off-by: Burke Libbey <burke.libbey@shopify.com>
Upstream-commit: f624d6187a8daa3ca0999c46cb345f8db6f330e7
Component: engine
2015-10-13 17:46:55 -04:00
Daniel Hiltgen 22d67b7818 Bump to latest libkv/libnetwork + dependencies
The latest libkv uses a different etcd library.  Unfortunately
that library uses some funky import paths, so I've added a new cleanup
routine for our vendor scripts to be able to normalize the imports
to be consistent with how imports work in this tree.

Signed-off-by: Daniel Hiltgen <daniel.hiltgen@docker.com>
Upstream-commit: 7078e7ddf42ad0beeb61e82cb1544d74def98adf
Component: engine
2015-10-13 14:41:43 -07:00
Alexandre Beslic 0e3861a2d2 Merge pull request #16910 from mavenugo/ipam
Vendoring libnetwork for the pluggable IPAM driver support
Upstream-commit: 4ea3ff70618d28520d2ae787bd00206d05c9f1db
Component: engine
2015-10-13 14:41:19 -07:00
Vincent Demeester 019ffb819f Merge pull request #15796 from azurezk/add-size-to-inspect
add container size info to inspect
Upstream-commit: ce607916e9b4e294e66188bbaf50acaa86e3909f
Component: engine
2015-10-13 23:16:10 +02:00
John Howard 486257052d Windows: Fix AV in build due to userns
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: 6d71f277608b2a655df0942d00607f47dbcaa37b
Component: engine
2015-10-13 14:02:25 -07:00
moxiegirl 517874fd19 Merge pull request #16965 from mikebrow/docs-improvement-for-expose-16634
updating docs for EXPOSE option on run command
Upstream-commit: 9be87c9a96ba902214609bf486951a7dc171b82f
Component: engine
2015-10-13 11:33:28 -07:00
Jess Frazelle 6ed533b627 Merge pull request #16922 from albers/completion-network
[Fix #16919] Add bash completion for `docker network`
Upstream-commit: 3fc75c97399676ae2ac6e667a517ecee640d9138
Component: engine
2015-10-13 11:25:54 -07:00
Sven Dowideit 28ef1f3885 Merge pull request #16981 from sallyom/typos-man
various man page typos
Upstream-commit: dd43c23812612987c0cbda0d5c489578ed66d09d
Component: engine
2015-10-14 04:25:26 +10:00
Madhu Venugopal 7a285e518e IPAM API & UX
introduced --subnet, --ip-range and --gateway options in docker network
command. Also, user can allocate driver specific ip-address if any using
the --aux-address option.
Supports multiple subnets per network and also sharing ip range
across networks if the network-driver and ipam-driver supports it.
Example, Bridge driver doesnt support sharing same ip range across
networks.

Signed-off-by: Madhu Venugopal <madhu@docker.com>
Upstream-commit: cc6aece1fdefbc10638fe9e462a15608c6093115
Component: engine
2015-10-13 11:03:03 -07:00
Madhu Venugopal 2cd0b95af5 Docker side changes for the newly introduced IPAM driver
* Made use of IPAM driver primitives for legacy IP configurations
* Replaced custom Generics with backend labels

Signed-off-by: Madhu Venugopal <madhu@docker.com>
Upstream-commit: 0f351ce3643a97d4b6af0021826b851f9ba41967
Component: engine
2015-10-13 10:52:59 -07:00
Madhu Venugopal b5732f7da4 Vendoring in libnetwork ipam support
* Pluggable IPAM driver support
* Performance and Scalability enhancements
* Libkv fixes in multiple backend stores

Signed-off-by: Madhu Venugopal <madhu@docker.com>
Upstream-commit: 2e3113aeef08c9e7fa4f9cb0fd3d53185d492b99
Component: engine
2015-10-13 10:52:49 -07:00
moxiegirl 21b8dc752f Merge pull request #16946 from pwnall/cpu_quota_docs
Document CFS CPU period / quota support in the API
Upstream-commit: 9ead1663c3c4e9841cd4fb9f8517e5a88cd3f0b6
Component: engine
2015-10-13 10:51:48 -07:00
Brian Goff b3621750e0 Merge pull request #16963 from Microsoft/10662-kill-partone
Windows: Enable kill (part one)
Upstream-commit: b7d921e1b5d2a20050dbeb58c190e5fdbd37236c
Component: engine
2015-10-13 13:02:58 -04:00
Sebastiaan van Stijn 24b60c48d3 Merge pull request #16985 from moxiegirl/carry-dup-text-16961
Centralize discussion of behavior label and env.
Upstream-commit: e766a3505cce19e05e52c44f88f2d20463240cec
Component: engine
2015-10-13 09:48:44 -07:00
Mary Anthony ba16a5cc21 Centralize discussion of behavior label and env.
Signed-off-by: Mary Anthony <mary@docker.com>
Upstream-commit: 39a71acf7e18c2d00d32b01db3daaebc7392d92a
Component: engine
2015-10-13 09:44:17 -07:00
Sebastiaan van Stijn d174ec9645 Merge pull request #16961 from vdemeester/pr-15975-carry-for-docs
Carry #15975 - Add extra fields based on label and env for gelf/fluentd/json-file/journald log drivers
Upstream-commit: 3856c5efa685013b5e82347d5812de4c7788d4ff
Component: engine
2015-10-13 09:30:32 -07:00
Tibor Vass bdf64e8384 Merge pull request #16956 from runcom/16665-fix-inspect-Config-api120
Return old Config fields for API < v1.20
Upstream-commit: 0bc748bba33a00c20cedf24786f772536177725c
Component: engine
2015-10-13 09:08:26 -07:00
Sally O'Malley a5e0a7cc96 various man page typos
Signed-off-by: Sally O'Malley <somalley@redhat.com>
Upstream-commit: d79860af87edb928f9509e03d3edbfbaaef5a24f
Component: engine
2015-10-13 11:52:14 -04:00
Mike Brown 00116420f7 updating docs for EXPOSE option on run command; fixes #16634
Signed-off-by: Mike Brown <brownwm@us.ibm.com>
Upstream-commit: d955fdb9ac279d5ea8e5fd20719eda579cca97ed
Component: engine
2015-10-13 10:43:27 -05:00
John Howard a6257190dd Windows: Enable kill (part one)
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: 2dca1bc6337043e25e626b4444da29b3ca5d3660
Component: engine
2015-10-13 08:42:47 -07:00
Vincent Demeester 61e523114f Merge pull request #16303 from coolljt0725/add_docker_info_show_base_size
Add docker info show base filesystem size of container/image when use devicemapper
Upstream-commit: 5ecbc9747fab243136402ea78d65e928e6d4678b
Component: engine
2015-10-13 14:43:52 +02:00
Shijiang Wei 736fc7338e refactor integration test to use checkers
Signed-off-by: Shijiang Wei <mountkin@gmail.com>
Upstream-commit: a1d4b7dd0d1ca076bf70b7d23d5ad86518681b95
Component: engine
2015-10-13 20:21:38 +08:00
Antonio Murdaca bc9fb8d7f3 Fix Config.Cpuset from API < 1.20
Signed-off-by: Antonio Murdaca <amurdaca@redhat.com>
Upstream-commit: 8c63ce4f6b78bd1d87c92ecfbcc20ccfd80f7d63
Component: engine
2015-10-13 09:09:05 +02:00
Vincent Demeester 76cc1c235d Add docs for label/env log-opts
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
Upstream-commit: cd426ebed79e29153eb29ea1ccb260e15db2fea5
Component: engine
2015-10-13 08:39:47 +02:00
Morgan Bauer 647970c93e refactor use of container struct from daemon
- use Exists instead of Get
 - push Get inside of daemonbuilder

Signed-off-by: Morgan Bauer <mbauer@us.ibm.com>
Upstream-commit: 844fb2961976d1bca52cc8560abf6b1ac2ae754a
Component: engine
2015-10-12 16:20:55 -07:00
Tibor Vass 9b2f66b864 Merge pull request #16958 from tonistiigi/digest-collision
Make sure tags and digests don’t collide
Upstream-commit: 9a13c2dc79cc868ba3a863137ba27297314167e4
Component: engine
2015-10-12 15:45:34 -07:00
Tibor Vass 00df3b3fae Merge pull request #16962 from estesp/check-network-files-exist
Make sure network files exist before adding them to mounts
Upstream-commit: 09ddb67dd416778b63f122cfbbf4fa335b7b504a
Component: engine
2015-10-12 15:38:51 -07:00
Jess Frazelle 939faf2998 Merge pull request #16009 from azurezk/vol-create-conflict-option
volume create error on conflict option
Upstream-commit: df79536769eab04a7f1c618f9a390b36be6c53be
Component: engine
2015-10-12 15:27:36 -07:00
Sebastiaan van Stijn 8c9497957a Merge pull request #16942 from physicalit/master
Add CMD and EXPOSE instruction example
Upstream-commit: dc500630ec0e6c69822bf6cd62a40ed6d029e2d3
Component: engine
2015-10-12 15:26:30 -07:00
moxiegirl 0588337d9b Merge pull request #16888 from dhiltgen/discovery_tls
Document updates for cluster-store-opt
Upstream-commit: c59e24ff12abf284ed179dcbc68fb8e7696ce6a7
Component: engine
2015-10-12 15:26:08 -07:00
Tonis Tiigi bcec6f94b2 Make sure tags and digests don’t collide
Tags and digests are kept in the same storage. We want to make sure that they are completely separated - tags are something users set and digests can only be set by pull-by-digest code path.

Reverts #14664

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
Upstream-commit: d08ca5c2b65d442f37424957e53d81f96356d12c
Component: engine
2015-10-12 14:20:11 -07:00
Phil Estes 21d501b5ba Make sure network files exist before adding them to mounts
It is possible that network files do not exist, especially in the case
of `--net=host` where a host OS (like CoreOS) does not use certain
standard network files.  This patch verifies that the source file of a
network mount point exists before adding it to the list of mount points
for bind mounting from the container's metadata directory.

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
Upstream-commit: ed68486f687ce9d5963d7250f70dc66c9f14cd63
Component: engine
2015-10-12 17:18:34 -04:00
Arnaud Porterie 83fda87144 Merge pull request #16954 from jfrazelle/update-changelog-master
Update changelog master
Upstream-commit: 96965e2abdca3e0f0b02c8a44f842ccdea1bfb24
Component: engine
2015-10-12 12:31:15 -07:00
Jess Frazelle d1b3c438f4 Merge pull request #16953 from aaronlehmann/master-security
Add 1.8.3 security fixes to master
Upstream-commit: eebf88ffd336819ecfdd7bc1206ee7bc8fbfe7ed
Component: engine
2015-10-12 12:20:49 -07:00
Daniel Dao 1ba0019242 add labels/env log option for jsonfile
this allows jsonfile logger to collect extra metadata from containers with
`--log-opt labels=label1,label2 --log-opt env=env1,env2`.

Extra attributes are saved into `attrs` attributes for each log data.

Signed-off-by: Daniel Dao <dqminh@cloudflare.com>
Upstream-commit: 0083f6e984894b4d3697c1ae63547c07eea697af
Component: engine
2015-10-12 21:12:46 +02:00
Daniel Dao 21e1fc0995 add labels/env log option for journald
this allows journald logger to collect extra metadata from containers with
`--log-opt labels=label1,label2 --log-opt env=env1,env2`

Signed-off-by: Daniel Dao <dqminh@cloudflare.com>
Upstream-commit: 11a24f19c2da88b6c3b50114863f24c06c5ce2fd
Component: engine
2015-10-12 21:12:46 +02:00
Daniel Dao 8aebdf0c20 add labels/env log option for fluentd
this allows fluentd logger to collect extra metadata from containers with
`--log-opt labels=label1,label2 --log-opt env=env1,env2`

Signed-off-by: Daniel Dao <dqminh@cloudflare.com>
Upstream-commit: 4cc8490283fdc8315f595be3e32951929e65bb40
Component: engine
2015-10-12 21:12:46 +02:00
Daniel Dao d5bd4c9ab4 add labels/env log option for gelf
this allows gelf logger to collect extra metadata from containers with
`--log-opt labels=label1,label2 --log-opt env=env1,env2`

Additional log field will be prefixed with `_` as per gelf protocol
https://www.graylog.org/resources/gelf/

Signed-off-by: Daniel Dao <dqminh@cloudflare.com>
Upstream-commit: 5794a0190d7505e998116f1321ae39b001d0e710
Component: engine
2015-10-12 21:12:46 +02:00
Daniel Dao bc80b0014f add env and labels to log context
Signed-off-by: Daniel Dao <dqminh@cloudflare.com>
Upstream-commit: 656cdbb0e96a1f8531b118caedd8e9b3d281c201
Component: engine
2015-10-12 21:12:46 +02:00