Commit Graph

3245 Commits

Author SHA1 Message Date
85da9b3aae Merge pull request #21223 from cpuguy83/add_nocp_to_vols
Add explicit flags for volume cp/no-cp
Upstream-commit: de9ff4bdc0e17a0fd455790972d83133f424ef9d
Component: engine
2016-03-22 13:45:12 -04:00
ea0ebdf222 Merge pull request #21373 from aaronlehmann/client-user-agent-registry-operations
Pass upstream client's user agent through to registry on operations beyond pulls
Upstream-commit: 9f327b4c2805d3280e4e0ae6fe2d6522e8e753a7
Component: engine
2016-03-21 21:49:48 -07:00
f73bda8d49 Merge pull request #21354 from Microsoft/jjh/getpids
Windows: Minimal docker top implementation
Upstream-commit: adc6ed5a1051695cb488c57eea918d3c73566a04
Component: engine
2016-03-21 19:59:27 -07:00
308c81e7d4 Add explicit flags for volume cp/no-cp
This allows a user to specify explicitly to enable
automatic copying of data from the container path to the volume path.
This does not change the default behavior of automatically copying, but
does allow a user to disable it at runtime.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
Upstream-commit: b0ac69b67ef79c6c937f84bee3df20a1924ad334
Component: engine
2016-03-21 20:38:44 -04:00
87c76eb0d7 Pass upstream client's user agent through to registry on operations beyond pulls
This adds support for the passthrough on build, push, login, and search.

Revamp the integration test to cover these cases and make it more
robust.

Use backticks instead of quoted strings for backslash-heavy string
contstands.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
Upstream-commit: c44e7a3e632c3ea961cb8c12ba45371f54e6699c
Component: engine
2016-03-21 14:31:47 -07:00
6c1d291a31 Merge pull request #21306 from mgoelzer/issue20001-nodeps
Pass upstream client's user agent through to registry on image pulls
Upstream-commit: 278d3962a8cb6a42e9841789bdb8b49a29617e24
Component: engine
2016-03-21 14:26:59 -07:00
a369a60b8b Merge pull request #21301 from cpuguy83/cleaner_file_log
Fixes some issues with jsonfile write/read
Upstream-commit: 11b4c89087cb7d6014e6106521ebb92fa74d01ab
Component: engine
2016-03-21 14:03:36 -07:00
f1f7a4b7fc Merge pull request #19439 from pcarrier/pcarrier/19438-async-connections-to-fluentd
fluentd logger: support all options besides Unix sockets
Upstream-commit: d82ad12df813824d9166478068536d7d78cf0b69
Component: engine
2016-03-21 18:09:14 +01:00
50eb81fd53 Merge pull request #21342 from tonistiigi/cleanup-libcontainer
Convert libnetwork stats directly to api types 
Upstream-commit: 2a4c970aeb23cace02963eb364474e6197388170
Component: engine
2016-03-21 08:54:03 -07:00
2d1c4a6369 Merge pull request #21313 from Microsoft/sjw/logs_fix
Fixing logs file handle leak.
Upstream-commit: be8459c24891648849cb6123b6f60c885e03a99f
Component: engine
2016-03-21 08:41:31 -07:00
e295486862 Merge pull request #21336 from Microsoft/jjh/fixunmount
Windows: Fix unmount for Hyper-V Containers
Upstream-commit: 336d585292cb2551b423c0dcd0646cf152f9a6a4
Component: engine
2016-03-21 08:40:52 -07:00
d7a627364b Fixes some issues with jsonfile write/read
This cleans up some of the use of the filepoller which makes reading
significantly more robust and gives fewer changes to fallback to the
polling based watcher.
In a lot of cases, if the file was being rotated while we were adding it
to the watcher, it would return an error that the file doesn't exist and
would fallback.
In some cases this fallback could be triggered multiple times even if we
were already on the fallback/poll-based watcher.

It also fixes an open file leak caused by not closing files properly on
rotate, as well as not closing files that were read via the `tail`
function until after the log reader is completed.

Prior to the above changes, it was relatively simple to cause the log
reader to error out by having quick rotations, for example:
```
$ docker run --name test --log-opt max-size=10b --log-opt max-files=10
-d busybox sh -c 'while true; do usleep 500000; echo hello; done'
$ docker logs -f test
```
After these changes I can run this forever without error.

