Commit Graph

31214 Commits

Author SHA1 Message Date
fc4916e72f Improve API docs for UsageData
The docs did not mention when this information
was set, and what the `-1` value indicated.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Upstream-commit: 194f635ce7d097f550986bc3169ab59158f5aa68
Component: engine
2017-07-19 16:25:38 +02:00
ae4cfec3e4 Merge pull request #34168 from Microsoft/jjh/dodgytest
Windows: Disable TestAttachTTYWithoutStdin
Upstream-commit: 24bb61145cf380f90435d02daa485c5921a51c67
Component: engine
2017-07-19 10:19:15 +02:00
21d120121d Fix API docs for GET /secrets/{id}, GET /secrets
The swagger.yml defined these endpoints to return
a "ServiceSpec" instead of a "SecretSpec".

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Upstream-commit: f6954bea9f28c62c50b88c895968045cf801aa81
Component: engine
2017-07-19 00:22:05 +02:00
416ca06159 Windows: Disable TestAttachTTYWithoutStdin
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: e4ec9195fed2f3653ec6d0a2b1c9ca6b0e2b9c37
Component: engine
2017-07-18 14:23:23 -07:00
b58bd71384 Merge pull request #34135 from tklauser/more-unix-fns
Replace manually written wrappers by functions from x/sys/unix
Upstream-commit: fa7db52e2603cefbf0faf4e5d525e48cfe4a3c52
Component: engine
2017-07-18 20:43:13 +02:00
b069176a2d Merge pull request #34146 from kolyshkin/vasprintf
devmapper_wrapper.go: fix gcc warning
Upstream-commit: 72959fc2161fdcd785ad54a38cd03049250236fb
Component: engine
2017-07-18 12:46:23 -04:00
79a4b353ef Merge pull request #34157 from twistlock/plugable_secrets_backend
plugable secret backend
Upstream-commit: 0304c98d85404fe75a1b4a35d3c111931e062f41
Component: engine
2017-07-18 18:07:27 +02:00
51e2eef57d Merge pull request #34002 from thaJeztah/carry-32483
Service privileges: API docs
Upstream-commit: 32ada4dcf12fe11e8d87820e851b8c2172761e29
Component: engine
2017-07-18 13:09:08 +02:00
988a5f28f9 pluggable secret backend
Fixing secret driver serialization issue from
08f7cf05268782a0dd8e4c41a4cc65fdf78d09f2

Signed-off-by: Liron Levin <liron@twistlock.com>
Upstream-commit: e3f920d2f147025634e12abd5af3a84f436ddad1
Component: engine
2017-07-18 12:45:44 +03:00
be624ce447 Merge pull request #34155 from thaJeztah/update-authors
Update authors and mailmap
Upstream-commit: c6fe39728f0918ab475dddccacc82d02ea6fac5f
Component: engine
2017-07-18 11:05:42 +02:00
4bd74593a1 Merge pull request #34085 from cpuguy83/tests_use_locally_built_plugin
Use local plugins, not from hub for tests
Upstream-commit: f9091195823dc409e7c0fff633c59f7a9998f4a7
Component: engine
2017-07-18 10:47:58 +02:00
59247b3492 Update authors and mailmap
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Upstream-commit: 6be41f3858522ac54f97b54a5011cda42828db39
Component: engine
2017-07-18 10:36:11 +02:00
59f36f3793 devmapper_wrapper.go: fix gcc warning
I am getting the following warning from gcc when compiling the daemon:

> # github.com/docker/docker/pkg/devicemapper
> pkg/devicemapper/devmapper_wrapper.go: In function ‘log_cb’:
> pkg/devicemapper/devmapper_wrapper.go:20:2: warning: ignoring return
> value of ‘vasprintf’, declared with attribute warn_unused_result
> [-Wunused-result]
>  vasprintf(&buffer, f, ap);
>  ^

vasprintf(3) man page says if the function returns -1, the buffer is
undefined, so we should not use it. In practice, I assume, this never
happens so we just return.

