Commit Graph

630 Commits

Author SHA1 Message Date
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
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
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
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
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
548c0ae5fe Merge pull request #29697 from yuexiao-wang/fix-docker-daemon
Update docker daemon to dockerd
Upstream-commit: 6129e6ce3ebd1bd6c9db76e196248c613fda6e40
Component: engine
2017-01-04 11:55:38 +01:00
8a1df96ade Update docker daemon to dockerd
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
Upstream-commit: 62cc802f6160b7fbb506f5307d96a564cbfb5f1f
Component: engine
2016-12-27 17:32:15 +08:00
38849b2667 Moves graphdriver plugn docs out of experimental
Also updates some of the structures being sent so plugins are getting
all the new options.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
Upstream-commit: 677fa03654886ee776ff478c30681d5376cfc196
Component: engine
2016-12-22 15:30:25 -05:00
44fa4f8ae7 duplicated the
Signed-off-by: Jie Luo <luo612@zju.edu.cn>

typo

Signed-off-by: Jie Luo <luo612@zju.edu.cn>

fix some typos

Signed-off-by: Jie Luo <luo612@zju.edu.cn>
Upstream-commit: ea2dd4b5d0b41552d047814d9e39ddaa3662ab41
Component: engine
2016-12-21 20:16:19 +08:00
b70f98ab3e Make graphdriver plugin use plugin BasePath
Also enables `PropagatedMount` for graphdrivers.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
Upstream-commit: 500210475f6d841b2eacb42fb495e90108db2733
Component: engine
2016-12-15 16:22:13 -05:00
62b7ace712 daemon: return directly without ifs where possible
Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com>
Upstream-commit: 3a42518042b36ad90950a3abf0aa125c0342b2c4
Component: engine
2016-12-14 22:36:58 +02:00
6dcc37964b Refcount graphdriver plugins properly
Adds 2 new methods to v2 plugin `Acquire` and `Release` which allow
refcounting directly at the plugin level instead of just the store.
Since a graphdriver is initialized exactly once, and is really managed
by a separate object, it didn't really seem right to call
`getter.Get()` to refcount graphdriver plugins.
On shutdown it was particularly weird where we'd either need to keep a
driver reference in daemon, or keep a reference to the pluggin getter in
the layer store, and even then still store extra details on if the
graphdriver is a plugin or not.

Instead the plugin proxy itself will handle calling the neccessary
refcounting methods directly on the plugin object.

Also adds a new interface in `plugingetter` to account for these new
functions which are not going to be implemented by v1 plugins.

Changes terms `plugingetter.CREATE` and `plugingetter.REMOVE` to
`ACQUIRE` and `RELEASE` respectively, which seems to be better
adjectives for what we're doing.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
Upstream-commit: f29bbd16f5d2bb82d815ea59f8ef85fe59384c89
Component: engine
2016-12-09 19:46:28 -05:00
4d98d91ec5 zfs: expose mountpoint/dataset on inspection
Signed-off-by: Ahmed Kamal <email.ahmedkamal@googlemail.com>
Upstream-commit: 4addda3f07e7ec4a898c8555857a227fbbbb33f5
Component: engine
2016-11-30 23:20:42 +02:00
167591374d Merge pull request #28683 from darrenstahlmsft/SystemDLL
Swap usage of LazyDLL and LoadDLL to LazySystemDLL
Upstream-commit: 5c1826ec4de381df9f739ce0de28e37d4f734d47
Component: engine
2016-11-22 16:58:30 -08:00
4d1ac89cc0 Swap usage of LazyDLL and LoadDLL to LazySystemDLL.
Signed-off-by: Darren Stahl <darst@microsoft.com>
Upstream-commit: 22c83c567f379dfd475ecd35665e1cc9e5b9c314
Component: engine
2016-11-22 14:57:11 -08:00
163c2e9b09 First header should be a top level header
Signed-off-by: yupeng <yu.peng36@zte.com.cn>
Upstream-commit: 1e65db4206ba89af24400fbf9047b25ec98cfd02
Component: engine
2016-11-22 09:33:21 +08:00
40d5a75060 Merge pull request #28611 from vieux/fix_golint
fix a few golint errors
Upstream-commit: 96f50e9b7087bad25cb38e2985c26b509be0c403
Component: engine
2016-11-19 07:16:44 -05:00
c148947fe6 fix a few golint errors
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
Upstream-commit: 9c559e6d0b7190b4698de59e692a047beba017fd
Component: engine
2016-11-18 18:32:02 -08:00
33ea65e4f5 Allow graphdriver plugins to use v2
Currently the plugin initialization is too late for a loaded v2 plugin
to be usable as a graph driver.

This moves the initialization up before we create the graph driver.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
Upstream-commit: 020b051dfb92edcb1e43cee77c881dd3e15481c0
Component: engine
2016-11-18 17:23:59 -05:00
1f1219e7ad devmapper: get rid of unused device id argument in unregisterDevice()
There is no need to populate device id during unregisterDevice(). Nobody
makes use of this information. We just need to remove file associated
with device and that file is looked up using the hash and not the
device id which is used for thin pool operations.

