Commit Graph

33425 Commits

Author SHA1 Message Date
9ef9ed7750 Merge pull request #37424 from thaJeztah/bump_libnetwork
Bump libnetwork to d00ceed44cc447c77f25cdf5d59e83163bdcb4c9
Upstream-commit: 94a8f4d0d4af128d656fa571fff2dd2b59278717
Component: engine
2018-07-11 12:04:41 +01:00
2a39d8293c Merge pull request #37431 from tonistiigi/mountable-fix
builder: fix duplicate calls to mountable
Upstream-commit: e6aa71b190a87406e327ca08680e691d6f1fcfe5
Component: engine
2018-07-10 18:26:57 -07:00
4c7a4e64a3 builder: fix duplicate calls to mountable
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
Upstream-commit: ffa7233d1538363fe12ad609e720b8d75e8768de
Component: engine
2018-07-10 15:21:29 -07:00
5bd73ec5be Bump containerd daemon to v1.1.1
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
Upstream-commit: c083eb75953c266c4be9292cdeb7aad283ca47ba
Component: engine
2018-07-09 16:00:20 -07:00
15fd6dfa94 Merge pull request #37398 from mykeul/master
mkimage-alpine.sh: Removed the "-i -t" arguments from the smoke test calling printf (the…
Upstream-commit: c04f9ae9d7af14d0fb49bb84e46c03b871f59a5d
Component: engine
2018-07-09 14:50:53 -06:00
f626c687df Merge pull request #37419 from thaJeztah/pass_loglevel_to_containerd
Pass log-level to containerd
Upstream-commit: 42bd8e1b1034a9caaf0fb537a5dd4e855ade9fda
Component: engine
2018-07-09 21:59:47 +02:00
d3875eff05 Bump libnetwork to d00ceed44cc447c77f25cdf5d59e83163bdcb4c9
The absence of the file /proc/sys/net/ipv6/conf/all/disable_ipv6
doesn't appear to affect functionality, at least at this time.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Upstream-commit: d58c4cbe6c781c78db352db2956e9949b8fc8609
Component: engine
2018-07-09 21:03:50 +02:00
730b7c1410 Merge pull request #37372 from ctelfer/scalable-lb
Improve scalability of the Linux load balancing
Upstream-commit: 328c089b5bca66594c4937e88cf9879879c4eed7
Component: engine
2018-07-09 20:06:37 +02:00
6d34b0ff1f Pass log-level to containerd
dockerd allows the `--log-level` to be specified, but this log-level
was not forwarded to the containerd process.

This patch sets containerd's log-level to the same as dockerd if a
custom level is provided.

Now that `--log-level` is also passed to containerd, the default "info"
is removed, so that containerd's default (or the level configured in containerd.toml)
is still used if no log-level is set.

Before this change:

containerd would always be started without a log-level set (only the level that's configured in `containerd.toml`);

```
root      1014  2.5  2.1 496484 43468 pts/0    Sl+  12:23   0:00 dockerd
root      1023  1.2  1.1 681768 23832 ?        Ssl  12:23   0:00  \_ docker-containerd --config /var/run/docker/containerd/containerd.toml
```

After this change:

when running `dockerd` without options (same as current);

```
root      1014  2.5  2.1 496484 43468 pts/0    Sl+  12:23   0:00 dockerd
root      1023  1.2  1.1 681768 23832 ?        Ssl  12:23   0:00  \_ docker-containerd --config /var/run/docker/containerd/containerd.toml
```

when running `dockerd --debug`:

```
root       600  0.8  2.1 512876 43180 pts/0    Sl+  12:20   0:00 dockerd --debug
root       608  0.6  1.1 624428 23672 ?        Ssl  12:20   0:00  \_ docker-containerd --config /var/run/docker/containerd/containerd.toml --log-level debug
```

when running `dockerd --log-level=panic`

```
root       747  0.6  2.1 496548 43996 pts/0    Sl+  12:21   0:00 dockerd --log-level=panic
root       755  0.7  1.1 550696 24100 ?        Ssl  12:21   0:00  \_ docker-containerd --config /var/run/docker/containerd/containerd.toml --log-level panic
```

combining `--debug` and `--log-level` (`--debug` takes precedence):

```
root       880  2.7  2.1 634692 43336 pts/0    Sl+  12:23   0:00 dockerd --debug --log-level=panic
root       888  1.0  1.1 616232 23652 ?        Ssl  12:23   0:00  \_ docker-containerd --config /var/run/docker/containerd/containerd.toml --log-level debug
```

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Upstream-commit: aaa1392279ffe67a63581d2a43b3a3c7b0fc47b1
Component: engine
2018-07-09 15:38:08 +02:00
68bf9d2bfa Merge pull request #37390 from thaJeztah/update_cfssl_for_swarmkit
Update cloudflare/cfssl to 1.3.2
Upstream-commit: c8bda42d1632163c62f6a3d32969af2ba5463ab3
Component: engine
2018-07-09 09:10:25 +02:00
806ea23a1d Merge pull request #37409 from ctelfer/rm-libnet-error-wrapping
Fix faulty error type checking in removeNetwork()
Upstream-commit: 905811f366f28c1712626817f5fb086bd4072a78
Component: engine
2018-07-08 20:18:40 +02:00
a65c9b81e8 Fix typo on test.md
It said `TESTFLAGS='-test.run ^TestValidateIPAddress$' make test-unit`
runs `TestBuild` test, but actually runs `TestValidateIPAddress` test.

Signed-off-by: Donghwa Kim <shanytt@gmail.com>
Upstream-commit: 3048c3a7682919297d8d7d26897a59dc91b3be09
Component: engine
2018-07-08 18:22:21 +09:00
f1b7597661 Get err type in removeNetworks() w/ errors.Cause()
Commit c0bc14e8 wrapped the return value of nw.Delete() with some extra
information.  However, this breaks the code in
containerAdaptor.removeNetworks() which ignores certain specific
libnetwork error return codes.  Said codes actually don't represent
errors, but just regular conditions to be expected in normal operation.
The removeNetworks() call checked for these errors by type assertions
which the errors.Wrap(err...) breaks.

This has a cascading effect, because controller.Remove() invokes
containerAdaptor.removeNetworks() and if the latter returns an error,
then Remove() fails to remove the container itself.  This is not
necessarily catastrophic since the container reaper apparently will
purge the container later, but it is clearly not the behavior we want.

Signed-off-by: Chris Telfer <ctelfer@docker.com>
Upstream-commit: 6225d1f15c5fd916c3e0ef3afe022f6cc14ac696
Component: engine
2018-07-07 18:18:53 -04:00
af3a05526e Merge pull request #37411 from tonistiigi/vendor-containerd
vendor: update containerd to b41633746
Upstream-commit: ae1160b8d8dd0b877bb58226852422c63b7210ce
Component: engine
2018-07-06 18:37:31 -07:00
3c2cc200c2 vendor: update containerd to b41633746
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
Upstream-commit: f0e61582664d16c5a608c3a742cc12b6b006bca6
Component: engine
2018-07-06 14:43:49 -07:00
9e7b5c6072 Merge pull request #37404 from runcom/no-acpi
Add /proc/acpi to masked paths
Upstream-commit: 86a41e4ef70ddeca610f2d0ed195a7834fc6bf4d
Component: engine
2018-07-06 22:40:08 +02:00
dcf345fe9b Bump libnetwork to 3ac297bc
Bump libnetwork to 3ac297bc7fd0afec9051bbb47024c9bc1d75bf5b in order to
get fix 0c3d9f00 which addresses a flaw that the scalable load balancing
code revealed.  Attempting to print sandbox IDs where the sandbox name
was too short results in a goroutine panic.  This can occur with
sandboxes with names of 1 or 2 characters in the previous code. But due
to naming updates in the scalable load balancing code, it could now
occur for networks whose name was 3 characters and at least one of the
integration tests employed such networks (named 'foo', 'bar' and 'baz').

This update also brings in several changes as well:
 * 6c7c6017 - Fix error handling about bridgeSetup
 * 5ed38221 - Optimize networkDB queue
 * cfa9afdb - ndots: produce error on negative numbers
 * 5586e226 - improve error message for invalid ndots number
 * 449672e5 - Allows to set generic knobs on the Sandbox
 * 6b4c4af7 - do not ignore user-provided "ndots:0" option
 * 843a0e42 - Adjust corner case for reconnect logic

Signed-off-by: Chris Telfer <ctelfer@docker.com>
Upstream-commit: 0e162d992394d9216f590176991d33ff48ef3389
Component: engine
2018-07-06 13:58:09 -04:00
c8c1e95dc9 Merge pull request #37394 from yongtang/07052018-ipcmode
Migrate some ipcmode tests to integration
Upstream-commit: aba2735e3fe66333ac1064bed3b476f30b1d1c00
Component: engine
2018-07-06 10:00:03 +02:00
be1844eeef Bump swarmkit to include task reaper fixes and more metrics.
This includes the following behavior-modifying PRs:

- docker/swarmkit#2673
- docker/swarmkit#2669
- docker/swarmkit#2675
- docker/swarmkit#2664

Signed-off-by: Ying Li <ying.li@docker.com>
Upstream-commit: b322705750cddef903a1097e65a46a6a86610d0a
Component: engine
2018-07-05 15:24:10 -07:00
ca577823d1 Merge pull request #37157 from debayande/even-more-names
Adds a few more names to the name generator.
Upstream-commit: 656036ce2cc949939e7eccc6d87d1e8be26e6890
Component: engine
2018-07-05 21:06:12 +02:00
d053f8aaa0 Merge pull request #37378 from cpuguy83/fix_bindmount_src_create_race
Fix bindmount autocreate race
Upstream-commit: cfc75f91ab172f7a202494880c188c7fd963997b
Component: engine
2018-07-05 20:36:49 +02:00
43a91b94e2 Merge pull request #37392 from thaJeztah/bump_fsnotify
update fsnotify to v1.4.7
Upstream-commit: e9c043517889accd19dd426d9f4aadaa18190896
Component: engine
2018-07-05 10:50:25 -07:00
b0a8f8763d Add /proc/acpi to masked paths
The deafult OCI linux spec in oci/defaults{_linux}.go in Docker/Moby
from 1.11 to current upstream master does not block /proc/acpi pathnames
allowing attackers to modify host's hardware like enabling/disabling
bluetooth or turning up/down keyboard brightness. SELinux prevents all
of this if enabled.

Signed-off-by: Antonio Murdaca <runcom@redhat.com>
Upstream-commit: 569b9702a59804617e1cd3611fbbe953e4247b3e
Component: engine
2018-07-05 17:39:52 +02:00
8a5048081a Removed the "-i -t" arguments from the smoke test calling printf (these flags seem not really needed, and break jenkins builds with error "the input device is not a TTY")
Signed-off-by: Mickaël Remars <github@remars.com>
Upstream-commit: 2137e866b98d29f6a96df8a61c49f25a3ea2cb0d
Component: engine
2018-07-05 17:29:17 +02:00
aaa1925293 Merge pull request #37393 from mykeul/master
Added "--no-cache" to apk call to reduce alpine base image by 10-12% …
Upstream-commit: 06dee4cc27a1e5db75f2cdbcdcb7f762641b57d3
Component: engine
2018-07-05 15:06:21 +02:00
7340763295 Merge pull request #37388 from ianre657/patch-1
add vim-plug setting
Upstream-commit: 65dce935a66de6894b9877b63ce2276eb681ba81
Component: engine
2018-07-05 14:50:28 +02:00
cb25218045 Merge pull request #37380 from yui-knk/update_doc_Detect
Update documents of `Detect`
Upstream-commit: 8d56fa0bb780beb7b7116a8a17771179074408ea
Component: engine
2018-07-05 14:49:18 +02:00
d5f0e16922 Replaced "--update-cache" argument with "--no-cache" in apk call to reduce alpine base image by 10-12% (avoid useless indexes in /var/cache/apk)
Signed-off-by: Mickaël Remars <github@remars.com>
Upstream-commit: e72047a37586f5a929aaec0b8c73863d7209904b
Component: engine
2018-07-04 23:34:30 +02:00
bf53bc318d Migrate some ipcmode tests to integration
This fix migrates some ipcmode tests in integration-cli
to integration tests.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
Upstream-commit: e0403604e26868b1546a766ab0b40b6cb1677ee6
Component: engine
2018-07-04 16:32:18 +00:00
472b9e9903 Update cloudflare/cfssl to 1.3.2
Matching the version that is used in SwarmKit

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Upstream-commit: 7084487fdcfaf0fdb76a98757d49033c817c5978
Component: engine
2018-07-04 17:47:22 +02:00
086353aeec update fsnotify to v1.4.7
Fixes a possible deadlock on closing the watcher on kqueue

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Upstream-commit: 9f016c0fe1cd30381805fdb225854a36a806e961
Component: engine
2018-07-04 16:58:25 +02:00
a79f6da5b0 add vim-plug setting
this should work ( tried on my machine)

Signed-off-by: Ian Chen <ianre657@gmail.com>
Upstream-commit: a7652107189336f243e5c9a89b33a577df34fdd2
Component: engine
2018-07-04 15:54:19 +08:00
6f30c64548 Merge pull request #37381 from tiborvass/api-platforms-as-string-for-temp
api: Change Platform field back to string (temporary workaround)
Upstream-commit: b711437bbd8596312c962d4189e9ad4d2108c2dc
Component: engine
2018-07-03 17:54:42 -07:00
32dfa10dbf Merge pull request #37385 from tonistiigi/update-buildkit
vendor: update buildkit to 9acf51e491
Upstream-commit: 4b3df087a222fa34d771137b02348c51d9e107bc
Component: engine
2018-07-03 17:33:54 -07:00
6283fee6a2 api: Change Platform field back to string (temporary workaround)
This partially reverts https://github.com/moby/moby/pull/37350

Although specs.Platform is desirable in the API, there is more work
to be done on helper functions, namely containerd's platforms.Parse
that assumes the default platform of the Go runtime.

That prevents a client to use the recommended Parse function to
retrieve a specs.Platform object.

With this change, no parsing is expected from the client.

Signed-off-by: Tibor Vass <tibor@docker.com>
Upstream-commit: facad557440a0c955beb615495b8d0175f25e4e3
Component: engine
2018-07-03 22:33:42 +00:00
acd7279a5e vendor: update buildkit to 9acf51e491
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
Upstream-commit: 6144f50e553cf268a4d27cbe774a67b6ab283423
Component: engine
2018-07-03 15:22:39 -07:00
1e9fc972c9 Merge pull request #37368 from tiborvass/buildkit-iidfile
builder: return image ID in API when using buildkit
Upstream-commit: 1da7d2eebf0a7a60ce585f89a05cebf7f631019c
Component: engine
2018-07-04 00:20:25 +02:00
642a920980 builder: do not send duplicate status for completed jobs
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
Upstream-commit: 6f7dd9428e2134239467815c51aaab85756adb11
Component: engine
2018-07-03 14:47:38 -07:00
2a9011606f builder: return image ID in API when using buildkit
Signed-off-by: Tibor Vass <tibor@docker.com>
Upstream-commit: ca8022ec63a9d0e2f9660e2a3455d821abf8f517
Component: engine
2018-07-03 19:11:02 +00:00
aa918255d9 Update moby to use scalable-lb libnetwork APIs
This patch is required for the updated version of libnetwork and entails
two minor changes.

First, it uses the new libnetwork.NetworkDeleteOptionRemoveLB option to
the network.Delete() method to automatically remove the load balancing
endpoint for ingress networks.   This allows removal of the
deleteLoadBalancerSandbox() function whose functionality is now within
libnetwork.

The second change is to allocate a load balancer endpoint IP address for
all overlay networks rather than just "ingress" and windows overlay
networks.  Swarmkit is already performing this allocation, but moby was
not making use of these IP addresses for Linux overlay networks (except
ingress).  The current version of libnetwork makes use of these IP
addresses by creating a load balancing sandbox and endpoint similar to
ingress's  for all overlay network and putting all load balancing state
for a given node in that sandbox only.  This reduces the amount of linux
kernel state required per node.

In the prior scheme, libnetwork would program each container's network
namespace with every piece of load balancing state for every other
container that shared *any* network with the first container.  This
meant that the amount of kernel state on a given node scaled with the
square of the number of services in the cluster and with the square of
the number of containers per service.  With the new scheme, kernel state
at each node scales linearly with the number of services and the number
of containers per service.  This also reduces the number of system calls
required to add or remove tasks and containers.  Previously the number
of system calls required grew linearly with the number of other
tasks that shared a network with the container.  Now the number of
system calls grows linearly only with the number of networks that the
task/container is attached to.  This results in a significant
performance improvement when adding and removing services to a cluster
that already heavily loaded.

The primary disadvantage to this scheme is that it requires the
allocation of an additional IP address per node per subnet for every
node in the cluster that has a task on the given subnet.  However, as
mentioned, swarmkit is already allocating these IP addresses for every
node and they are going unused.  Future swarmkit modifications should be
examined to only allocate said IP addresses when nodes actually require
them.

Signed-off-by: Chris Telfer <ctelfer@docker.com>
Upstream-commit: 8e0f6bc90351525f3e52f3bc357378fcccccdd27
Component: engine
2018-07-03 13:46:33 -04:00
fddf778dd0 bump libnetwork to b0186632
Bump libnetwork to b0186632522c68f4e1222c4f6d7dbe518882024f.   This
includes the following changes:
 * Dockerize protocol buffer generation and update (78d9390a..e12dd44c)
 * Use new plugin interfaces provided by plugin pkg (be94e134)
 * Improve linux load-balancing scalability (5111c24e..366b9110)

Signed-off-by: Chris Telfer <ctelfer@docker.com>
Upstream-commit: 92335eaef12fb0fb86e5e7503f88b8873a9fa973
Component: engine
2018-07-03 13:46:19 -04:00
5f211d1a2a Merge pull request #37242 from nvcastet/fix_sys_nice_seccomp
Whitelist syscalls linked to CAP_SYS_NICE in default seccomp profile
Upstream-commit: 6273dffbda8928327e8576dc58639edc09fd9c09
Component: engine
2018-07-03 19:23:07 +02:00
ff4ddbf44b Merge pull request #37371 from ctelfer/bump-libnw-430c00a
bump libnetwork to 430c00a
Upstream-commit: dca4cab55d501949b71c58cbd76452e6acfa9243
Component: engine
2018-07-03 19:09:41 +02:00
065257683f Adds a few more names to the name generator.
Signed-off-by: Debayan De <debayande@users.noreply.github.com>
Upstream-commit: 9d61eee75a3681fdff7f0c7e3232f4ccd3dfcaf6
Component: engine
2018-07-03 02:12:46 +01:00
b6f10654ea Update documents of Detect
By 0296797f0f39477d675128c93c1646b3186937ee, `progressReader`
and `remoteURL` were removed from arguments. So developers who
use `Detect` not need to care about when `ProgressReaderFunc`
is used.

Signed-off-by: Yuichiro Kaneko <spiketeika@gmail.com>
Upstream-commit: 0bbd476ceb8da679f818df529cc917ec807a16af
Component: engine
2018-07-03 09:13:25 +09:00
bd47f635c0 Update documents of dispatchAdd
`ADD` does not support git.

Ref: https://github.com/moby/moby/issues/14704#issuecomment-298134333

Signed-off-by: Yuichiro Kaneko <spiketeika@gmail.com>
Upstream-commit: 9b374801ac843c3401bfb21d8fd5e205d0bba0d3
Component: engine
2018-07-03 08:51:07 +09:00
b8a63a0fab Fix bindmount autocreate race
When using the mounts API, bind mounts are not supposed to be
automatically created.

Before this patch there is a race condition between valiating that a
bind path exists and then actually setting up the bind mount where the
bind path may exist during validation but was removed during mountpooint
setup.

This adds a field to the mountpoint struct to ensure that binds created
over the mounts API are not accidentally created.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
Upstream-commit: 1caeb79963d3c9f770b23be2f12c584adf49538d
Component: engine
2018-07-02 13:42:33 -07:00
a7495f07aa Merge pull request #37359 from dmcgowan/register-oci-mediatypes
Register OCI media types
Upstream-commit: b0e6eedcf4252d56e62fc3de6de5d01e75a3dc44
Component: engine
2018-07-02 14:26:36 +02:00
05cd9e777a Merge pull request #37374 from haikuoliu/branch_endpoint
Pass endpoint to the CloudWatch Logs logging driver
Upstream-commit: 8d1b280a2544c4692b72f80a4265102e111743a4
Component: engine
2018-06-30 11:22:55 +02:00
08169a61e4 Update tests w/ new libnetwork contraints
The TestDockerNetworkIPAMMultipleNetworks test allocates several
networks simultaneously with overlapping IP addresses.  Libnetwork now
forbids this.  Adjust the test case to use distinct IP ranges for the
networks it creates.

Signed-off-by: Chris Telfer <ctelfer@docker.com>
Upstream-commit: efb7909befa0fe2236148543a6d50e2563bf386c
Component: engine
2018-06-29 15:15:52 -04:00