Another fix removes 2 `os.Stat` calls when rotating files. The stat
calls are not needed since we are just calling `os.Rename` anyway, which
will in turn also just produce the same error that `Stat` would.
These `Stat` calls were also quite expensive.
Removing these stat calls also seemed to resolve an issue causing slow
memory growth on the daemon.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
Upstream-commit: 1ae9dcf97dc6ccaf7a7977fe8ae1812b691ccba2
Component: engine
2016-03-21 11:05:58 -04:00
42d4192417 Merge pull request #21353 from Microsoft/jjh/tidylibcontainerdmore
Windows: Tidy after libcontainerd
Upstream-commit: 722f06dae3fe18865978d0f7f531ceea15b4f51a
Component: engine
2016-03-21 11:06:54 +01:00
0f2d2de049 fluentd logger: support all options besides Unix sockets
Mostly useful for docker/docker#19438.

Signed-off-by: Pierre Carrier <pierre@meteor.com>
Upstream-commit: 13086f387b28ceea5aff5924e430f41608884a9b
Component: engine
2016-03-21 10:03:21 +00:00
ab57f522eb Merge pull request #21345 from duglin/BetterError
Add the name of the exe that's trying to be executed
Upstream-commit: 02a90d039946eff71ad116aafc2655050fde0dba
Component: engine
2016-03-21 10:17:10 +01:00
76875b2808 Add the name of the exe that's trying to be executed
so that the user knows what's not in the container but should be.
Its not always easy for the user to know what exact command is being run
when the 'docker run' is embedded deep in something else, like a Makefile.
Saw this while dealing with the containerd migration.

Signed-off-by: Doug Davis <dug@us.ibm.com>
Upstream-commit: 79421606388169151c31d1c34079a98f53170ab8
Component: engine
2016-03-20 18:15:46 -07:00
d4fa46cb38 Windows: Minimal docker top implementation
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: 52237787fa82c12b018d71b1e00f28492be35dad
Component: engine
2016-03-20 16:45:53 -07:00
01537880de Windows: Tidy after libcontainerd
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: 3ca6ad5b9e6e37766d26c29f6a99bbd80961473c
Component: engine
2016-03-20 15:59:52 -07:00
35aa0cbae1 Revert "Added flag to ignore fluentd connect error on container start"
This reverts commit 3cf82ff1ab14e1ddd2b629524e894ac359168388.

Signed-off-by: Pierre Carrier <pierre@meteor.com>
Upstream-commit: d89dae6e4becc16e80e3781ac68b9fbb855947b3
Component: engine
2016-03-20 16:22:19 +00:00
6143e6c8cf Pass upstream client's user agent through to registry on image pulls
Changes how the Engine interacts with Registry servers on image pull.
Previously, Engine sent a User-Agent string to the Registry server
that included only the Engine's version information.  This commit
appends to that string the fields from the User-Agent sent by the
client (e.g., Compose) of the Engine.  This allows Registry server
operators to understand what tools are actually generating pulls on
their registries.