Introduced by https://github.com/moby/moby/pull/33845 that resulted in
commit 63328c6 ("devicemapper: remove 256 character limit of libdm logs")

Cc: Aleksa Sarai <asarai@suse.de>
Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
Upstream-commit: 7da12bcfa9db4d84b2c547bee93dafeaead15b16
Component: engine
2017-07-17 17:46:44 -07:00
00e1fa391a Merge pull request #34123 from twistlock/plugable_secrets_backend
pluggable secret backend
Upstream-commit: 08f7cf05268782a0dd8e4c41a4cc65fdf78d09f2
Component: engine
2017-07-17 19:00:30 -04:00
2e0ee810bb Merge pull request #33886 from aaronlehmann/names-in-memdb
Store container names in memdb
Upstream-commit: 458f6712d4128cbf32675990ae3ad779e2972839
Component: engine
2017-07-17 14:16:41 -04:00
24fde7d000 Merge pull request #34134 from pims/use-const-key
Replaces fluentd-address string by constant
Upstream-commit: d9b785cf2e004bb0024f398014146e534b2cd8c5
Component: engine
2017-07-17 11:13:54 -04:00
1490278683 loopback: use IoctlGetInt/IoctlSetInt from x/sys/unix
Use IoctlGetInt/IoctlSetInt from golang.org/x/sys/unix (where
applicable) instead of manually reimplementing them.

Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
Upstream-commit: bedf09363cb7f2f59bf2b72fea0704351b9f5c8d
Component: engine
2017-07-17 10:37:42 +02:00
62a7e56d34 [pkg/term] use IoctlGetTermios/IoctlSetTermios from x/sys/unix
Use IoctlGetTermios/IoctlSetTermios from golang.org/x/sys/unix instead
of manually reimplementing them.

Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
Upstream-commit: 6476504695284fcdc32b5f7621cffca22746e67d
Component: engine
2017-07-17 10:37:42 +02:00
4437cd08db sysinfo: use Prctl() from x/sys/unix
Use unix.Prctl() instead of manually reimplementing it using
unix.RawSyscall. Also use unix.SECCOMP_MODE_FILTER instead of locally
defining it.

Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
Upstream-commit: 6c9d715a8c64a7c782b8c7b57925e1dc19b29517
Component: engine
2017-07-17 10:37:42 +02:00
a03e065e9a Merge pull request #34106 from tonistiigi/fix-tar-prefix-header
Fix tar prefix header
Upstream-commit: 97e730ae57de11939d65e5cbef72fbec83f24bcc
Component: engine
2017-07-17 09:40:39 +02:00
tim
812c72c3da Replaces fluentd-address string by constant
Signed-off-by: tim <tim@fewagainstmany.com>
Upstream-commit: cb972b1515428fd7a8ef573fa65af08a6fef669c
Component: engine
2017-07-16 23:06:57 -07:00
ed052d78fd pluggable secret backend
This commit extends SwarmKit secret management with pluggable secret
backends support.

Updating the work in
[swarmkit](docker/swarmkit@eebac27434) for
pluggable secret backend and adding the
driver parameter to `SecretSpec`.

Remaining work:
- [ ] CLI support (docker/cli)
- [ ] api in [plugin helpers](docker/go-plugins-helpers))
- [ ] Reference plugin
- [ ] Documenation (after cli work)

Signed-off-by: Liron Levin <liron@twistlock.com>
Upstream-commit: 7d45cafd5746e847e58078aa2fbdde57b5f49fa4
Component: engine
2017-07-15 16:50:02 +03:00
5b6e1a1aa3 Service privileges: API docs
This documents the Service privileges
API changes, that were added in:
091b5e68ea735bf4e8ece708bbc8c413a32eab73

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Upstream-commit: d0a8e73e7b60f61db0c3799643aaccbbf33f3601
Component: engine
2017-07-14 17:04:26 -07:00
5d957152ba Testing: Use local plugins, not from hub
Use the (new) plugin fixtures for plugin tests rather than pulling
plugins from hub.

