Commit Graph

4850 Commits

Author SHA1 Message Date
Rolf Neugebauer
2cb0612011 pkg/lcow: Update OpenGCS to latest
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-08-30 19:41:02 +01:00
Rolf Neugebauer
419deee158 Update Linux kernel versions to latest
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-08-30 19:23:45 +01:00
Rolf Neugebauer
3fe863e8e6 kernel: Update kernels to 4.9.46/4.4.85
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-08-30 19:23:45 +01:00
Rolf Neugebauer
279d3f05bd kernel: Update to 4.4.84/4.9.45/4.12.9
Note, on x86_64 for 4.12.9 a new kernel option,
HARDLOCKUP_CHECK_TIMESTAMP was added which defaults to enabled. It enables
a low pass filter to compensate for perf based hard lockup detection.

Added this option to the x86_64 4.12.x kernel confog file.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-08-30 19:23:45 +01:00
Rolf Neugebauer
bdd4789598 kernel: Fix docker content trust for perf builds
Due to https://github.com/moby/moby/issues/34199 we can't supply
the FROM image via --build-arg and use DOCKER_CONTENT_TRUST=1 for build.

So we pull the image with DCT and then explicitly build it without.

This regression was introduced with 8b84baf2 ("kernel: Allow disabling content trust")

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-08-30 19:23:45 +01:00
Rolf Neugebauer
584acd9fd8 Merge pull request #2461 from ijc/qemu-iso-and-metadata
qemu: Support ISO boot at the same time as metadata
2017-08-30 17:54:37 +01:00
Rolf Neugebauer
94cdc5aee8 Update DinD from 17.06.1-ce to 17.07.0-ce
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-08-30 16:52:15 +01:00
Rolf Neugebauer
687929a32e blueprints: rename docker-17.06-ce.yml to docker-ce.yml
Also fix up the corresponding test.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-08-30 16:52:15 +01:00
Theo Koulouris
2b6f533891 Updates to okernel project build files (multi-stage builds, clean-ups, etc)
Signed-off-by: Theo Koulouris <theo.koulouris@hpe.com>
2017-08-30 15:33:34 +01:00
Ian Campbell
95031cd358 Merge pull request #2462 from ijc/kubernetes-doc-bridge-networking
kubernetes: document the final step for bridged networking
2017-08-29 23:40:48 +01:00
Ian Campbell
b34aaee4db kubernetes: document the final step for bridged networking
Having described all the setup describing the acgual usage seems useful!

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-08-29 21:25:09 +01:00
Ian Campbell
4bdca70c5d qemu: Support ISO boot at the same time as metadata
Tested with:
 - boot from kernel + initrd with metadata (appears as sr0)
 - boot from iso with no metadata (root is sr0)
 - boot from iso with metadata (root is sr0, metadata is sr1)
 - boot from iso with metadata using containerized qemu

In all cases where it was present the metadata was correctly expanded to
/var/config.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-08-29 21:16:10 +01:00
Ian Campbell
92895c6c16 Merge pull request #2460 from ijc/containerd-v1.0.0-alpha6
Bump to containerd v1.0.0 alpha6
2017-08-29 19:14:07 +01:00
Ian Campbell
29e49155f3 scripts: Correct help output
Using --image is mandatory if you want that mode.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-08-29 01:05:50 +01:00
Ian Campbell
d78321d701 Update hashes for init and containerd
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-08-29 01:05:50 +01:00
Ian Campbell
b0b08e18a2 Bump init and containerd packages to v1.0.0-alpha6
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-08-29 01:02:20 +01:00
Ian Campbell
6d878dd65f alpine: bump to containerd v1.0.0-alpha6
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-08-29 00:39:20 +01:00
Rolf Neugebauer
655aeab873 Merge pull request #2458 from rn/kbuild2
Further improvements to the kernel build process
2017-08-24 20:10:33 +01:00
Rolf Neugebauer
719bba5486 docs: Update kernel docs with new build customisation
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-08-24 18:26:46 +01:00
Rolf Neugebauer
7209afb758 kernel: Enable custom kernel config additions
For some use cases, we may want to add additional kernel
configuration options (e.g. when adding AUFS). This commit
enables it by:
- renaming DEBUG to EXTRA
- append kernel_config${EXTRA} to the kernel config
- allowing passing in an EXTRA argument to the make file

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-08-24 18:26:46 +01:00
Rolf Neugebauer
e75cf2f611 kernel: Use -dbg instead of _dbg as suffix for debug kernels
Otherwise we have a eird mixture of _ and - in the names.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-08-24 18:26:46 +01:00
Rolf Neugebauer
15d3ce25aa kernel: Add contents of ${DEBUG} to the LOCALVERSION
This way 'uname -r' will report something like
4.9.44-linuxkit_dbg on debug kernels.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-08-24 15:10:53 +01:00
Rolf Neugebauer
8b84baf226 kernel: Allow disabling content trust
specifying NOTRUST=1 on the make command line disables
content trust just like with packages.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-08-24 15:10:53 +01:00
Rolf Neugebauer
677bf96dff kernel: Fix warning about empty continuation
Without this change, recent Docker build produce this warning:
[WARNING]: Empty continuation line found in:
    RUN apk add     xz     xz-dev     zlib-dev &&     if [ $(uname -m) == x86_64 ]; then         apk add libunwind-dev;
    fi