So get rid of device id argument to unregisterDevice().

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
Upstream-commit: 288f933ed57581b5d8b9abb097bf531a55774d82
Component: engine
2016-11-16 16:16:46 -05:00
7a9630020f fix t.Errorf to t.Error in serveral _test.go
Signed-off-by: wefine <wang.xiaoren@zte.com.cn>
Upstream-commit: f78f7de96aebee64b55bb9955fa6c97be2c59662
Component: engine
2016-11-14 17:54:43 +08:00
d19c3e6850 Merge pull request #28229 from darrenstahlmsft/FixUnexpectedResult
Fix failure to get containers when deleting a layer
Upstream-commit: d54f4472fdfad1a9c9b04ed2b50ac010556ab44e
Component: engine
2016-11-10 17:10:05 -08:00
f4dd1c6a23 Merge pull request #28264 from dmcgowan/fix-overlay2-naivediff-unittest
Skip overlay2 diff tests when using naivediff
Upstream-commit: f3f9b3dac9114cfe0f8bf0380dd7343cc58d3a1c
Component: engine
2016-11-11 00:24:06 +01:00
9a8c3a6932 Fix failure to get containers when deleting a layer
Signed-off-by: Darren Stahl <darst@microsoft.com>
Upstream-commit: d4095a5902b62181d49ef07db18610975cb49d08
Component: engine
2016-11-10 14:07:11 -08:00
17c10a9402 Skip overlay2 diff tests when using naivediff
Naivediff fails when layers are created directly on top of
each other. Other graphdrivers which use naivediff already
skip these tests. Until naivediff is fixed, skip with overlay2
when running tests on a kernel which causes naivediff fallback.
Fix applydiff to never use the naivediff size when not applying
changes with naivediff.

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
Upstream-commit: 5a1b557281204964f37e81cb0776758360029555
Component: engine
2016-11-10 13:52:22 -08:00
881cd023ce Merge pull request #27753 from tonistiigi/fix-overlay-unmount
Fix overlay unmount for the root case
Upstream-commit: 1883b73a573fff613f944bb83e24db14d839902c
Component: engine
2016-11-10 13:14:45 -08:00
3d84cacc07 Merge pull request #28138 from dmcgowan/handle-overlay2-copy-up-bug
Use naive diff for overlay2 when opaque copy up bug present
Upstream-commit: a3b0ade34685f4f25875a0a485814d1acf373af3
Component: engine
2016-11-09 22:29:19 -05:00
75a25a369f Merge pull request #27915 from rhvgoyal/graph-create-opts
Pass all graphdriver create() parameters in a struct
Upstream-commit: f11ac963af5a94ae0c36aaa2a67a671c6a313e59
Component: engine
2016-11-10 01:07:41 +01:00
e85707f736 Merge pull request #28002 from Microsoft/jjh/noreexec
Windows: Allow a no-reexec option for importLayer
Upstream-commit: 5e3d777401cd96bd9958971533222726edb1caa5
Component: engine
2016-11-09 14:46:21 -08:00
5656296e4b Use naive diff for overlay2 when opaque copy up bug present
When running on a kernel which is not patched for the copy up bug
overlay2 will use the naive diff driver.

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
Upstream-commit: 64b43ed5ecf3e805bd72bd6a9493c8c5d08478aa
Component: engine
2016-11-09 13:42:10 -08:00
9c868a7b94 Merge pull request #27433 from AkihiroSuda/fix-ovl-xfs-ftype0
overlay: warn if overlay backing fs doesn't support d_type
Upstream-commit: 643ac2f804a5242062113ace64bf68506027c9a6
Component: engine
2016-11-09 13:39:07 -08:00
459e915b2e Pass all graphdriver create() parameters in a struct
This allows for easy extension of adding more parameters to existing
parameters list. Otherwise adding a single parameter changes code
at so many places.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
Upstream-commit: b937aa8e6968d805527d163e6f477d496ceb88d7
Component: engine
2016-11-09 15:59:58 -05:00
af0174a7c5 overlay: warn if overlay backing fs doesn't support d_type
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
Upstream-commit: 2e20e63da2a8a0ffbbb3f2146f87559e17f43046
Component: engine
2016-11-09 07:18:27 +00:00
dbcd2372ba Windows: Allow a no-reexec option for importLayer
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: d9294719b50452b3d88372468b6264c9d2467f02
Component: engine
2016-11-08 17:57:43 -08:00
40ba948937 Terminate template VMs on layer delete
Signed-off-by: Darren Stahl <darst@microsoft.com>
Upstream-commit: c58e8dea6ce1e9ff02c383c1698733fd0554ba2e
Component: engine
2016-11-08 15:39:25 -08:00
6fb90ed484 Add functional support for Docker sub commands on Solaris
Signed-off-by: Amit Krishnan <krish.amit@gmail.com>

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
Upstream-commit: 934328d8ea650bf8a9c3c719999ce2a1f5dd5df6
Component: engine
2016-11-07 09:06:34 -08:00
fb8fd8dbba Merge pull request #28006 from dmcgowan/clean-overlay2-layerstore
Cleanup invalid code in overlay2 and layer store
Upstream-commit: 1f4137857f6eb8edcbefe591e1abe04d83da3416
Component: engine
2016-11-02 23:16:38 -07:00
184a08cc1e Merge pull request #27963 from darrenstahlmsft/RenameDelete
Windows: Rename layers before deletion
Upstream-commit: cb352501af9e59f10f58846d4154c76726530753
Component: engine
2016-11-02 19:20:39 -07:00
94f5e97be8 Cleanup invalid code in overlay2 and layer store
The overlay2 change ensures that the correct path is used to resolve the
symlink. The current code will not fail since the symlinks are always given
a value of "../id/diff" which ends up ignoring the incorrect "link" value.
Fix this code so it doesn't cause unexpected errors in the future if the
symlink changes.