This removes the restriction for platforms/archs since plugin binaries
get built in the test environment.

Future work would be to add test plugins for the various subsystems so
tests that are actually using plugins (e.g. volumes, networks) can be
ported to use the fixtures as well.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
Upstream-commit: 15a538a627e1d0898862c9e6ca7472cd7fb517ce
Component: engine
2017-07-14 13:24:14 -04:00
8061bcd2a7 archive: add test for prefix header
With docker-17.06.0 some images pulled do not extract properly. Some files don't appear in correct directories. This may or may not cause the pull to fail. These images can't be pushed or saved. 17.06 is the first version of Docker built with go1.8.

Cause

There are multiple updates to the tar package in go1.8.

https://go-review.googlesource.com/c/32234/ disables using "prefix" field when new tar archives are being written. Prefix field was previously set when a record in the archive used a path longer than 100 bytes.

Another change https://go-review.googlesource.com/c/31444/ makes the reader ignore the "prefix" field value if the record is in GNU format. GNU format defines that same area should be used for access and modified times. If the "prefix" field is not read, a file will only be extracted by the basename.

The problem is that with a previous version of the golang archive package headers could be written, that use the prefix field while at the same time setting the header format to GNU. This happens when numeric fields are big enough that they can not be written as octal strings and need to be written in binary. Usually, this shouldn't happen: uid, gid, devmajor, devminor can use up to 7 bytes, size and timestamp can use 11. If one of the records does overflow it switches the whole writer to GNU mode and all next files will be saved in GNU format.

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
Upstream-commit: 4a3cfda45e37b81211fbfbf0c45dbe64860a3ad0
Component: engine
2017-07-14 10:20:48 -07:00
19bca77267 Merge pull request #34077 from justincormack/mount_remount_opts
In the case of remounting with changed data, need to call mount
Upstream-commit: f7ce35f47b1b8e029d7e572ef333cabba1b08e5b
Component: engine
2017-07-14 09:58:30 -04:00
240df15e94 Merge pull request #34076 from yastij/33679-renaming-id-meth
renaming id() to state clearly that it's related to the networkAttachment
Upstream-commit: ce0ef9568d945b3d16442906a428b6f80fedc4dd
Component: engine
2017-07-14 00:29:09 -07:00
fd5e2f635f Merge pull request #34089 from tonistiigi/builder-report-2017-07-10
Add builder dev report for 2017-07-10
Upstream-commit: 93494237df7ddcd78738b68d5c48ed08e3755423
Component: engine
2017-07-13 23:25:57 -07:00
80e097613a Merge pull request #34063 from dnephin/fix-builder-no-such-layer
Fix multiple `COPY --from` in multistage builds
Upstream-commit: 1daa10301acfe0742dd852dfb8603c48afdaa1ee
Component: engine
2017-07-14 12:19:19 +09:00
f708c1ef17 vendor: add archive/tar
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
Upstream-commit: 72df48d1ad417401a5ce0a7ee82a3c8ba33e091c
Component: engine
2017-07-13 19:08:19 -07:00
b9deee44fd Merge pull request #33969 from Microsoft/jjh/lifetime
LCOW: Service VM lifetime changes
Upstream-commit: f22cecf9297a467f20bf49bc1c7aef5d2ee3a59c
Component: engine
2017-07-13 15:51:21 -07:00
52cbacdf18 container: Use wrapper to ensure commit/abort happens
Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
Upstream-commit: 0e57eb95c5989d0f4e93b7d12efe735a6287781b
Component: engine
2017-07-13 12:35:03 -07:00
975e5b0723 container: Abort transactions when memdb calls fail
Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
Upstream-commit: bc3209bc156fc5a5bc6e76e5f79a64c60e9a5f7b
Component: engine
2017-07-13 12:35:02 -07:00
107190981d Store container names in memdb
Currently, names are maintained by a separate system called "registrar".
This means there is no way to atomically snapshot the state of
containers and the names associated with them.

