Commit Graph

2253 Commits

Author SHA1 Message Date
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
6841b07f52 volume create error on conflict option
Signed-off-by: Kun Zhang <zkazure@gmail.com>
Upstream-commit: 0ff3123eba071166def8072d8c7f3aa9afa0b56f
Component: engine
2015-10-12 11:16:39 +08:00
deb9d3a7fc Merge pull request #16865 from MHBauer/registry-service-refactor
refactor away direct references to daemon member
Upstream-commit: 6e12d9fe62f201dac221be5064e743f59f9a1953
Component: engine
2015-10-11 21:47:58 +02:00
fa4c923057 Add docker info show base filesystem size of container/image when use devicemapper
Signed-off-by: Lei Jitang <leijitang@huawei.com>
Upstream-commit: 5c374c7137c3749bff7f85d3fad94290f63034db
Component: engine
2015-10-10 22:52:05 +08:00
9375e8c909 add size to inspect
Signed-off-by: Zhang Kun <zkazure@gmail.com>
Upstream-commit: b4d6b23838bb7d8436a1966fc3ef3ade83544d58
Component: engine
2015-10-10 20:44:29 +08:00
1efd61d215 Add user namespace enable flag --userns-remap in experimental build
This adds the capability to turn on user namespace support when using an
experimental build Docker daemon binary using the `--userns-remap` flag.

Also documentation is added to the experimental docs.

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
Upstream-commit: 44e1023a93a0107d63d5400695cbbc6da498a425
Component: engine
2015-10-09 20:50:05 -04:00
93c2a19d83 Add user namespace (mapping) support to the Docker engine
Adds support for the daemon to handle user namespace maps as a
per-daemon setting.

Support for handling uid/gid mapping is added to the builder,
archive/unarchive packages and functions, all graphdrivers (except
Windows), and the test suite is updated to handle user namespace daemon
rootgraph changes.

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
Upstream-commit: 442b45628ee12ebd8e8bd08497896d5fa8eec4bd
Component: engine
2015-10-09 17:47:37 -04:00
8d04ef47a0 refactor away direct references to daemon member
- add daemon methods Authenticate & SearchRegistryForImages
 - use new methods instead of directly accessing RegistryService

Signed-off-by: Morgan Bauer <mbauer@us.ibm.com>
Upstream-commit: 215bfc73d2f162e2c4fdc306923de8ca4788d389
Component: engine
2015-10-09 14:40:03 -07:00
92b8b3f4bb Merge pull request #16709 from MHBauer/daemon-derepo2
continue daemon refactor of Repositories()
Upstream-commit: 7787d6dc2882def6bc125395c924827d30bd8a03
Component: engine
2015-10-09 15:35:21 -04:00
78919318b0 Merge pull request #16868 from cpuguy83/speedup_graph_unittests
Do not probe plugins for graph init unless `-s`
Upstream-commit: f112cd6b6ec4473aade29f7e86debb531d39e900
Component: engine
2015-10-09 15:31:09 -04:00
e0d971daa6 Do not probe plugins for graph init unless -s
When `-s` is not specified, there is no need to ask if there is a plugin
with the specified name.

This speeds up unit tests dramatically since they don't need to wait the
timeout period for each call to `graphdriver.New`.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
Upstream-commit: 3b16cb15b496edc3dc080560c7189e06e19c5343
Component: engine
2015-10-09 12:02:54 -04:00
a2b541bbcc Merge pull request #16875 from hqhq/hq_quiet_at_info
Keep daemon quiet when using docker info
Upstream-commit: 96e1cda40f15a721c0c986ecee9c0543139c3312
Component: engine
2015-10-09 11:26:53 -04:00
950bd09f8a remove useless function generateIfaceName()
generateIfaceName() is useless as libnetwork has done
the job.

Signed-off-by: Deng Guangxing <dengguangxing@huawei.com>
Upstream-commit: a1620084c52a1afee55e9eabd7faa30889c8cabc
Component: engine
2015-10-09 18:07:54 +08:00
0b478891af Keep daemon quiet when using docker info
If I have some unsupported sysinfo, it's warning on daemon
side every time I use `docker info`, it seems unnecessay and
annoying to me, let's keep it quiet.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
Upstream-commit: aaacde4fd24c22b02312793acda75ee987601727
Component: engine
2015-10-09 14:57:47 +08:00
6ec1436aba Merge pull request #16152 from chlunde/devmapper-mount-flags
Use pkg/mount to support more flags in dm.mountopt
Upstream-commit: 6d9a84bcd04cd178033309859eb7bf386a8db85d
Component: engine
2015-10-08 16:02:50 -07:00
abbfb24add continue daemon refactor of Repositories()
- use daemon member directly rather than through a function call
 - create GetImage method for use external to deamon

