942 Commits

Author SHA1 Message Date
Rolf Neugebauer
4195ff8553 tests: Run the package tests on HyperKit when running on OSX
With the updated HyperKit go bindings we can redirect the VM output
and check for test results. Use this for all kernel tests as this
speeds up running the tests on OSX.

Also use 'set -x' instead of 'set -v' for consistency and don't fail
when the clean up code fails.

The mkimage package test currently doesn't work on HyperKit as it
requires support for multiple disks to be added.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-06-07 23:31:18 +01:00
Rolf Neugebauer
d449ef6901 tests: Run kernel tests on HyperKit when running on OSX
With the updated HyperKit go bindings we can redirect the VM output
and check for test results. Use this for all kernel tests as this
speeds up running the tests on OSX.

Also enable 'set -x' so we see the commands being executed and don't
fail the test if the cleanup failed.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-06-07 23:31:18 +01:00
Tycho Andersen
a208413ac0 fix package builds in some cases
0eb21735ae accidentally broke some package
builds by switching linuxkit/alpine to linuxkit/containerd. Let's revert
the ones that shouldn't be there.

Closes #1991

Signed-off-by: Tycho Andersen <tycho@docker.com>
2017-06-07 16:19:40 -06:00
Justin Cormack
fc52966150 Merge pull request #1983 from justincormack/mobyup
Update Moby tool
2017-06-07 20:56:26 +01:00
Justin Cormack
c8a3fd0e7a Update Moby tool
- rename img→raw and gcp-img→gcp
- support creating `docker` outputs, see https://github.com/moby/tool/tree/master/examples
- less memory usage via streaming outputs
- allow specification of multiple yaml files in a single command line, improves modularity
- notary fixes and local cache, so does not pull as much
- you now have to specify the full filename of the yaml file, you cannot omit the suffix

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-06-07 20:11:37 +01:00
Dave Tucker
8763da79c9 tests: Add a test case to ensure no ports are open
Signed-off-by: Dave Tucker <dt@docker.com>
2017-06-07 17:57:21 +01:00
Dave Tucker
1598b11375 Update YAML files to use new containerd package
Signed-off-by: Dave Tucker <dt@docker.com>
2017-06-07 15:30:39 +01:00
Ian Campbell
0eb21735ae Update to containerd bdf9f5f7388e8203e63a74b89800f7f3dd4a7743
Note that this is not the latest (which was 95efd45db073 at time of writing)
but the next commit 6428b4bad0c2 merges "Port ctr to use client package" breaks
the use of `ctr run --runtime-config` (by removing that option).

This contains https://github.com/containerd/containerd/pull/954 which was
causing some services to fail to start.

All previous uses of 15541037b9 are updated to
5749f2e9e6.

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2017-06-07 09:38:10 +01:00
Justin Cormack
9f4c6da4e5 Update containerd in yaml
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-06-06 22:14:30 +01:00
Justin Cormack
e782a469d5 Update moby tool and qemu fixes
- no longer uses several of the `mkimage-*` tools in favour of dogfooding
with `linuxkit` and using the `mkimage` package.
- fix the qemu docker container fallbacks to work better when multiple
paths are used for disks and the image.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-06-05 16:34:26 +01:00
Justin Cormack
5394ec26f2 Update mkimage tests to match output
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-06-01 14:49:49 +01:00
Justin Cormack
583c5755fa Merge pull request #1944 from justincormack/qemu-multiple-disks
Support multiple disks in qemu
2017-06-01 14:17:51 +01:00
Justin Cormack
25a1e12cf3 Support multiple disks in qemu
This changes the CLI specification for disks, as it needs to be able to
be repeated.

```
linuxkit run qemu -disk name,size=1G,format=qcow2 ...
```

Options may be omitted.

Currently other local backends may not support multiple disks, but this
can be added in future. Code for cloud backends has not changed as the
disk support is specific to the platform.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-06-01 13:40:20 +01:00
Ian Campbell
eaedbd454c Update containerd to 7fc91b05917e93d474fab9465547d44eacd10ce3
Update everything including the current
linuxkit/containerd:b1766e4c4c09f63ac4925a6e4612852a93f7e73b to the new
linuxkit/containerd:deaf5bf838bf7f131c2287ecff3ed9835b0497e2.

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2017-05-31 17:05:24 +01:00
Rolf Neugebauer
7173529253 tests: Update YAML files with new poweroff package
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-30 17:15:13 +01:00
Rolf Neugebauer
95b13501f2 tests: Use the Alpine base image for the poweroff package
Also convert it to use the git tree hash

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-30 17:15:13 +01:00
Rolf Neugebauer
551d3dcf3a tests: Update ltp test YAML file
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-30 17:15:13 +01:00
Rolf Neugebauer
4423d1943a tests: Use multi-stage builds for LTP
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-30 17:15:13 +01:00
Rolf Neugebauer
3d745c378b tests: Update unfinished docker-bench test
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-30 17:15:13 +01:00
Rolf Neugebauer
d9c2c366e4 tests: Convert docker-bench to use multi-stage builds
Also update to docker 17.05.0-ce and only install
the docker CLI, not the rest.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-30 17:15:13 +01:00
Justin Cormack
d92e19f020 Update the yaml files with new builds
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-05-30 15:40:51 +01:00
Justin Cormack
d9aada88dc Update for new default namespaces
See https://github.com/moby/tool/pull/56

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-05-30 15:06:30 +01:00
Justin Cormack
599f2d6f5b Update yaml files with new init
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-05-30 14:15:16 +01:00
Rolf Neugebauer
8d0182e17c kernel: Update to 4.11.3/4.9.30/4.4.70, remove 4.10.x
4.10.x has been EOLed. Remove it from the build and tests.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-30 12:32:09 +01:00
Rolf Neugebauer
79f5c59813 tests: Use Alpine base to compile virtsock test program
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-29 17:30:57 +01:00
Rolf Neugebauer
8cff978fab Update YAML files with updated binfmt package
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-29 17:30:57 +01:00
Rolf Neugebauer
96e45aeee5 tests: Add a test for the ca-certificates package
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-29 11:42:08 +01:00
Rolf Neugebauer
f434615f91 tests: Add a test for the dhcpcd package
This test check that the link is up, that we got a IP address
and the output of the dhcpcd daemon.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-29 11:42:07 +01:00
Rolf Neugebauer
885e6a7f0a tests: Add a test for the binfmt package
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-29 11:42:07 +01:00
Rolf Neugebauer
9efac10874 tests: Remove systctl test package
It is not longer needed.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-29 11:42:07 +01:00
Rolf Neugebauer
15a05d6260 tests: Simplify sysctl test
Don't rely on systctl test package. Instead, add the check shell
script to the image and execute it with a standard Alpine image.