We can add this atomicity and simplify the code by storing name
associations in the memdb. This removes the need for pkg/registrar, and
makes snapshots a lot less expensive because they no longer need to copy
all the names. This change also avoids some problematic behavior from
pkg/registrar where it returns slices which may be modified later on.

Note that while this change makes the *snapshotting* atomic, it doesn't
yet do anything to make sure containers are named at the same time that
they are added to the database. We can do that by adding a transactional
interface, either as a followup, or as part of this PR.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
Upstream-commit: 1128fc1add66a849c12d2045aed39605e673abc6
Component: engine
2017-07-13 12:35:00 -07:00
9ed5ded98d LCOW: Service VM lifetime changes
Signed-off-by: John Howard <jhoward@microsoft.com>

This changes the LCOW driver to support both global SVM lifetime and
per-instance lifetime. It also corrects the scratch implementation.
Upstream-commit: 76b0d4819a50c50edd79890db0b92eb96c8d46e6
Component: engine
2017-07-13 11:09:43 -07:00
a100224db8 Add builder dev report for 2017-07-10
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
Upstream-commit: 2689f9cc0b45dfbacf52f8f08a7b5f4abb286427
Component: engine
2017-07-13 09:30:13 -07:00
d4d72fe32c In the case of remounting with changed data, need to call mount
The case where we are trying to do a remount with changed filesystem specific options was missing,
we need to call `mount` as well here to change those options.

See #33844 for where we need this, as we change `tmpfs` options.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
Upstream-commit: 3a1ab5b479ce843648cf676fbaaf2bec9e040dce
Component: engine
2017-07-13 15:48:58 +01:00
f68d310a1b Merge pull request #32881 from coolljt0725/fix_exec_faild
Enable inspect exec if container is pause/restarting/non-running
Upstream-commit: 53a75ee05072cf5e59e9fb5b9e5cc5fb91fdb5be
Component: engine
2017-07-12 19:29:27 -07:00
2015772003 Merge pull request #34027 from cpuguy83/15853_allow_stopping_paused_container
Allow stopping of paused container
Upstream-commit: 6fdb2fb069b985f244eb227828b00a940ee9de84
Component: engine
2017-07-13 10:16:46 +08:00
0e754d487a Merge pull request #33539 from tklauser/x-sys-unix-symlink-xattrs
Use symlink xattr functions from x/sys/unix
Upstream-commit: 96bf279c7d03bc20dd2626535ff77d7efd66dd07
Component: engine
2017-07-12 18:04:33 -07:00
a6bf694e20 Merge pull request #33845 from cyphar/devicemapper-show-me-your-logs
devicemapper: rework logging and add --storage-opt dm.libdm_log_level
Upstream-commit: 00b218216d8a2075bf7200df74aa07b749f72f34
Component: engine
2017-07-12 17:46:14 -07:00
8e0ce0ecdb Merge pull request #33877 from rhvgoyal/sync-removal
devicemapper: Wait for device removal if deferredRemoval=true and deferredDeletion=…
Upstream-commit: e04dbe5ac287c2a856b7c96972d931ee5f0e288f
Component: engine
2017-07-12 17:35:45 -07:00
b492ded3c0 Fix multiple copy from
Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: b50ade0bfb67dae7867f4f5c3da12c1f778b6c7e
Component: engine
2017-07-12 12:36:03 -04:00
7aed75f09c Allow stopping of paused container
When a container is paused, signals are sent once the container has been
unpaused.
Instead of forcing the user to unpause a container before they can ever
send a signal, allow the user to send the signals, and in the case of a
stop signal, automatically unpause the container afterwards.