Signed-off-by: Morgan Bauer <mbauer@us.ibm.com>
Upstream-commit: ee36b57c8f3c33f1c50ecb4305bd62a962876fe6
Component: engine
2015-10-08 15:06:55 -07:00
2c93131473 Merge pull request #16644 from dhiltgen/discovery_tls
Add TLS support for discovery backend
Upstream-commit: b50a88cfd78498e5cd943ee3964585a73067e3e4
Component: engine
2015-10-08 14:21:06 -07:00
a78c0b3db5 Merge pull request #16638 from MHBauer/daemon-derepo
refactor daemon image tagging
Upstream-commit: 67e38cc54cf528206aa150b05680748943764df8
Component: engine
2015-10-08 14:14:20 -07:00
c33d0611cf Merge pull request #16643 from chenchun/fix_empty_repository
Do not try to cleanupMounts if daemon.repository is empty
Upstream-commit: 4ab8514387286598504e05678d7bde9a5df00f45
Component: engine
2015-10-08 17:10:49 -04:00
510810895d Merge pull request #16366 from MHBauer/logs-refactor
refactor logs to not use internal data structures
Upstream-commit: 01cd67e752aa8a2a7fa9605d5c53bc95862a4d7b
Component: engine
2015-10-08 14:05:02 -07:00
aa4d367db2 Merge pull request #16803 from tiborvass/pkg-broadcaster
Move types from progressreader and broadcastwriter to broadcaster
Upstream-commit: bea2257f926ad8e49973d695254669c159987d19
Component: engine
2015-10-08 13:51:08 -07:00
57e2d9f131 Merge pull request #13777 from cpuguy83/graphdriver_extpoints
Create extpoint for graphdrivers
Upstream-commit: 4c55464dd3fbbecb0e67f9b33c54f62f3982b500
Component: engine
2015-10-08 13:46:42 -07:00
afbcd19418 Merge pull request #16660 from Microsoft/js/hostname
Windows: --hostname support
Upstream-commit: 5ec323aaa298dfa3f60bb28a638df65e7ade8624
Component: engine
2015-10-08 16:11:49 -04:00
e20529cb2b Merge pull request #16785 from cpuguy83/exec_cleanup
Cleanup some issues with exec
Upstream-commit: cc411c054ffc16fff1ec27b49047ff7dba6a1e04
Component: engine
2015-10-08 12:02:03 -07:00
99f0bfa2a6 Merge pull request #15868 from crosbymichael/aufs-data
Add aufs data structure for added mount information
Upstream-commit: b3b9fe8c7730060c9f5a7c5081b773676fdef889
Component: engine
2015-10-08 11:17:20 -07:00
815dbb240f Merge pull request #16852 from estesp/overlay-cleanup
Simplify dir removal in overlay driver
Upstream-commit: 6654b0e05f663da394bac6ed846187bca90451f5
Component: engine
2015-10-08 08:44:50 -07:00
a6e3345892 Merge pull request #16823 from rhvgoyal/check-thin-pool
devmapper: Make sure device is a thin pool device
Upstream-commit: c3e5364813848616d2713083cb442760e62417e4
Component: engine
2015-10-08 11:27:53 -04:00
99dfae8822 Simplify dir removal in overlay driver
There is no need to call `os.Stat` on the driver filesystem path of a
container as `os.RemoveAll` already handles (properly) the case where
the path no longer exists.

Given the results of the stat() were not even being used,  there is no
value in erroring out because of the stat call failure, and worse, it
prevents daemon cleanup of containers in "Dead" state unless you re-create
directories that were already removed via a manual cleanup after a
failure.  This brings removal in overlay in line with aufs/devicemapper
drivers which don't error out if the filesystem path no longer exists.

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
Upstream-commit: 6ed11b53743668dba3bcf6ecef4e57a399d95569
Component: engine
2015-10-08 11:04:00 -04:00
66bb31005c Fix broken link in error-message
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Upstream-commit: 4830f488d5bcdbe73ab49fcedef0c6f686cbe704
Component: engine
2015-10-08 14:32:34 +02:00
8709c3083b Merge pull request #16780 from Microsoft/jjh/vfs-build-tags
Fix VFS build tags
Upstream-commit: 53d24291648f3c610ddb13e131a498e1d27ae676
Component: engine
2015-10-08 09:43:06 +02:00
47fa2052c1 Add TLS support for discovery backend
This leverages recent additions to libkv enabling client
authentication via TLS so the discovery back-end can be locked
down with mutual TLS.  Example usage:

    docker daemon [other args] \
        --cluster-advertise 192.168.122.168:2376 \
        --cluster-store etcd://192.168.122.168:2379 \
        --cluster-store-opt kv.cacertfile=/path/to/ca.pem \
        --cluster-store-opt kv.certfile=/path/to/cert.pem \
        --cluster-store-opt kv.keyfile=/path/to/key.pem

Signed-off-by: Daniel Hiltgen <daniel.hiltgen@docker.com>
Upstream-commit: 124792a8714425283226c599ee69cbeac2e4d650
Component: engine
2015-10-07 16:01:00 -07:00
8c3d5b861b refactor logs to not use internal data structures
- refactor to make it easier to split the api in the future
 - additional tests for non existent container case

Signed-off-by: Morgan Bauer <mbauer@us.ibm.com>
Upstream-commit: 1eecc1e7e57f3b96878df01fd32596bc485117a8
Component: engine
2015-10-07 15:44:16 -07:00
254c913ad5 refactor daemon
- create pass through in daemon for access to functions on daemon
   member
 - import image
push image
export image and corrections
lookup image & comments
load image
list images
image history & comments

Signed-off-by: Morgan Bauer <mbauer@us.ibm.com>
Upstream-commit: 77c592d26a83aa5a56726d6e1741f18f044e64ab
Component: engine
2015-10-07 15:29:02 -07:00