Commit Graph

4666 Commits

Author SHA1 Message Date
4593a8b426 Merge pull request #30385 from aaronlehmann/vendor-swarmkit-grpc-containerd
Vendor swarmkit, containerd, and related dependencies
Upstream-commit: ac30c4c06c9d797af0025d2454d20383abfaff76
Component: engine
2017-01-24 11:00:35 +01:00
9cbd4394d2 Improve the error print of image inspect
Signed-off-by: Yanqiang Miao <miao.yanqiang@zte.com.cn>
Upstream-commit: cc9ed0a31b0656c58ad7953f2c54d46258380443
Component: engine
2017-01-24 11:07:20 +08:00
d93ce12d04 Vendor swarmkit, containerd, and related dependencies
Update swarmkit to 037b491.

As swarmkit switched to a newer gRPC version, this also involves
updating Docker's vendored gRPC, which in turn requires updating
containerd to a new version that has protobufs generated against this
gRPC version.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
Upstream-commit: 3e987e1732ee5c51e95934afabba3fedfd16c4af
Component: engine
2017-01-23 17:51:14 -08:00
471ffa89e7 Merge pull request #30139 from Microsoft/jjh/sequential
Windows: Use sequential file access
Upstream-commit: 062f2a3eae418c07a9a18661492a1c8beaaed60a
Component: engine
2017-01-23 12:46:06 -08:00
f61d5bb251 Windows: Use sequential file access
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: c98e77c77c5b43bf50e8ae5296b02ce0b47ea188
Component: engine
2017-01-23 10:25:36 -08:00
58b37acff7 Merge pull request #30145 from anusha-ragunathan/ps-swarm
Pass plugingetter as part of swarm node config.
Upstream-commit: 2b89356c07b1824041985386d0c9485e49d9b987
Component: engine
2017-01-20 10:35:49 -08:00
f3a3b53a61 Merge pull request #30223 from mlaventure/fix-logwatcher-deadlock
Close logwatcher on context cancellation
Upstream-commit: 0566f3ffc46fbdf020e957fc30f56960152e057e
Component: engine
2017-01-20 10:14:37 -08:00
ec6f3b3f5b Merge pull request #28454 from glensc/init-args
do not require custom build of tini
Upstream-commit: 50a72c7467ec92cb20b9ec72fd4de2d5e9761347
Component: engine
2017-01-20 10:03:58 -08:00
0bc9ac7339 Merge pull request #27510 from chipironcin/master
Improve error message
Upstream-commit: 5b16c4c8001fb6d047228ad27a9c39f2ac0e6f5b
Component: engine
2017-01-20 21:47:30 +09:00
b01d142fdf Pass plugingetter as part of swarm node config.
This is necessary for swarmkit to support cluster wide plugins, such as
globally scoped network plugins.

