Commit Graph

68 Commits

Author SHA1 Message Date
Rolf Neugebauer
90c441ef67 Update YAML files to new init
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-06-13 15:57:24 -07:00
Ian Campbell
58d61d0846 tests: traverse directories before removing them during cleanup
Without `-depth` find will first `rm -rf foo` and then try to recurse into
`foo` resulting in `No such file or directory`.

With this the various `|| true` suffixes should no longer be required.

Lastly, in test/cases/040_packages/013_mkimage/test.sh cleanup any
`disk.qcow2*` detritus as well as the image itself.

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2017-06-13 17:15:33 +01:00
Riyaz Faizullabhoy
35977c53d6 Merge pull request #2022 from justincormack/sys-in-getty
mount /sys in getty container and add and fix kernel tests
2017-06-12 09:29:44 -07:00
Justin Cormack
90a5cad216 Add filesystem tests into kernel test and fix failure cases
Make sure we do not remove filesystems we expect to have.

Fix the failure cases for the kernel tests which were not working properly
due to shell code.

Fix some 4.11 kernel changes in config that show up once tests are fixed.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-06-12 17:25:25 +02:00
Justin Cormack
5764fba5d6 Only use console=ttyS0 for tests
If you also use console=tty0 you lose the output of commands running from
the system, as they run on the second console which is discarded.

Also drop page-poison as not relevant for tests.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-06-12 10:22:23 +02:00
Justin Cormack
53279e030a Migrate base linuxkit.yml to getty, and tests to new init
Missed in #2004

Not updated projects.

Signed-off-by: Justin Cormack <justin@specialbusservice.com>
2017-06-10 18:40:33 +01:00
Justin Cormack
985ddbd4d8 Re-enable content trust on build test
I disabled this for speed when content trust cache was not working

See also #1995

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-06-08 11:19:20 +01:00
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
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
3d745c378b tests: Update unfinished docker-bench test
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
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
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
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
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
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
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
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
Justin Cormack
e52bf2f745 Update sysctl and sysfs in yaml files
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-05-20 11:16:48 +01:00
Justin Cormack
56121a774b Add label for poweroff container to simplify tests
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-05-19 22:05:15 +01:00
Justin Cormack
4d4598e784 Use labels for the test-sysctl image
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-05-19 22:05:15 +01:00
Justin Cormack
702ad5d9d9 Update git hashes for sysctl
And remove all the config options as they are now in the label.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-05-19 22:05:15 +01:00
Justin Cormack
345a294b5e Add a test case for the sysctl package
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-05-19 22:05:08 +01:00