This is much safer than unpausing the container first then sending a
signal (what a user is currently forced to do), as the container may be
paused for very good reasons and should not be unpaused except for
stopping.
Note that not even SIGKILL is possible while a process is paused,
but it is killed the instant it is unpaused.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
Upstream-commit: c3feb046b9b1eb606cc7e853d020799eb3800e0e
Component: engine
2017-07-12 10:35:48 -04:00
165659798d renaming id() to state clearly that it's related to the networkAttachement container target
Signed-off-by: Yassine TIJANI <yasstij11@gmail.com>
Upstream-commit: 27c0131a43b1f4956446467273e82826264d6c35
Component: engine
2017-07-12 15:58:31 +02:00
5eaf5cc8fa Merge pull request #33887 from thaJeztah/update-version-error
Fix NewVersionError() for clients using default version
Upstream-commit: 45cad73ea8abc5e87d5db1a4a47c8565531d769f
Component: engine
2017-07-12 15:24:00 +02:00
6ef5605557 system: Use symlink xattr functions from x/sys/unix
Use the symlink xattr syscall wrappers Lgetxattr and Lsetxattr from
x/sys/unix (introduced in golang/sys@b90f89a) instead of providing own
wrappers. Leave the functionality of system.Lgetxattr intact with
respect to the retry with a larger buffer, but switch it to use
unix.Lgetxattr. Also leave system.Lsetxattr intact (even though it's
just a wrapper around the corresponding function from unix) in order to
keep moby building for !linux.

Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
Upstream-commit: 4d966409bc7033e3bebe7deb921d8be8249f8d18
Component: engine
2017-07-12 14:52:42 +02:00
ea0a9a0e13 [pkg/term] temporarily use STD_*_HANDLE from syscall again
Due to the CL https://go-review.googlesource.com/c/39608/ in
x/sys/windows which changed the definitions of STD_INPUT_HANDLE,
STD_OUTPUT_HANDLE and STD_ERROR_HANDLE, we get the following failure
after re-vendoring x/sys/windows:

  07:47:01 # github.com/docker/docker/pkg/term
  07:47:01 pkg/term/term_windows.go:82: constant 4294967286 overflows int
  07:47:01 pkg/term/term_windows.go:88: constant 4294967285 overflows int
  07:47:01 pkg/term/term_windows.go:94: constant 4294967284 overflows int
  07:47:12 Build step 'Execute shell' marked build as failure

Temporarily switch back pkg/term to use these constants from the syscall
package and add a comment about it.

To really fix this, go-ansiterm should probably be switched to use
x/sys/windows.

Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
Upstream-commit: ef5252fc5dcd83d1b8dfe173a68691c8a63e7e4a
Component: engine
2017-07-12 14:52:42 +02:00
520019f676 Windows: fix build after re-vendoring golang.org/x/sys
Due to the CL https://go-review.googlesource.com/c/39608/ in
x/sys/windows which changed the definitions of STD_INPUT_HANDLE,
STD_OUTPUT_HANDLE and STD_ERROR_HANDLE, we get the following failure
in cmd/dockerd/service_windows.go after re-vendoring x/sys/windows:

  06:29:57 # github.com/docker/docker/cmd/dockerd
  06:29:57 .\service_windows.go:400: cannot use sh (type int) as type uint32 in argument to windows.GetStdHandle

Fix it by adding an explicit type conversion when calling
windows.GetStdHandle.

Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
Upstream-commit: e769da88e6c6e94a397822dd8962cbcb83a402a0
Component: engine
2017-07-12 14:52:42 +02:00
9083f94772 vendor: re-vendor golang.org/x/sys
Update golang.org/x/sys to 739734461d1c916b6c72a63d7efda2b27edb369f in
order to get the Lgetxattr, Llistxattr, Lremovexattr and Lsetxattr
syscall wrappers. These will be used in a successive commit to replace
the wrappers in libcontainer/system/xattr_linux.go.

Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
Upstream-commit: bd13a5a9e0e3bfad8bdc533cac45ec4bd17c1c33
Component: engine
2017-07-12 08:26:51 +02:00