Commit Graph

4268 Commits

Author SHA1 Message Date
Ian Campbell
5217b9973b alpine: Reminder to bump the containerd test when bumping containerd
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-26 17:27:11 +01:00
Ian Campbell
3f8e733d9a Skip linuxkit.packages.containerd test for now.
It requires reworking to ensure `containerd` is in the path and to provide
network access. See https://github.com/linuxkit/linuxkit/pull/2298#issuecomment-318106583

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-26 17:24:08 +01:00
Ian Campbell
df19ad752a tools/mkimage-iso-*: Transition to alpine base + package.mk
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-26 14:47:42 +01:00
Ian Campbell
9f7917e543 tools: Update consumers of linuxkit/guestfs to package.mk build
Also update the base image to the latest.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-26 14:47:42 +01:00
Ian Campbell
ac3103236e toos/guestfs: Enable content trust globally
This makes the need to pull $(BASE) redundant.

Rebuild resulted in linuxkit/guestfs:aecc40bf84ce4f4238e06934c46d7cc570a39eed@sha256:62e810869e83dabe04af7ac8fcd81d9f177d986a3424dcb9c4eb5439993c962f

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-26 14:47:42 +01:00
Ian Campbell
b472f79dbf tools/guestfs: Use build --iidfile
Modelled after tools/alpine's build.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-26 14:47:42 +01:00
Ian Campbell
d823d7fab7 tests: Update hashes for test/pkg/*
with cwd of test this was done with:
for i in pkg/* ; do make --no-print-directory -C $i show-tag; done | ( IFS=: ; while read image hash ; do ../scripts/update-component-sha.sh --image $image $hash ; done )

Note that `linuxkit/test-virtsock` (built by `test/pkg/virtsock`) does not
appear to be referenced anywhere.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-26 14:47:15 +01:00
Ian Campbell
acbe38d8a1 tests/pkg: Update remaining builds to pkg/package.mk
Also update the base tools/alpine to latest.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-26 14:46:41 +01:00
Ian Campbell
37de9c8c1d test-ns: Update DEPS
Makefile and Dockerfile are implicit from pacakge.mk.

Need to list the other files consumed by the Dockerfile though.

template.yml is only for manual testing and so is not a dependency of the
standard build.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-26 14:46:25 +01:00
Ian Campbell
49bb460105 Update test-kernel-config hashes.
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-26 14:45:39 +01:00
Ian Campbell
43bd083cf1 test-kernel-commit: Pull in a specific check-config.sh
This makes the package actually build reproducibly, with the downside that it
requires changing the hash. Perhaps this should move to tools/alpine.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-26 14:34:04 +01:00
Ian Campbell
77c5bd021d test-kernel-config: Rework for multistage build and package.mk
Network is required to fetch the check script.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-26 14:34:04 +01:00
Justin Cormack
b8f7b7aad0 Merge pull request #2294 from ijc/pkg-forcepush
pkg: Add forcepush target
2017-07-26 13:43:12 +01:00
Rolf Neugebauer
7cafad4fba Merge pull request #2293 from zx2c4/bump-wireguard
wireguard: version bump
2017-07-26 10:49:46 +01:00
Ian Campbell
6c689a84dd pkg: Add forcepush target
This is like the `push` target but omits the pulls and depends on forcetag
instead. With the git commit now being embedded into the image this is now a
necessary part of rebasing a PR for which images have already been pushed.

Also adds PHONY targets for existing forcetag and push targets which were
missing.

NB $(error) appends a "." to omit the final one from the error message

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-26 10:45:04 +01:00
Justin Cormack
09dc4c1c88 Merge pull request #2291 from ijc/kubernetes
Kubernetes bump to 1.6.7 and improved functionality on Linux platform
2017-07-26 10:38:20 +01:00
Jason A. Donenfeld
5b875bd1d4 wireguard: version bump
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-07-26 04:01:29 +02:00
Justin Cormack
52c3ef9406 Merge pull request #2287 from rn/stress2
Update and extend namespace stress tests
2017-07-25 19:39:27 +01:00
Rolf Neugebauer
8d7b095da1 Merge pull request #2290 from rn/base-trust
tools/alpine: Make sure we use content trust for linuxkit/alpine
2017-07-25 18:16:53 +01:00
Rolf Neugebauer
be71dde3f0 tests: Add namespace stress tests
These tests run individual and a mix of namespace stress tests
mostly around networking and unix domain sockets where either
the client or the server of socket echo application is run inside
a container in different configurations:
- different protocols
- short or long lived connections
- different levels of concurrency

Tests are only run if the 'kernel' label is specified and more
detailed tests are run if the additional 'kernel-extra' label
is specified.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-07-25 17:33:01 +01:00
Rolf Neugebauer
5a932a3dcf tests: Remove old namespace tests
They will be replaced in the next commit.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-07-25 17:32:03 +01:00
Rolf Neugebauer
4c74def5c0 tests: Update the netns test package to use runc and rename it to ns
The previous version just created a network name space which does
not allow us to also test additional namespaces, e.g. for unix
domain sockets.

This commit uses runc to create a fully namespaced container to
run a test in. It creates a container, configures the network
interfaces in the new network namespace before starting the
container.

A OCI config.json template is used and then customised for a
given test based on command line arguments.

Finally, instead of iperf, we use the socket stress test from
https://github.com/linuxkit/virtsock as it provides finer-grained
control over the traffic patterns (e.g. long lived vs lots of
short lived connections).

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-07-25 17:31:32 +01:00
Justin Cormack
3e034a5ca8 Merge pull request #2289 from justincormack/resolv.conf
resolv.conf fixes
2017-07-25 17:26:29 +01:00
Ian Campbell
828ac913e8 kubernetes: Update yml files
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-25 17:25:08 +01:00
Ian Campbell
d5a53968fe kubernetes: Documentation updates for Linux platform
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-25 17:23:29 +01:00
Ian Campbell
6c3dd4e54a kubernetes: allow configuration of networking
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-25 17:23:29 +01:00
Rolf Neugebauer
4de8abb997 tools/alpine: Updated and sign new alpine base image for arm64
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-07-25 15:49:58 +00:00
Rolf Neugebauer
fe9e8be2c6 tools/alpine: Make sure we use content trust for linuxkit/alpine
We should always pull and push linuxkit/alpine with content trust
irrespective of architecture, unless explicitly disabled.

Currently, we have to dance around various other issues on arm64,
which are now documented in the Makefile.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-07-25 16:37:46 +01:00
Justin Cormack
64ba3eaaca update hashes for resolv.conf changes
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-07-25 16:26:38 +01:00
Justin Cormack
797392a244 fix openntpd label
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-07-25 16:25:09 +01:00
Ian Campbell
8acecf1b62 kubernetes: Drop k8s-dns-* from image cache
These contribute ~140M to the common image cache but do not appear to be used
by either the base system nor the sock-shop demo. They can/will still be pulled
on demands as necessary.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-25 16:20:57 +01:00
Ian Campbell
d5bcb62419 kubernetes: Bump to 1.6.7 and other updates
Bumps kubernetes and associated tools and images to v1.6.7 (from v1.6.1).

Updates weave from v1.9.4 to v2.0.1

Updates cni from a snapshot to v0.5.2. Note that the download location has
changed and the tarball no longer includes the `bin` subdirectory, so adjust
build to compensate.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-25 16:20:57 +01:00
Ian Campbell
7d7001c573 kubernetes: ssh_into_kubelet.sh for Linux
Only with networking in bridge (or probably tap) modes, not user mode.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-25 16:20:48 +01:00
Ian Campbell
9f04b403e4 kubernetes: Use ijc25/alpine-ssh for ssh_into_kubelet.sh
Much smaller than the CentOS based one.

Note that ijc25/alpine-ssh has entrypoint==ssh.

Drop Compression=yes, this is used for local ssh so no point compressing (just uses CPU).

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-25 16:18:08 +01:00
Ian Campbell
1dbec1ef30 kubernetes: inline ssh.sh into ssh_into_kubelet.sh
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-25 16:17:50 +01:00
Ian Campbell
62aa9248a4 kubernetes: Expose VM parameters as envvars in boot.sh
Allows users to override.

I debated separate master and node options but decided not for now.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-25 16:17:22 +01:00
Ian Campbell
54ddde0d43 kubernetes: avoid OS specifics in boot.sh
Remove `-publish` (which is currently Linux/QEMU specific) and replace with a
generic $KUBE_RUN_ARGS envvar. Usage:

   KUBE_RUN_ARGS="-publish 2222:22" ./boot.sh

KUBE_PORT_BASE is thus obsolete and removed.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-25 16:17:22 +01:00
Ian Campbell
09609bc6ce kubernetes: update ssh_into_kubelet.sh to use ctr
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-25 16:17:22 +01:00
Ian Campbell
096aec0a19 qemu: Add -networking option, with various new alternatives
This follows the model in the hyperkit runner, although the options are
different.

The options are:

- `user`: the existing user mode networking (the default).
- `tap,«device»`: replaces the previous `-tap-device «device»` option.
- `bridge,«name»`: tap device on (preexisting) named bridge.
- `none`: No networking at all.

If not running as root then `bridge` mode requires host configuration
http://wiki.qemu.org/Features/HelperNetworking. TL;DR: you need to `chmod u+s`
the `qemu-bridge-helper` and to whitelist specific bridges in
`/etc/qemu/bridge.conf`.

Pass an explicit virtio nic and configure a random MAC since QEMU seems to use
the same one by default.

In the hyperkit runner the various `networking*` constants become
`hyperkitNetworking*` to avoid namespace clashes (e.g. for `None`). The QEMU
equivalents are `qemuNetworking*`.

Both hyperkit and qemu now support an explicit `-networking default` or
`-networking ''` to make scripting easier.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-25 16:17:22 +01:00
Ian Campbell
cb86cdb027 qemu: Generate a random uuid and pass via -uuid
This is the same behaviour as the LinuxKit backend.

This populates /sys/class/dmi/id/product_uuid, which newer version of weave-net
appears to require.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-25 16:17:22 +01:00
Justin Cormack
978910e48d Update moby hash
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-07-25 15:44:06 +01:00
Justin Cormack
1e236e9f0c Update build labels for new resolv.conf bind mount
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-07-25 15:30:24 +01:00
Justin Cormack
a81d2deb61 Do not try to change /etc/resolv.conf
The filesystem is supposed to be immutable, so do not try to make
a symlink; new versions of moby tool should add one anyway. But
try to make the directory a symlink points to, assuming that it
will be on a writeable filesystem.

fix #1920
see also #2288

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-07-25 15:30:24 +01:00
Justin Cormack
cfbdb93919 Allow overriding moby repo for testing
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-07-25 15:30:24 +01:00
Justin Cormack
29ead2bd9d Merge pull request #2286 from rn/alpine-master-x86
tools/alpine: Resync alpine base image
2017-07-25 13:06:32 +01:00
Rolf Neugebauer
840686052a tools/alpine: Resync alpine base image
Somewhere between the various updates yesterday the hash in
'versions.x86_64' went wrong and there is no image with hash
available on hub.

This commit updates the alpine base to the latest version and
thus rectifies the issue

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-07-25 11:46:07 +01:00
Avi Deitcher
5b86baeb17 Merge pull request #2285 from deitch/fix-bashism-in-update-script
Remove bashism in script
2017-07-25 13:14:28 +03:00
Avi Deitcher
c732584e77 Remove bashism in script
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2017-07-25 12:47:10 +03:00
Riyaz Faizullabhoy
2ecb3d2fb8 Merge pull request #2283 from ijc/swarmd
swarmd: Bump getty again
2017-07-24 10:06:56 -07:00
Rolf Neugebauer
30c9530d2a Merge pull request #2281 from justincormack/go-init
Rewrite /init in Go
2017-07-24 17:20:50 +01:00