Commit Graph

368 Commits

Author SHA1 Message Date
Ian Campbell
c889f13251 Rename poweroff to test-poweroff for consistency
This was the only one of `test/pkg` not to have a `test-` prefix.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-09 16:20:26 +01:00
Ian Campbell
588d095e19 Convert all of test/pkg/* to linuxkit pkg build
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-09 16:20:26 +01:00
Ian Campbell
f7c50156c5 tools: pull linuxkit/guestfs by digest only (not digest+tag)
Current versions of Docker complain:

    Sending build context to Docker daemon   5.12kB
    Step 1/4 : FROM linuxkit/guestfs@sha256:62e810869e83dabe04af7ac8fcd81d9f177d986a3424dcb9c4eb5439993c962f
    ...
    Successfully tagged linuxkit/mkimage-gcp:736880776838c8f41c081276d9c017ae6adbf1bb-amd64
    Tagging linuxkit/guestfs@sha256:62e810869e83dabe04af7ac8fcd81d9f177d986a3424dcb9c4eb5439993c962f as linuxkit/guestfs:aecc40bf84ce4f4238e06934c46d7cc570a39eed@sha256:62e810869e83dabe04af7ac8fcd81d9f177d986a3424dcb9c4eb5439993c962f
    refusing to create a tag with a digest reference
    ../../pkg/package.mk:82: recipe for target 'tag-y' failed

Just use the digest for now. Perhaps someone will have time to fixup this build
properly at some point.

Make the same change to test/pkg/ltp.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-09 16:20:10 +01:00
Ian Campbell
ca70b7b6af Update pkg/Makefile and test/pkg/Makefile based on tools/Makefile
Using explicit targets is cleaner and easier to follow.

Also add `forcepush` to pkg and test/pkg and make `push` explicit.

The `dirs` phony was non-existent in all three cases. Likewise `$(DIR)` wasn't
used in that way in pkg or test/pkg and is nolonger used in that way in tools.

Finally, `clean` was bogus in all cases (tools cleaned a thing which never
exists and pkg and test/pkg were a syntax error).

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-09 16:20:08 +01:00
Ian Campbell
563ee76cb5 Update yml
Pulling in containerd v1.0.0-beta.1.

Fixes #2533.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-09-25 13:54:24 +01:00
Ian Campbell
09c89a923b Bump init and containerd package to v1.0.0-beta.1
golint on pkg/init now complains:

    golint...
    ./init.go:199:2: redundant if ...; err != nil check, just return error instead.

Resulting in a change which doesn't seem like an improvement to me.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-09-25 13:39:21 +01:00
Justin Cormack
2010d999ca update hashes for init
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-09-18 11:53:02 -07:00
David Scott
2b80ff5a0f Update init version in YAML files
Signed-off-by: David Scott <dave.scott@docker.com>
2017-09-14 11:47:38 +01:00
Ian Campbell
6cbc3ed518 Bump init+containerd to new alpine base with containerd beta.0
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-09-07 18:31:57 +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
Justin Cormack
90f905a799 Move containerd clone to tools/alpine
As discussed before, as we use this in three places, cloning in
base makes more sense.

Update base image.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-08-21 15:16:09 +01:00
Justin Cormack
2f915b8cf2 Update init, containerd, runc images
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-08-17 13:54:51 +01:00
Ian Campbell
0db9131e90 tests: update containerd test container
- xfsprogs is required for mkfs.xfs for some tests.
- mount persistent disk on /var/lib instead of /var.
- include host /dev (for loop devices) in mounts.
- /tmp need not be exec.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-08-11 18:07:12 +01:00
Ian Campbell
6f0d9d855b Update yml for containerd v1.0.0-alpha4 and runc v1.0.0-rc4
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-08-11 16:21:42 +01:00
Ian Campbell
e11c1c0224 pkg: Bump to containerd v1.0.0-alpha4 and runc v1.0.0-rc4
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-08-11 16:16:33 +01:00
Ian Campbell
ff6d5b384a test-containerd: Drop net:host and /dev mount
net:host is the default and this test does not need the host /dev.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-08-11 16:11:11 +01:00
Ian Campbell
3c269d4320 test-containerd: output the revision in the test tree
So it'll appear in the logs.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-08-11 16:11:11 +01:00
Ian Campbell
b194a96584 test-containerd: move git clone into mirror
`${CONTAINERD_COMMIT}` is only defined in the `FROM linuxkit/alpine` section
and not the in `FROM scratch` section.

This means we were always checking out the current master at the time of build
rather than the expected commit because `git checkout $CONTAINERD_COMMIT` was
expanding to `git checkout `.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-08-11 16:11:11 +01:00
Justin Cormack
fae7a76009 update runc and containerd images
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-08-10 14:33:21 +01:00
Ian Campbell
3a71c4a291 Update yml for new runc and containerd.
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-08-07 12:11:32 +01:00
Rolf Neugebauer
633195cbe3 Update YAML files with new multi-arch packages
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-08-03 17:46:11 +01:00
Rolf Neugebauer
07cdcfeb65 Update all test YAML files with new multi-arch test packages
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-08-03 17:36:22 +01:00
Rolf Neugebauer
551e43294f tests: Update alpine base to multi-arch
The following packages did not work on aarch64:
- linuxkit/test-docker-bench
- linuxkit/test-ltp
- linuxkit/test-ns
- linuxkit/test-virtsock

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-08-03 17:36:22 +01:00
Rolf Neugebauer
b271a3b91f build: Add makefile to ./test/pkg
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-08-03 17:36:22 +01:00
Justin Cormack
782d40bf28 update hashes
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-07-31 13:57:41 +01:00
Justin Cormack
b3378652e3 Fix tests that fail with true read only
Mounting a directory inside a read only container requires that to be
created in advance, but `runc` worked around that if the rootfs was not
originally read only.

You cannot even bind mount a file that does not exist into a
read only container.

The containerd test is given a disk, as running on an overlay does
not work; however it is also disabled as one of the parts of the test
is failing, needs investigation.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-07-31 13:49:40 +01:00
Ian Campbell
88ab788749 tests: reenable linuxkit.packages.containerd
The newest tests actually run containerd and therefore have some additional
requirements:
- containerd + shim + runc binaries are needed. We bind these in from the host.
  The test code should, by design, be from matching containerd source, assuming
  we remember to update test/pkg/container/Dockerfile when we bump
  CONTAINERD_COMMIT.  5217b9973b added a reminder
  to do so.
- the tests need networking (to pull images). So add dhcp to onboot and bind
  /etc/resolv.conf into the test container.
- running containers requires a writeable cgroup mount.
- containerd wants /etc/localtime, so install the UTC one (as we do in
  pkg/containerd).

The test image already has `net: host` and `capabilities: all`.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-27 12:06:59 +01:00
Ian Campbell
017d3304fc Update yml after containerd bump
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-27 11:45:56 +01:00
Ian Campbell
8eb6709a3c containerd: Bump to new alpine (with v1.0.0-alpha2)
The logrus import path has changed, so adjust. Also there is a minor API change
to the containerd.IOCreation() function spec, it now takes a string id which we
can ignore.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-27 11:07:03 +01:00
Justin Cormack
79d3546dfd Merge pull request #2298 from ijc/tools-and-test-iidfile
tools & test use package.mk and build --iidfile
2017-07-27 10:24:46 +01:00
Justin Cormack
b853e05d9c Update init, runc, containerd hashes
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-07-26 16:51:11 +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
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
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
Tycho Andersen
6ff8a7387f check-kernel-config: check for STRICT_MODULE_RWX too
This is what CONFIG_DEBUG_SET_MODULE_RONX was renamed to; since we want
that one, presumably we want this one too.

Signed-off-by: Tycho Andersen <tycho@docker.com>
2017-07-19 14:08:25 -06:00
Justin Cormack
88c63ad389 Do not fail if some modules not found
May be built in to kernel.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-07-14 14:04:32 +01:00
Rolf Neugebauer
9fad2e8b31 tests: Add a package for network namespace stress tests
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-07-08 14:52:49 +01:00
Rolf Neugebauer
c2c8ea8689 test: Update docker-bench to 17.06.0-ce and new URL scheme
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-07-01 19:24:16 +01:00
Rolf Neugebauer
699a864302 pkg: Update to new Alpine base
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-07-01 18:11:45 +01:00
Rolf Neugebauer
8d4dfb25e6 test: Load modules before testing for filesystems
The previous commit moved some filesystems to kernel modules.
modprobe them before checking if they are enabled.

Also update the YAML files for the tests.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-06-22 23:31:39 +01:00
Akihiro Suda
4699f80ef7 test: add test-containerd
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-06-19 11:04:58 -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
Riyaz Faizullabhoy
8726adaa78 s/moby/linuxkit for run
Signed-off-by: Riyaz Faizullabhoy <riyaz.faizullabhoy@docker.com>
2017-06-08 17:10:14 -07: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
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
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
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
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
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
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
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
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
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
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
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
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
Rolf Neugebauer
91d267bcb5 test: Use tini from alpine base in the virtsock test package
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-18 18:55:22 +01:00
Rolf Neugebauer
bfd7a62f1f tests: Update virtsock stress test commit
The new version has improvements to the Windows code as well
as initial support for the VMware/virtio based Hyper-V socket
interface.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-10 13:32:48 +01:00
Rolf Neugebauer
9cb3c53b8f tests: Use git tree hash for virtsock package
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-08 16:46:47 +01:00
Rolf Neugebauer
725853f11d Update packages/tests to use the new tini package
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-08 16:46:47 +01:00
Dave Tucker
16cfd3ea2d tests: Rename kernel-config image to test-kernel-config
Signed-off-by: Dave Tucker <dt@docker.com>
2017-05-05 11:51:10 +01:00
Dave Tucker
fb4d621833 tests: use the poweroff pkg in test-kernel-config
Signed-off-by: Dave Tucker <dt@docker.com>
2017-05-04 23:56:40 +01:00
Dave Tucker
05767273f3 tests: cleanup test directory
- add a `pkg` directory for packages
- add a `cases` directory for yml files

Signed-off-by: Dave Tucker <dt@docker.com>
2017-05-04 23:56:40 +01:00