Commit Graph

2285 Commits

Author SHA1 Message Date
58dd738ff1 daemon: faster image cache miss detection
Lookup the graph parent reference to detect a builder cache miss before
looping the whole graph image index to build a parent-children tree.

Signed-off-by: Antonio Murdaca <runcom@redhat.com>
Upstream-commit: f9e81b40f4065e3d0851172759ef58fda6572cce
Component: engine
2015-10-21 17:13:45 +02:00
d7d07ab148 graph: add parent img refcount for faster rmi
also fix a typo in pkg/truncindex package comment

Signed-off-by: Antonio Murdaca <runcom@redhat.com>
Upstream-commit: 56f5e3459f8d7477d2aa60dee02bc7cd8a8731ad
Component: engine
2015-10-21 17:13:45 +02:00
a8c08d4980 Merge pull request #17202 from aboch/ipa
Do not mask ipam driver if no ip config is passed
Upstream-commit: 78e21679761c4aa2ea6b1254bf66525088ff0460
Component: engine
2015-10-20 19:45:08 -04:00
834dc8ee1e Merge pull request #17177 from runcom/bc-fixes
Return empty Config fields, now omitempty, for API < 1.21
Upstream-commit: c516aa645ee407c4b67033b20fcf5c2849b98f21
Component: engine
2015-10-20 16:39:53 -04:00
988eb3b3bf Do not mask ipam driver if no ip config is passed
Signed-off-by: Alessandro Boch <aboch@docker.com>
Upstream-commit: 27f908a051eb835c7cab59e596b8dee7ca92873b
Component: engine
2015-10-20 11:19:37 -07:00
fdccaa20d5 Merge pull request #17176 from rhvgoyal/fix-locking-issue
devmapper: Drop devices lock before returning from function
Upstream-commit: 7777c1be9bd5604014a0ac3f16e85960c4c0779a
Component: engine
2015-10-20 13:08:29 -04:00
db6db88cda Merge pull request #17035 from estesp/fix-build-dir-perms
Correct build-time directory creation with user namespaced daemon
Upstream-commit: ad861876e8bb86091527f31fc944205743e5ce85
Component: engine
2015-10-20 08:57:19 -07:00
47faea6d70 Merge pull request #17191 from mrjana/restart
Fix docker startup failure due to dangling endpoints
Upstream-commit: 566964bf73475e994ca605bd2106de045509d23f
Component: engine
2015-10-20 10:32:33 -04:00
9aebf5450b Correct build-time directory creation with user namespaced daemon
This fixes errors in ownership on directory creation during build that
can cause inaccessible files depending on the paths in the Dockerfile
and non-existing directories in the starting image.

Add tests for the mkdir variants in pkg/idtools

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
Upstream-commit: ae8c004dc18c59fec9cd67759a5e0087300e872d
Component: engine
2015-10-20 08:59:48 -04:00
e1c8600cf0 Fix docker startup failure due to dangling endpoints
Fixes docker startup failure due to dangling endpoints
which makes docker to not come up.

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
Upstream-commit: 8adfc7e2d2d158a08096f60ff9318db5bb0875bd
Component: engine
2015-10-19 21:29:35 -07:00
e19e8cf7db Merge pull request #17187 from mavenugo/dopts
Fail the container start if the network has been removed
Upstream-commit: 48147d287b85975a8235c8d49a9e3cacce1a1534
Component: engine
2015-10-19 17:12:07 -07:00
e4a8ee278c Fail the container start if the network has been removed
Signed-off-by: Madhu Venugopal <madhu@docker.com>
Upstream-commit: 8755920d0d1b3ef0d094bd75b25018b06d19839a
Component: engine
2015-10-19 15:00:07 -07:00
f6f1715608 devmapper: Drop devices lock before returning from function
cleanupDeleted() takes devices.Lock() but does not drop it if there are
no deleted devices. Hence docker deadlocks if one is using deferred
device deletion feature. (--storage-opt dm.use_deferred_deletion=true).

Fix it. Drop the lock before returning.

Also added a unit test case to make sure in future this can be easily
detected if somebody changes the function.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
Upstream-commit: 2f16895ee94848e2d8ad72bc01968b4c88d84cb8
Component: engine
2015-10-19 17:51:17 -04:00
ae482ee1b1 Use more clear message for icc=false + iptables=false
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
Upstream-commit: ab495ab0d0a340dc45ce283dd7e2de6110485156
Component: engine
2015-10-19 14:19:21 -07:00
b4f9b290d4 Merge pull request #17128 from calavera/network_controller_enabled
Do not initialize the networking routes when netController is not enabled.
Upstream-commit: 82a8a14c4d039579f80b640b5f815964e99db746
Component: engine
2015-10-19 16:13:31 -04:00
b8b4d2b3f7 Return 404 for all network operations without network controller.
This will prevent the api from trying to serve network requests in
systems where libnetwork is not enabled, returning 404 responses in any
case.