The layerstore cleanup ensures that the empty layer returns a tar stream if
the provided parent is empty. Any value other than empty still returns an
error since the empty layer has no parent. Currently empty layer is not
used anywhere that TarStreamFrom is used but could break in the future if
this function is called.

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
Upstream-commit: 6622cc970e27a7bf2798d751ed276265a3a2d404
Component: engine
2016-11-02 16:13:53 -07:00
0e01981fe9 Merge pull request #27932 from thaJeztah/promote-overlay
promote overlay(2) graphdriver
Upstream-commit: 78a83a22699198b31c8cbdace3a73c8502f99ba1
Component: engine
2016-11-02 07:00:49 -07:00
b8d232c6a7 Windows: Rename layers before deletion
Signed-off-by: Darren Stahl <darst@microsoft.com>
Upstream-commit: be68006d1928b34936050175e67f85b4ee7f67cf
Component: engine
2016-11-01 18:05:09 -07:00
9e9fd11160 Merge pull request #22641 from cpuguy83/build_finalization
Adds ability to flatten image after build
Upstream-commit: 22f3e43e9a35711bb63108f1714840a92a4b138e
Component: engine
2016-11-01 14:30:18 -07:00
c7c95dc226 Adds ability to squash image after build
Allow built images to be squash to scratch.
Squashing does not destroy any images or layers, and preserves the
build cache.

Introduce a new CLI argument --squash to docker build
Introduce a new param to the build API endpoint `squash`

Once the build is complete, docker creates a new image loading the diffs
from each layer into a single new layer and references all the parent's
layers.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
Upstream-commit: 362369b4bbea38881402d281ee2015d16e8b10ce
Component: engine
2016-11-01 13:41:59 -04:00
a691b85705 promote overlay(2) graphdriver
Now that overlay has matured, using
overlay is a better choice than devicemapper
on loopback devices.

This change promotes overlay in the
priority list. It also adds the
overlay2 graphdriver to the list
because overlay2 (if supported)
should be preferred over overlay.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Upstream-commit: 299beff1c4e2406d1e96c90a9e86e0770dd4342d
Component: engine
2016-10-31 23:32:10 -07:00
07a831dfc2 Fix logrus formatting
This fix tries to fix logrus formatting by removing `f` from
`logrus.[Error|Warn|Debug|Fatal|Panic|Info]f` when formatting string
is not present.

Fixed issue #23459

Signed-off-by: Daehyeok Mun <daehyeok@gmail.com>
Upstream-commit: fa710e504b0e3e51d4031790c18621b02dcd2600
Component: engine
2016-10-31 22:05:01 -06:00
22458c8162 Windows: support docker diff
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: 4fac603682747476a12dba0df79c10e919eddefb
Component: engine
2016-10-28 11:06:54 -07:00
f2841d5298 Fix overlay unmount for the root case
In root case no mount call or reference count
increment actually happens so don’t try to unmount.

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
Upstream-commit: e4349ad90114c741c729046f7749f0c2fde415c9
Component: engine
2016-10-25 14:40:13 -07:00
9a299b360f Make experimental a runtime flag
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
Upstream-commit: 7781a1bf0fef748877326632b88e92fbf3c90daa
Component: engine
2016-10-24 15:20:01 -07:00
fe1dce6a91 pkg/archive: remove unnecessary Archive and Reader type
The `archive` package defines aliases for `io.ReadCloser` and
`io.Reader`. These don't seem to provide an benefit other than type
decoration. Per this change, several unnecessary type cases were
removed.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
Upstream-commit: aa2cc18745cbe0231c33782f0fa764f657e3fb88
Component: engine
2016-10-20 19:31:24 -07:00