Signed-off-by: Mike Goelzer <mgoelzer@docker.com>
Upstream-commit: d1502afb63a10df0bfce20ae2957774cfb3e58d8
Component: engine
2016-03-20 04:30:09 -07:00
179304ecf4 Reuse profiles/seccomp package
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
Upstream-commit: 99b16b3523461551b03362305c36811372344af2
Component: engine
2016-03-19 14:15:39 -07:00
acf746a299 Convert libnetwork stats directly to api types
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
Upstream-commit: d36376f86c8944f6955f537a1a12f4072f8d7403
Component: engine
2016-03-19 12:56:45 -07:00
fa03957561 Windows: Fix unmount for Hyper-V Containers
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: 4461bc45b6fafaabaf3a8158e2f785f836331bb5
Component: engine
2016-03-18 20:43:46 -07:00
20351391ce Merge pull request #21274 from jfrazelle/fix-variables-that-werent-being-used
fix variables that werent being called
Upstream-commit: b77573f48e4022c7b8b829c4a33c6963fe08e18a
Component: engine
2016-03-18 18:03:15 -07:00
ba41c51be4 Merge pull request #20662 from tonistiigi/containerd-integration
Containerd integration
Upstream-commit: e5a3f86e447dd659da3c2e759f3c088a0bfcfe3d
Component: engine
2016-03-18 17:21:18 -07:00
ef4d935247 Merge pull request #21232 from calavera/consolidate_security_opts_format
Consolidate security options to use `=` as separator.
Upstream-commit: 06e98f0a5cf59c040e9f753d60f33ba22256d55c
Component: engine
2016-03-18 16:02:38 -07:00
a76e16e99f Windows libcontainerd implementation
Signed-off-by: John Howard <jhoward@microsoft.com>
Signed-off-by: John Starks <jostarks@microsoft.com>
Signed-off-by: Darren Stahl <darst@microsoft.com>
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
Upstream-commit: 94d70d835500bec3b171425271916d3e40f29635
Component: engine
2016-03-18 13:38:41 -07:00
9b20da1a3a Remove execdriver package
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
Upstream-commit: 6eebe85290327ee9934ea996b6ef82c579789d97
Component: engine
2016-03-18 13:38:37 -07:00
8ba16d91c8 Replace execdrivers with containerd implementation
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
Signed-off-by: Anusha Ragunathan <anusha@docker.com>
Upstream-commit: 9c4570a958df42d1ad19364b1a8da55b891d850a
Component: engine
2016-03-18 13:38:32 -07:00
306477a8ef Merge pull request #21269 from mlaventure/inspect-bind-mounts
Update inspect/ps to properly handle bind mounts
Upstream-commit: 6c6363c726ccfec97d577eff1cc60314f15dc841
Component: engine
2016-03-18 20:52:02 +01:00
0264a23a04 Fixing logs file handle leak.
Docker logs was only closing the logger when the HTTP response writer received a close notification, however in non-follow mode the writer never receives a close. This means that the daemon would leak the file handle to the log, preventing the container from being removed on Windows (file in use error). This change explicitly closes the log when the end of stream is hit.

Signed-off-by: Stefan J. Wernli <swernli@microsoft.com>
Upstream-commit: 4570cfd3ba900253c18066a0299d64551dbf85cc
Component: engine
2016-03-18 11:00:15 -07:00
b021945636 Merge pull request #21299 from allencloud/handle-kernel-version-error-in-version-api
handle kernel version error in version api
Upstream-commit: ea0025a7e104dfcb53f331ece6b784d893011afd
Component: engine
2016-03-18 18:07:48 +01:00
709b902d70 Merge pull request #20200 from thockin/14282-hostname-domainname-v2
Don't smoosh hostname and domainname in API
Upstream-commit: ae75435dae9cb386eb213774f97fe35cdcafff49
Component: engine
2016-03-18 09:08:22 -07:00
4051a1b3e8 Merge pull request #21311 from nalind/journal-race
Fix a couple of races in the journald log reader
Upstream-commit: 8ef56e1f98377a10ae970db6b83bf7f269b73f7c
Component: engine
2016-03-18 08:53:21 -07:00
f457bb9949 Merge pull request #21302 from allencloud/fix-typos-in-several-files
fix typos in several files
Upstream-commit: 9f00b4b79c2625a689233fa993dbab2e47778ffd
Component: engine
2016-03-18 14:06:59 +01:00
91649a03e2 fix typos in several files
Signed-off-by: allencloud <allen.sun@daocloud.io>
Upstream-commit: f1d34ac2eb3611cde8c4a438f367595eb08a6fe8
Component: engine
2016-03-18 12:51:57 +08:00
9fd3d4a31e Update filter volume to allow filtering by bind mount source
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
Upstream-commit: 8451a08ed52b976fffb0cf34be0a48dcc36bdcbe
Component: engine
2016-03-17 15:42:45 -07:00
a49b1e8f69 Fix a race in cleaning up after journald followers
When following a journal-based log, it was possible for the worker
goroutine, which reads the journal using the journal context and sends
entry data down the message channel, to be scheduled after the function
which started it had returned.  This could create problems, since the
invoking function was closing the journal context object and message
channel before it returned, which could trigger use-after-free segfaults
and write-to-closed-channel panics in the worker goroutine.