Signed-off-by: Anusha Ragunathan <anusha.ragunathan@docker.com>
Upstream-commit: fa784951ba0a29d436c60b7465167b5ef188d084
Component: engine
2017-01-19 17:11:12 -08:00
120ceec639 Merge pull request #29980 from allencloud/fix-29520-info-incorrectness
return error when listNode fails
Upstream-commit: a992ff9fec1ea89725c81ebba856f3b903f6ba1d
Component: engine
2017-01-19 10:41:02 -08:00
d24367c4ff Merge pull request #30165 from xulike666/fix-typo-6/36
[combined] fix typo 
Upstream-commit: de0328560b818e86fd3eadc973f90341e5c33498
Component: engine
2017-01-19 17:21:22 +01:00
bff0390b15 Merge pull request #30267 from WeiZhang555/fix-misspell
Fix some typos
Upstream-commit: a3dff7c3dbb949662be0037de0e51c00cfa68364
Component: engine
2017-01-19 15:06:08 +01:00
2db1bd6f28 fix typo
fix typo I found AMAP in integration-cli/*

fix typo mentioned by Allencloud

Signed-off-by: Aaron.L.Xu <likexu@harmonycloud.cn>
Upstream-commit: 40af5691648c5b9d07b1231e3ed3be29fd66521a
Component: engine
2017-01-19 15:52:28 +08:00
377b3251ff Fix some typos
Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
Upstream-commit: 827bbe90a0fc53342a85d2653d96b8ba55658adf
Component: engine
2017-01-19 15:29:28 +08:00
b0c7dd934b return error when listNode fails
Signed-off-by: allencloud <allen.sun@daocloud.io>
Upstream-commit: 8e04e9902a9739a13e5e824339082cc3d361d097
Component: engine
2017-01-19 14:02:06 +08:00
ce34ab60cd Make Docker automatically update hostname for Swarm node
Signed-off-by: Nishant Totla <nishanttotla@gmail.com>
Upstream-commit: 8de8b1d520d4d60ccc813121f0c718b98efdc220
Component: engine
2017-01-18 15:55:53 -08:00
ae5b65a856 Merge pull request #30208 from justincormack/no-sqlite
Remove sqlite dependency
Upstream-commit: 0e8c7d72771847227df295471ac73180cbb3caa9
Component: engine
2017-01-18 13:15:38 -05:00
140c56ac38 Merge pull request #28925 from daehyeok/ineffassign
Refactoring ineffectual assignments
Upstream-commit: 5eda0c59477a7364878351c3d311cd3a4c6dd28d
Component: engine
2017-01-18 15:01:57 +01:00
f5282be2f9 Close logwatcher on context cancellation
This commit addresses 2 issues:

  1. in `tailfile()` if somehow the `logWatcher.Msg` were to become full and the watcher closed before space was made into it, we were getting stuck there forever since we were not checking for the watcher getting closed
  2. when servicing `docker logs`, if the command was cancelled we were not closing the watcher (and hence notifying it to stop copying data)

Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
Upstream-commit: fb2bb3653e2755d971f21debfecbd7c878a3c23f
Component: engine
2017-01-17 14:36:13 -08:00
dad6f7464f fix log import
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
Upstream-commit: e221b74bd192c83fe97c7581a135a7417cbc318c
Component: engine
2017-01-17 14:20:54 -05:00
051c1a4e96 daemon: remove graphdb usage
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
Upstream-commit: b0f9958d932b52b94014eaf4148e6d103573cbfe
Component: engine
2017-01-17 13:52:48 +00:00
3a06fca174 Use quoted form of container name and container id
Use quoted form of container name and container id to improve copy-paste avoiding the extra `.` that slips into the clipboard

Signed-off-by: Jorge Marin <chipironcin@users.noreply.github.com>
Upstream-commit: 2bee1cfd5a1af63d370a72d4558bb96f27762437
Component: engine
2017-01-17 08:26:05 +00:00
9875c5c0d3 revert "virtualSize" name change
Commit b717de5153db503fae61c11e30f04f400f66a6fd
changed the name of the "size" argument to
"virtualSize", as the "VirtualSize" field
was re-used for calculating the size of all
layers _not_ used by other images.

be20dc15af0cb281bd6d11586cfcc96bd50d12ca reverted
the change in calculation, but did not change
the argument name back to "size".

This changes the name back to its original
name, because since the introduction of the
content-addressable store in docker 1.10,
there no longer is a "virtual" size, so
"size" is a better name for this argument.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Upstream-commit: 22c411517a4a203690edb52fa42f8d5b43252882
Component: engine
2017-01-13 10:25:03 +01:00
287ee51be3 Refactoring ineffectual assignments
This patch fixed below 4 types of code line
1. Remove unnecessary variable assignment
2. Use variables declaration instead of explicit initial zero value
3. Change variable name to underbar when variable not used
4. Add erro check and return for ignored error

Signed-off-by: Daehyeok Mun <daehyeok@gmail.com>
Upstream-commit: 6306019d0bad9c4e60ee437e93f2450dfb0b68c0
Component: engine
2017-01-13 00:27:01 -07:00
a9065717ae Merge pull request #30061 from yongtang/30027-docker-images-v1.12
Fix `Size` in `docker images` for v1.12 client to v1.13 daemon
Upstream-commit: 0b09d6bfa7af18763d0f4a74f179117a73e70e46
Component: engine
2017-01-13 02:11:48 +01:00
5db27accf5 Merge pull request #30106 from runcom/fix-upgrade-from-1.10
daemon: honor default runtime when starting containers
Upstream-commit: f65212d5b96a18349b0f436c35f99e4eed13f7c9
Component: engine
2017-01-12 14:44:37 -08:00
89de8e187c daemon: honor default runtime when starting containers
If you created containers from pre-OCI docker (e.g. docker-1.10.x)
upgrade may fail when restarting containers if the new docker daemon
has `--default-runtime` set.

In Fedora, we ship docker 1.12.6 with:

```
--default-runtime=oci
--add-runtime oci=/usr/libexec/docker/docker-runc-current
```

That way we don't rely on `docker-runc` being in `$PATH`.

The issue is, on upgrade from docker 1.10.3 without this patch, the
default runtime in `daemon/start_linux.go` is unconditionally set to
`runc=docker-runc` without honoring the `--default-runtime` flag set in
the docker daemon.

Reproducer:

- (1.10.3) `docker run -d -p 5000:5000 --restart=always --name registry
registry:2`
- upgrade to docker 1.12.6 (1.11.x has likely the same issue)
- the registry container fails to restart on upgrade with the following
log message `error="exec: \"docker-runc\": executable file not
found in $PATH: \"\""`

That error comes from the fact that we're setting the runtime in the
container's HostConfig to `runc` where instead we should have honored
the `--default-runtime` flag (in our case that's set to `oci`).

Signed-off-by: Antonio Murdaca <runcom@redhat.com>
Upstream-commit: 9391a822ea4bee60284b4b2eb3a6535e20492569
Component: engine
2017-01-12 20:36:22 +01:00
d11c4417e8 Merge pull request #27903 from kim0/master
zfs: expose mountpoint/dataset on inspection
Upstream-commit: 27695cd751c2bf6295b751b913893bbe72304b96
Component: engine
2017-01-12 11:28:07 -08:00
9122c50dc9 Merge pull request #28500 from rhvgoyal/remove-unused-param
devmapper: get rid of unused device id argument in unregisterDevice()
Upstream-commit: e880120fe25543f7f45dad5c3f1fcd43cb3acd8b
Component: engine
2017-01-12 18:02:00 +01:00
07dc948442 Fix ImageSummary.Size value
The prune PR changed the meaning of the file to mean "space on disk
only unique to this image", this PR revert this change.

Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
Upstream-commit: be20dc15af0cb281bd6d11586cfcc96bd50d12ca
Component: engine
2017-01-12 07:49:22 -08:00
acaf4ba63f Allow swarm init with --availability=drain
This fix adds a new flag `--availability` to `swarm join`.

Related documentation has been updated.

An integration test has been added.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
Upstream-commit: 0f30c644441b3b4150252af1b41db99d4b6e697a
Component: engine
2017-01-10 16:31:51 -08:00
9a5d4b9c8d Allow swarm join with --availability=drain
This fix tries to address the issue raised in 24596 where it was not
possible to join as manager only (`--availability=drain`).

This fix adds a new flag `--availability` to `swarm join`.

Related documentation has been updated.

An integration test has been added.

NOTE: Additional pull request for swarmkit and engine-api will
be created separately.

This fix fixes 24596.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
Upstream-commit: a8e7e37aa82d1adac67b05836ea97a06fbdfdbf0
Component: engine
2017-01-10 16:31:51 -08:00
b3e47ec408 Merge pull request #29564 from aaronlehmann/getter-types
plugingetter: Avoid all caps for constant declarations
Upstream-commit: 9c96768eae4b3a65147b47a55c850c103ab8972d
Component: engine
2017-01-10 09:35:19 +01:00
14d2d11c3d Merge pull request #30001 from runcom/fix-format
devmapper: fixup error formatting
Upstream-commit: 45e88e995a3b48c7434e9338c3651a5168c630df
Component: engine
2017-01-09 10:32:35 -08:00
701de0a381 Merge pull request #29226 from yongtang/28535-prune-until-follow-up
Add `--filter until=<timestamp>` for `docker container/image prune`
Upstream-commit: f1fdbeca2a39c7189b1ca8db4e4543fe77ff1150
Component: engine
2017-01-09 17:58:01 +01:00
15e349bb0f devmapper: fixup error formatting
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
Upstream-commit: 8bcbc6711ffa253968c30ebf1366e79dfd08e205
Component: engine
2017-01-09 16:58:09 +01:00
9163877f8e do not create init-dir if not needed
commit 56f77d5ade945b3b8816a6c8acb328b7c6dce9a7
added support for cpu-rt-period and cpu-rt-runtime,
but always initialized the cgroup path, even if not
used.

As a result, containers failed to start on a
read-only filesystem.

This patch only creates the cgroup path if
one of these options is set.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Upstream-commit: f285d5b3e8eeea7d85e143d845e85a4d4e4c936a
Component: engine
2017-01-09 15:28:51 +01:00
a4186cae43 Merge pull request #29874 from allencloud/fix-29872-volume-ls-filter
fix volume ls filter driver
Upstream-commit: e8e4546bc34ae3b84a9cbdd089f972f56695ece5
Component: engine
2017-01-09 13:06:17 +01:00
aa92b07a0f fix nit in comments
Signed-off-by: allencloud <allen.sun@daocloud.io>
Upstream-commit: 847de59934bd1f9134b235ce70a5c2e1085a470e
Component: engine
2017-01-08 21:32:30 +08:00
dcda437eae Merge pull request #29963 from stevvooe/use-digest-package
*: use opencontainers/go-digest package
Upstream-commit: 7c62f58b27f98140ff3d39de166bf2e107e84a65
Component: engine
2017-01-07 09:22:50 -08:00
775c5633ef *: use opencontainers/go-digest package
The `digest` data type, used throughout docker for image verification
and identity, has been broken out into `opencontainers/go-digest`. This
PR updates the dependencies and moves uses over to the new type.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
Upstream-commit: 7a855799175b6b984886ef1cfa337d6df1d4c668
Component: engine
2017-01-06 18:48:41 -08:00
096ec96e89 Merge pull request #29917 from rhvgoyal/output-device-id
devmapper: Return device id in error message
Upstream-commit: c43bac064ba634f04145ff94083137d2b24545e1
Component: engine
2017-01-06 17:36:18 -08:00
434810fce9 Remove redundant return nil
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
Upstream-commit: 9788822421255a0516a0e3ce2ac32b1ec9d7d894
Component: engine
2017-01-06 22:18:10 +08:00
a480d05277 devmapper: Return device id in error message
I often get complains that container removal failed and users got following
error message.

"Driver devicemapper failed to remove root filesystem 18a69ba82aaf7a039ce7d44156215012d703001643079775190ac7dd6c6acf56:Device is Busy"

This error message talks about container id but does not give any info
about which particular device id is busy. Most likely device is mounted
in some other mount namespace and if one knows the device id, they
can try to do some debugging figuring which process and which mount
namespace is keeping the device busy and how did we reach that stage.

Without that information, it becomes almost impossible to debug the
problem.

So to improve the debuggability, when device removal fails, also return
device id in error message. Now new message looks as follows.

"Driver devicemapper failed to remove root filesystem 18a69ba82aaf7a039ce7d44156215012d703001643079775190ac7dd6c6acf56: Failed to remove device dbc15bdf9994a17c613d8ef9e924f3cffbf67f91e4f709295c901ad628377991:Device is Busy"

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
Upstream-commit: 39bdf601f6bea3c189d8e189e13c7e48b6f66b43
Component: engine
2017-01-05 15:02:21 -05:00
a89bf941cb Merge pull request #29877 from mavenugo/npfilter
Use GetAllByCap to get list of network plugins in docker info
Upstream-commit: 4617b66c90eb54119d54f459f48f873f583731df
Component: engine
2017-01-04 14:57:20 -08:00
0c3b3bfadc Add --filter until=<timestamp> for docker container/image prune
This fix is a follow up for comment
https://github.com/docker/docker/pull/28535#issuecomment-263215225

This fix provides `--filter until=<timestamp>` for `docker container/image prune`.

This fix adds `--filter until=<timestamp>` to `docker container/image prune`
so that it is possible to specify a timestamp and prune those containers/images
that are earlier than the timestamp.

Related docs has been updated

Several integration tests have been added to cover changes.

This fix fixes #28497.

This fix is related to #28535.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
Upstream-commit: 58738cdee327f5de481dcf7d3d377374cbb5f13a
Component: engine
2017-01-04 14:16:42 -08:00
6ff3e9dd6b Swarmkit has enabled the plugin filtering logic based on the drivers
returned in "docker info". Currently info endpoint isnt using the
GetAllByCap, but relies on existing networks to get the plugin names.
This causes a basic issue when it comes to global network plugins which
swarm-mode relies on, wherein swarmkit will not be able to schedule the
network on the worker nodes due to the filtering logic.

In order to break this chicken & egg issue, we must start to use the
GetAllManagedPluginsByCap. We are unable to use GetAllByCap due to
various issues with Plugin-V1's lazy loading approach causing issues
especially during daemon restarts (which uses SystemInfo)

Signed-off-by: Madhu Venugopal <madhu@docker.com>
Upstream-commit: 6aaa85f0b0dd030f68512ca9004823926419f5fd
Component: engine
2017-01-04 12:38:14 -08:00
8b3646ee75 plugingetter: Avoid all caps for constant declarations
Go style calls for mixed caps instead of all caps:
https://golang.org/doc/effective_go.html#mixed-caps

Change LOOKUP, ACQUIRE, and RELEASE to Lookup, Acquire, and Release.

This vendors a fork of libnetwork for now, to deal with a cyclic
dependency issue. The change will be upstream to libnetwork once this is
merged.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
Upstream-commit: 428600108cce0a11e65ec4ebd9e439e947b55da7
Component: engine
2017-01-04 10:19:04 -08:00
a6c6e5f892 fix volume ls filter driver
Signed-off-by: allencloud <allen.sun@daocloud.io>
Upstream-commit: 0fdab496108e8d0945af3dd0130dd9deb09c9b26
Component: engine
2017-01-04 23:29:12 +08:00