Signed-off-by: David Calavera <david.calavera@gmail.com>
Upstream-commit: eb982e7c00192c8306f9c420fb469f087c7b161d
Component: engine
2015-10-19 14:40:18 -04:00
372d5d880d Return empty Config fields, now omitempty, for API < 1.21
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
Upstream-commit: 850bc0838a509d220bc78e47aa8203420aca22eb
Component: engine
2015-10-19 19:09:36 +02:00
ab68eef7dd refactor access to daemon member EventsService
Signed-off-by: Morgan Bauer <mbauer@us.ibm.com>
Upstream-commit: 2abf5d986ec6779555ea615763d3ffccede6121a
Component: engine
2015-10-19 09:41:29 -07:00
f37af18747 Merge pull request #17115 from mountkin/tag-on-build
Proposal: emit a "tag" event when building image with "-t" parameter
Upstream-commit: e62fd33d963cdba947a9ef5abe100a9d85c58f24
Component: engine
2015-10-19 12:35:58 -04:00
12d92cfae8 emit a "tag" event when building image with "-t" parameter
This is useful for cluster systems such as swarm to sync the image
state when new images are successfully built.

Signed-off-by: Shijiang Wei <mountkin@gmail.com>
Upstream-commit: 2968fa44eb2a53c121ad2b27c519ae47ca7653c3
Component: engine
2015-10-19 20:09:14 +08:00
f246159061 Merge pull request #17046 from mavenugo/dopts
driver-opts for network create
Upstream-commit: 365a0db0f0f105306a8553405fb68a207e8d7754
Component: engine
2015-10-16 15:23:59 -07:00
fb40faa2f7 Merge pull request #16994 from Microsoft/10662-copied
Windows: Fix annoying bad log
Upstream-commit: 8c1fa7f32028c7c2a631317b7b3112ca9a78cd19
Component: engine
2015-10-16 15:14:08 -07:00
08be0c3eb3 Pass network driver option in docker network command
Signed-off-by: Madhu Venugopal <madhu@docker.com>
Upstream-commit: 6f3eb994b52dac9e336db9fe9f204e120553e8a7
Component: engine
2015-10-16 14:33:54 -07:00
a02e30a7f6 Merge pull request #17087 from LK4D4/speedup_ps
Speedup container list
Upstream-commit: dee57e4c3ec8b86ffb2958528fc81f981f85f730
Component: engine
2015-10-16 12:35:28 +02:00
74b88c7e5c Speedup container list
Remove all unneeded disk operations (reload TagStore, umarshal image)
for checking if image still points to same ID. Now slowest part is
queries to sqlite which hopefuly will be removed soon.

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
Upstream-commit: f256d8ad2d1fbd9407d2b7a8eb69c96665c4015e
Component: engine
2015-10-15 20:41:35 -07:00
30e90c5ea6 Merge pull request #16997 from Microsoft/10662-kill-parttwo
Windows: [TP4] docker kill handling part two
Upstream-commit: e1804098b9c9ebb6210af29045198bd5259bb834
Component: engine
2015-10-15 14:42:19 -07:00
9be0d4300b Merge pull request #16968 from MHBauer/network-refactor
refactor use of container struct from daemon
Upstream-commit: aaa8cae34537eb9bddacacc8bce61c91ca76d7d2
Component: engine
2015-10-14 17:48:08 +02:00
182a4806ba refactor use of container struct from daemon
- do existence check instead of get container
 - new connect method on daemon.
 - cli network disconnect integration test

Signed-off-by: Morgan Bauer <mbauer@us.ibm.com>
Upstream-commit: a0398fbd197b5c4cf261b702ba1a1f924d6134e8
Component: engine
2015-10-13 16:34:28 -07:00
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
a4f5e10d65 Remove trust package
Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
Upstream-commit: cba4bbad4f0e03d782a22f57d653d3109bca0208
Component: engine
2015-10-12 10:51:28 -07:00
eb67a37877 Calculate hash based image IDs on pull
Generate a hash chain involving the image configuration, layer digests,
and parent image hashes. Use the digests to compute IDs for each image
in a manifest, instead of using the remotely specified IDs.

To avoid breaking users' caches, check for images already in the graph
under old IDs, and avoid repulling an image if the version on disk under
the legacy ID ends up with the same digest that was computed from the
manifest for that image.

When a calculated ID already exists in the graph but can't be verified,
continue trying SHA256(digest) until a suitable ID is found.

"save" and "load" are not changed to use a similar scheme. "load" will
preserve the IDs present in the tar file.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
Upstream-commit: 504e67b867865a2835e8002c01087a2cfd7bfd0e
Component: engine
2015-10-12 10:51:28 -07:00
5e0687e2a2 Correct mismatched function names (UID() and Gid())
All the go-lint work forced any existing "Uid" -> "UID", but seems to
not have the same rules for Gid, so stat package has calls UID() and
Gid().

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
Upstream-commit: 79240b9eafa08001912d5b360a654b1ad9cd1d20
Component: engine
2015-10-12 10:58:33 -04:00
89e0fe4844 Comment: add some lines back
Signed-off-by: Hu Keping <hukeping@huawei.com>
Upstream-commit: a066b94ef0b4e7d90a6418429b056883e407b665
Component: engine
2015-10-12 19:34:58 +08:00