While at it, make the test more verbose.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-29 11:42:06 +01:00
Rolf Neugebauer
4aa4129acf tests: Reorder package tests
Use the index in the alphabet (a=1...) to group the tests
a little bit. The actual order does not matter.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-29 11:42:06 +01:00
Riyaz Faizullabhoy
b2655c1bbe Rename and sign linuxkit/test-ltp
Signed-off-by: Riyaz Faizullabhoy <riyaz.faizullabhoy@docker.com>
2017-05-26 16:03:35 -07:00
Riyaz Faizullabhoy
cea9a7c8c6 Also sign all test packages and update relevant test cases to use org key
Signed-off-by: Riyaz Faizullabhoy <riyaz.faizullabhoy@docker.com>
2017-05-26 15:01:10 -07:00
Rolf Neugebauer
9bdfcb5b12 Update YAML files with new packages, config, and trust data
- Update to packages using the Alpine 3.6 base image
- Remove config for packages which now supply it
- Update/add trust section

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-26 16:23:55 +01:00
Rolf Neugebauer
7915cae6bd pkg: Update the Alpine base for some of the packages
The remaining packages will be updated with subsequent commits
to also include the config label.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-26 15:50:54 +01:00
Justin Cormack
00737bd859 Remove outputs from the yaml files
The latest version of the `moby` tool now requires that the output formats
be specified in the CLI not in the yaml file.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-05-26 13:55:06 +01:00
Justin Cormack
4faf0c86bc Add a test for mkimage
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-05-25 13:57:48 +01:00
Justin Cormack
41422b3057 Remove AUTHOR from tests
This goes against collective responsibility for code. If you want to know the
author use git.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-05-24 16:33:09 +01:00
Justin Cormack
8d97247d8c Merge pull request #1877 from tych0/real-kernel-config-impl
kernel-config project: add a real implementation of kernel configs
2017-05-24 16:16:33 +01:00
Rolf Neugebauer
ae5dfc6d7d Update all YAML files to use the new binfmt, dhcpcd and rngd packages
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-23 15:55:40 +01:00
Justin Cormack
838d845003 Clean up of Qemu run
For all output formats except kernel+initrd, you must use the full path of
the file they want to run. Make the options auto detect.

Split the uefi option to mean "use uefi firmware" not be ISO specific.

Allow specifying a bootable disk image, so we can test disk image output
formats with qemu too.

Add a test case for qcow2 boot under qemu.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-05-23 09:22:39 +01:00
Tycho Andersen
b97bb70cda check-kernel-config: allow config file as an argument
This way we can run it on generated configs at kernel build time, too.

Signed-off-by: Tycho Andersen <tycho@docker.com>
2017-05-22 16:58:50 -06:00
Rolf Neugebauer
c1902f7157 tests: Fix qemu test for EFI firmware
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-22 14:44:56 +01:00
Rolf Neugebauer
822d179a2b tests: Add initial hyperkit tun test
This uses 'expect' instead of 'grep' because hyperkit is
a bit finicky with re-directing the output (it expects a
tty). 'expect' handles this and is installed on macOS by
default.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-22 14:44:56 +01:00
Rolf Neugebauer
e62e94a240 tests: Run config tests on all kernels we support
- Add a test for the kernel config for each supported kernel
- simplify YAML files: no need for ca certificates nor DHCP
- Explicitly state that the kernel module tests are for
  the 4.9 kernel.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-22 14:44:56 +01:00
Rolf Neugebauer
e1920b4f22 tests: Add a test for running qemu in a container
The qemu backend defaults to running against a locally installed
qemu but falls back to running in a container if qemu is not
installed. This test explicitly tests that the containerised
qemu backend works only if there is a locally installed qemu.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-22 14:44:56 +01:00
Rolf Neugebauer
0fa440938a tests: Fix cleanup for qemu tests
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-22 14:44:55 +01:00
Rolf Neugebauer
a6d834ddf0 Merge pull request #1865 from justincormack/go-compile
more Go compile fixes
2017-05-21 11:18:45 +01:00
Rolf Neugebauer
4377ae3209 Merge pull request #1861 from justincormack/containerd-build
Update containerd
2017-05-21 11:13:07 +01:00