[WARNING]: Empty continuation lines will become errors in a future release.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-08-24 11:06:28 +01:00
Justin Cormack
54518101f0 Merge pull request #2451 from justincormack/runtime-mount
Add support for mount in runtime config
2017-08-23 19:31:26 +01:00
Justin Cormack
8e652b4656 Merge pull request #2456 from justincormack/missing-case
Add missing case when running non existent file in hyperkit
2017-08-23 17:57:42 +01:00
Justin Cormack
24e10defc5 Update moby tool
This has corresponding changes to support runtime mount changes.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-08-23 16:44:51 +01:00
Justin Cormack
baf76d5e0c update hashes for init
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-08-23 16:43:18 +01:00
Justin Cormack
5773dfd844 Cleanup cleanup code
Only remove main mount at rootfs, as we do not really know
about the state of the rest.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-08-23 16:40:03 +01:00
Justin Cormack
49cf74f4f6 Switch to having the moby tool specify how to do mounts
This removes all the code that had knowledge of how to do read only
and read write container mounts, and just uses the runtime config.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-08-23 16:40:03 +01:00
Justin Cormack
c677b391fc Add support for mount in runtime config
This could be used in LinuxKit now, as there are some examples, eg
https://github.com/linuxkit/linuxkit/blob/master/blueprints/docker-for-mac/base.yml#L33
which are creating containers to do a mount.

The main reason though is to in future change the ad hoc code that generates
overlay mounts for writeable containers with a runtime config which does
the same thing; this code needs to create both tmpfs and overlay mounts.

See https://github.com/moby/tool/pull/145

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-08-23 16:40:03 +01:00
Rolf Neugebauer
dfc1068e32 Merge pull request #2455 from rn/4.12
Initial support for 4.12 kernels (and assorted fixes)
2017-08-23 16:38:20 +01:00
Justin Cormack
4a374eb175 Add missing case when running non existent file in hyperkit
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-08-23 16:08:30 +01:00
Rolf Neugebauer
13e5a05a4c tests: Add tests for 4.12.x kernels
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-08-23 14:33:25 +01:00
Rolf Neugebauer
cc67c08667 kernel: Add kernel config and build support for 4.12 kernels
- The x86_64 kernel config was derived from our 4.11 config
  and then adjusted with the recent changes
- The arm64 kernel config was derived from the 4.9 config

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-08-23 14:33:25 +01:00
Rolf Neugebauer
6fc9a32c15 kernel: Add patches for the 4.12 kernel
The VMBus/Hyper-V socket patches were partly taken from the now
defunct 4.11 tree and partly form the WIP 4.12 tree at:
https://github.com/dcui/linux/commits/decui/msft-4.12.y

From the 4.11 tree:
- 0001-tools-build-Add-test-for-sched_getcpu.patch
  Does not apply, may not be needed anymore to compile perf
- 0002-vmbus-vmbus_open-reset-onchannel_callback-on-error.patch
  From https://github.com/dcui/linux/commits/decui/msft-4.12.y
- 0003-vmbus-add-the-matching-tasklet_enable-in-vmbus_close.patch
  Already upstream: 5116f5e2e05cf("vmbus: re-enable channel tasklet")
- 0004-vmbus-remove-goto-error_clean_msglist-in-vmbus_open
  From https://github.com/dcui/linux/commits/decui/msft-4.12.y
- 0005-vmbus-dynamically-enqueue-dequeue-a-channel-on-vmbus.patch
  From the 4.11 patches
- 0006-hv_sock-implements-Hyper-V-transport-for-Virtual-Soc.patch
  From https://github.com/dcui/linux/commits/decui/msft-4.12.y
- 0007-VMCI-only-try-to-load-on-VMware-hypervisor.patch
  From https://github.com/dcui/linux/commits/decui/msft-4.12.y
- 0008-hv_sock-add-the-support-of-auto-loading.patch
  From https://github.com/dcui/linux/commits/decui/msft-4.12.y
- 0009-tools-hv_sock-2-simple-test-cases.patch
  Dropped, this was just test code
- 0010-vmbus-introduce-in-place-packet-iterator.patch
  Already upstream: f3dd3f4797652("vmbus: introduce in-place packet iterator")
- 0011-hvsock-fix-a-race-in-hvs_stream_dequeue.patch
  From https://github.com/dcui/linux/commits/decui/msft-4.12.y
