Commit Graph

79 Commits

Author SHA1 Message Date
Ian Campbell
5e6a78821b Update yaml and reenable linuxkit.packages.containerd test
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-12 17:29:19 +01:00
Ian Campbell
29fc12607f Update various other go base pkgs to newer alpine (go1.9)
These are those which set $GOPATH but don't use go-compile.sh.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-12 16:50:47 +01:00
Ian Campbell
a9b03c3f95 Update all users of go-compile.sh to new alpine (go1.9)
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-12 16:47:35 +01:00
Ian Campbell
aba82533a0 Update go system components to new alpine (go1.9)
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-12 16:45:01 +01:00
Ian Campbell
510802a245 Update yml
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-12 13:04:16 +01:00
Ian Campbell
aeed5f6b40 init,containerd: bump to new alpine with v1.0.0-beta.2.
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-12 12:57:08 +01:00
Ian Campbell
694a7876ef Bump test/pkg/ns/template.yml
Doing before mass update otherwise users of linuxkit/test-ns will be switched
to -dirty.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-10 13:21:43 +01:00
Ian Campbell
cf590bb455 test: ltp: disable content trust
Signing is not setup for this repositories. It seems it hasn't been updated
since before trust was added since the previous Makefile metadata (which was
translated in build.yml) did not contain `NOTRUST=1`.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-10 10:53:38 +01:00
Ian Campbell
e0b537b19e Revert "Rename poweroff to test-poweroff for consistency"
This reverts commit c889f13251.

Changing the name breaks signing.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-10 10:33:07 +01:00
Ian Campbell
a237b51511 Bump alpine base across the board.
By running:

    ./scripts/update-component-sha.sh --image linuxkit/alpine ad35b6ddbc70faa07e59a9d7dee7707c08122e8d

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-10 09:55:45 +01:00
Ian Campbell
13d11f49ba Rename "tag*" Makefile targets to "build*"
This better matches the `linuxkit pkg build` nomenclature.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-09 16:48:48 +01:00
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