Make the cleanup in the invoking function conditional so that it's only
done when we're not following the logs, and if we are, that it's left to
the worker goroutine to close them.

Signed-off-by: Nalin Dahyabhai <nalin@redhat.com> (github: nalind)
Upstream-commit: 52c0f36f7b7aa794932fa41dfe50dc85f78e6146
Component: engine
2016-03-17 18:36:21 -04:00
ecc2f43e0e Fix a race in maintaining the journald reader list
The journald log reader keeps a map of following readers so that it can
close them properly when the journald reader object itself is closed,
but it was possible for its worker goroutine to be scheduled so that the
worker attempted to remove a reader from the map before the reader had
been added to the map.  This patch adds the item to the map before
starting the goroutine which is expected to eventually remove it.

Signed-off-by: Nalin Dahyabhai <nalin@redhat.com> (github: nalind)
Upstream-commit: 4d200cd6938c1416e34bf43576b0d528b73e8ba3
Component: engine
2016-03-17 18:36:21 -04:00
ae0977f1d1 fix variables that werent being called
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
Upstream-commit: 0e025b4bb16c0d4cc6b3f0c040713d061b9b051a
Component: engine
2016-03-17 13:19:55 -07:00
7ddf20ec7a Merge pull request #21295 from rhvgoyal/fix-variable-assignment
Fix the assignment to wrong variable
Upstream-commit: 3df99b7fd2262e4f6ff486408a785de1947257fa
Component: engine
2016-03-17 10:39:15 -07:00
cb854bf11c Consolidate security options to use = as separator.
All other options we have use `=` as separator, labels,
log configurations, graph configurations and so on.
We should be consistent and use `=` for the security
options too.

Signed-off-by: David Calavera <david.calavera@gmail.com>
Upstream-commit: cb9aeb0413ca75bb3af7fa723a1f2e6b2bdbcb0e
Component: engine
2016-03-17 13:34:42 -04:00
a0ed1e9e01 Merge pull request #21293 from cpuguy83/wtf_gcp
Do not call out to Google on init
Upstream-commit: 2b9ceea896ae0b0d1cf8c1a02b32a88861601b7e
Component: engine
2016-03-17 10:32:21 -07:00
8f9f1ee4a7 handle kernel version error in version api
Signed-off-by: allencloud <allen.sun@daocloud.io>
Upstream-commit: 73046cb8d8d04a952c0e2daf068af25cd72786f6
Component: engine
2016-03-18 00:31:50 +08:00
d72402c2b3 Merge pull request #21273 from jfrazelle/remove-dead-code
remove dead code
Upstream-commit: 04c7d94c710bdb6c8378bdf896fd67455ba23199
Component: engine
2016-03-17 09:16:02 -07:00
f588ea4d9d Fix the assignment to wrong variable
We should be assigning value to minFreeMetadata instead of minFreeData. This
is copy/paste error.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
Upstream-commit: 4141a00921e3ae814736249ec1806d5d35c8d46c
Component: engine
2016-03-17 15:19:08 +00:00
0fc82d9270 Do not call out to Google on init
The GCP logging driver is calling out to GCP cloud service on package
init.
This is regardless if you are using GCP logging or not.

This change makes this happen on the first invocation of a new GCP
logging driver instance instead.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
Upstream-commit: 24710fd3e228398dc02c72ab3f0efe70d70c313e
Component: engine
2016-03-17 11:06:21 -04:00
3836e556a4 Merge pull request #21258 from runcom/res.body.leaks
*: fix response body leaks
Upstream-commit: b1e9a5eaf1c8826b13fa502e5bce00a453ab4091
Component: engine
2016-03-16 19:20:10 -07:00
8366a6bcc0 remove dead code
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
Upstream-commit: 8dd88afb5b5f8ce353c00bfc71edf8238f3a0452
Component: engine
2016-03-16 19:15:14 -07:00
be817e6143 Merge pull request #21112 from allencloud/validate-configs-from-file
add validating configs from configuration file
Upstream-commit: f81754811fda48524133cc57ba8dac7aaf31274c
Component: engine
2016-03-16 10:42:25 -07:00