- 0012-hvsock-fix-vsock_dequeue-enqueue_accept-race.patch
  From https://github.com/dcui/linux/commits/decui/msft-4.12.y
- 0013-Drivers-hv-vmbus-Fix-rescind-handling.patch
  From the 4.11 patches
- 0014-vmbus-fix-hv_percpu_channel_deq-enq-race.patch
  From the 4.11 patches
- 0015-vmbus-add-vmbus-onoffer-onoffer_rescind-sync.patch
  From the 4.11 patches
- 0016-hv-sock-a-temporary-workaround-for-the-pending_send_.patch
  DROPPED. Does not apply at all anymore. Was a hack anyway
- 0017-vmbus-fix-the-missed-signaling-in-hv_signal_on_read.patch
  Applied manually from the 4.11 patches
- 0018-hv-sock-avoid-double-FINs-if-shutdown-is-called.patch
  From https://github.com/dcui/linux/commits/decui/msft-4.12.y
- 0019-Added-vsock-transport-support-to-9pfs.patch
  From the 4.11 patches
- 0020-NVDIMM-reducded-ND_MIN_NAMESPACE_SIZE-from-4MB-to-4K.patch
  From the 4.11 patches

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-08-23 14:33:25 +01:00
Rolf Neugebauer
0f5825fc32 kernel: Improve kconfig Docker file
Be a bit more verbose and error on error.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-08-23 14:33:25 +01:00
Rolf Neugebauer
aec0d5a702 kernel: Disable VHOST_VSOCK on 4.4 kernels
The host side VSOCK implementation introduced with
0009-VSOCK-Introduce-vhost_vsock.ko.patch
does not compile due to vhost_vq_init_access not being defined.

VHOST support (including VHOST_VSOCK) was enabled with
86deeaff ("kernel: Bring 4.4 x86_64 kernel config more in line
with 4.9") but not compile tested. Having VHOST support in
itself is fine, it's just the VHOST_VSOCK portion which is not
avail.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-08-23 14:33:25 +01:00
Rolf Neugebauer
20cc4b3ddf kernel: Don't check kernel config for debug kernels
The kernel config for debug kernels is created by concatenating
config files, so we can't use diff to check it.

This fixes a regression introduced by:
9362de0a ("kernel: Verify kernel config")

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-08-23 14:33:25 +01:00
Riyaz Faizullabhoy
d9869fb727 Merge pull request #2453 from riyazdf/okernel-video
sig-security: add okernel video and forum post
2017-08-22 12:39:40 -10:00
Riyaz Faizullabhoy
a5e98db3da sig-security: add okernel video and forum post
Signed-off-by: Riyaz Faizullabhoy <riyaz.faizullabhoy@docker.com>
2017-08-22 14:09:03 -07:00
Justin Cormack
2129d1de21 Merge pull request #2450 from justincormack/improve-wireguard-example
Improve wireguard example
2017-08-22 17:44:01 +01:00
Justin Cormack
9ec58e12bb Merge pull request #2443 from djs55/fix-metadata
init: mkdir /etc/ssl/certs as required by the metadata package
2017-08-22 13:31:24 +01:00
Justin Cormack
3656a7b03e Merge pull request #2448 from justincormack/dockerup
Update Docker CE image to 17.06.1
2017-08-22 13:29:14 +01:00
Justin Cormack
2ed8b2997c Add a test for Wireguard
This is based on the example, but modified so that it can work as a test.

It is slightly less convenient running services as tests as the output is
sent to log files, so we have an `onshutdown` container that checks to see
if the test passed.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-08-22 13:23:27 +01:00
Justin Cormack
6e2e9d7049 Improve Wireguard example with more realistic setup
This creates two containers connected over a Wireguard tunnel.

From the `getty` container that comes up you can connect to the
Nginx server via an encrypted tunnel with
```
wget -O - http://192.168.2.1
```

You can use `nsenter` to check out the other namespaces. There is no
external connectivity in either the `getty` or `nginx` containers,
so the only available networking is through the wireguard tunnel.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-08-22 11:57:45 +01:00
Justin Cormack
584613cddb Update ip package to latest Alpine base
There was a wireguard mismatch with the kernel module in the recent kernel
builds.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-08-22 11:50:20 +01:00
Justin Cormack
1c4e8c3ae2 Update Docker CE image to 17.06.1
Bug fix update.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-08-22 10:54:26 +01:00
Rolf Neugebauer
329cdb7c7f Merge pull request #2445 from rn/kconfig
Kernel config improvements
2017-08-21 22:18:28 +01:00
Rolf Neugebauer
1d8790fb76 docs: Update kernel docs
- Update section on how to change the kernel config
- Reword kernel module section. It was messy
- General tidying up:
  - empty lines around quoted areas
  - two empty line above and one empty line below section headings
  - Limit line length.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-08-21 20:43:30 +01:00