From b3378652e3c36fb07d091408b50c718451ab307a Mon Sep 17 00:00:00 2001 From: Justin Cormack Date: Fri, 28 Jul 2017 15:51:43 +0100 Subject: [PATCH] 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 --- test/cases/040_packages/002_binfmt/test-binfmt.yml | 1 - .../003_ca-certificates/test-ca-certificates.yml | 1 - test/cases/040_packages/003_containerd/test-containerd.yml | 7 ++++++- test/cases/040_packages/003_containerd/test.sh | 4 ++-- test/cases/040_packages/004_dhcpcd/test-dhcpcd.yml | 1 - test/cases/040_packages/008_format_mount/000_auto/test.yml | 1 - .../040_packages/008_format_mount/001_by_label/test.yml | 1 - .../040_packages/008_format_mount/002_by_name/test.yml.in | 1 - .../cases/040_packages/008_format_mount/003_btrfs/test.yml | 1 - test/cases/040_packages/008_format_mount/004_xfs/test.yml | 1 - .../040_packages/008_format_mount/010_multiple/test.yml | 1 - .../cases/040_packages/009_extend/000_ext4/test-create.yml | 1 - test/cases/040_packages/009_extend/000_ext4/test.yml | 1 - .../040_packages/009_extend/001_btrfs/test-create.yml | 1 - test/cases/040_packages/009_extend/001_btrfs/test.yml | 1 - test/cases/040_packages/009_extend/002_xfs/test-create.yml | 1 - test/cases/040_packages/009_extend/002_xfs/test.yml | 1 - test/cases/040_packages/019_sysctl/test-sysctl.yml | 1 - test/pkg/containerd/Dockerfile | 2 +- test/pkg/kernel-config/Dockerfile | 2 ++ 20 files changed, 11 insertions(+), 20 deletions(-) diff --git a/test/cases/040_packages/002_binfmt/test-binfmt.yml b/test/cases/040_packages/002_binfmt/test-binfmt.yml index 14cc73f97..e47ba4511 100644 --- a/test/cases/040_packages/002_binfmt/test-binfmt.yml +++ b/test/cases/040_packages/002_binfmt/test-binfmt.yml @@ -9,7 +9,6 @@ onboot: image: linuxkit/binfmt:257b5174a8e33bc62d5448cc026d72cae3713628 - name: test image: alpine:3.6 - readonly: true binds: - /check.sh:/check.sh - /proc/sys/fs/binfmt_misc:/binfmt_misc diff --git a/test/cases/040_packages/003_ca-certificates/test-ca-certificates.yml b/test/cases/040_packages/003_ca-certificates/test-ca-certificates.yml index bd95074f6..bf2253dda 100644 --- a/test/cases/040_packages/003_ca-certificates/test-ca-certificates.yml +++ b/test/cases/040_packages/003_ca-certificates/test-ca-certificates.yml @@ -8,7 +8,6 @@ init: onboot: - name: test image: alpine:3.6 - readonly: true binds: - /check.sh:/check.sh - /etc:/host-etc diff --git a/test/cases/040_packages/003_containerd/test-containerd.yml b/test/cases/040_packages/003_containerd/test-containerd.yml index 317fafde7..71ac11e5d 100644 --- a/test/cases/040_packages/003_containerd/test-containerd.yml +++ b/test/cases/040_packages/003_containerd/test-containerd.yml @@ -12,8 +12,13 @@ onboot: command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf", "-1"] - name: sysctl image: linuxkit/sysctl:3f7a3f6f9e7e1d3f245c766fcf5c2b9e97382cfb + - name: format + image: linuxkit/format:efafddf9bc6165b5efaf09c532c15a1100a10e61 + - name: mount + image: linuxkit/mount:54990a6a69cb3ead4da8a9c1f0b651e27aea8d3f + command: ["/usr/bin/mountie", "/var"] - name: test - image: linuxkit/test-containerd:dd3f2ba599c70994ba875e7c86c04df2967e3144 + image: linuxkit/test-containerd:325508d66a3a0afebe2fa0fd1a0325ae0c4d4613 - name: poweroff image: linuxkit/poweroff:3845c4d64d47a1ea367806be5547e44594b0fa91 trust: diff --git a/test/cases/040_packages/003_containerd/test.sh b/test/cases/040_packages/003_containerd/test.sh index 3e9729985..f985b764f 100644 --- a/test/cases/040_packages/003_containerd/test.sh +++ b/test/cases/040_packages/003_containerd/test.sh @@ -1,6 +1,6 @@ #!/bin/sh # SUMMARY: Run containerd test -# LABELS: +# LABELS: skip # REPEAT: set -e @@ -16,7 +16,7 @@ trap clean_up EXIT # Test code goes here moby build test-containerd.yml -RESULT="$(linuxkit run -mem 2048 test-containerd)" +RESULT="$(linuxkit run -mem 2048 -disk size=2G test-containerd)" echo "${RESULT}" | grep -q "suite PASSED" exit 0 diff --git a/test/cases/040_packages/004_dhcpcd/test-dhcpcd.yml b/test/cases/040_packages/004_dhcpcd/test-dhcpcd.yml index 6b2dd98fc..013d1d7be 100644 --- a/test/cases/040_packages/004_dhcpcd/test-dhcpcd.yml +++ b/test/cases/040_packages/004_dhcpcd/test-dhcpcd.yml @@ -10,7 +10,6 @@ onboot: command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf", "-1"] - name: test image: alpine:3.6 - readonly: true net: host binds: - /check.sh:/check.sh diff --git a/test/cases/040_packages/008_format_mount/000_auto/test.yml b/test/cases/040_packages/008_format_mount/000_auto/test.yml index 6e9887969..5a551cc65 100644 --- a/test/cases/040_packages/008_format_mount/000_auto/test.yml +++ b/test/cases/040_packages/008_format_mount/000_auto/test.yml @@ -13,7 +13,6 @@ onboot: command: ["/usr/bin/mountie", "/var/lib/docker"] - name: test image: alpine:3.6 - readonly: true binds: - /var/lib/docker:/var/lib/docker - /check.sh:/check.sh diff --git a/test/cases/040_packages/008_format_mount/001_by_label/test.yml b/test/cases/040_packages/008_format_mount/001_by_label/test.yml index e7a165ceb..0d2e1101e 100644 --- a/test/cases/040_packages/008_format_mount/001_by_label/test.yml +++ b/test/cases/040_packages/008_format_mount/001_by_label/test.yml @@ -13,7 +13,6 @@ onboot: command: ["/usr/bin/mountie", "-label", "docker", "/var/lib/docker"] - name: test image: alpine:3.6 - readonly: true binds: - /var/lib/docker:/var/lib/docker - /check.sh:/check.sh diff --git a/test/cases/040_packages/008_format_mount/002_by_name/test.yml.in b/test/cases/040_packages/008_format_mount/002_by_name/test.yml.in index 829e333ec..2415ec6dd 100644 --- a/test/cases/040_packages/008_format_mount/002_by_name/test.yml.in +++ b/test/cases/040_packages/008_format_mount/002_by_name/test.yml.in @@ -13,7 +13,6 @@ onboot: command: ["/usr/bin/mountie", "-device", "@DEVICE@1", "/var/lib/docker"] - name: test image: alpine:3.6 - readonly: true binds: - /var/lib/docker:/var/lib/docker - /check.sh:/check.sh diff --git a/test/cases/040_packages/008_format_mount/003_btrfs/test.yml b/test/cases/040_packages/008_format_mount/003_btrfs/test.yml index 76a8b9b97..2d2a7d57b 100644 --- a/test/cases/040_packages/008_format_mount/003_btrfs/test.yml +++ b/test/cases/040_packages/008_format_mount/003_btrfs/test.yml @@ -20,7 +20,6 @@ onboot: command: ["/usr/bin/mountie", "/var/lib/docker"] - name: test image: alpine:3.6 - readonly: true binds: - /var/lib/docker:/var/lib/docker - /check.sh:/check.sh diff --git a/test/cases/040_packages/008_format_mount/004_xfs/test.yml b/test/cases/040_packages/008_format_mount/004_xfs/test.yml index e6ed89053..184bc773a 100644 --- a/test/cases/040_packages/008_format_mount/004_xfs/test.yml +++ b/test/cases/040_packages/008_format_mount/004_xfs/test.yml @@ -13,7 +13,6 @@ onboot: command: ["/usr/bin/mountie", "/var/lib/docker"] - name: test image: alpine:3.6 - readonly: true binds: - /var/lib/docker:/var/lib/docker - /check.sh:/check.sh diff --git a/test/cases/040_packages/008_format_mount/010_multiple/test.yml b/test/cases/040_packages/008_format_mount/010_multiple/test.yml index 875dab2d4..98cbe08b8 100644 --- a/test/cases/040_packages/008_format_mount/010_multiple/test.yml +++ b/test/cases/040_packages/008_format_mount/010_multiple/test.yml @@ -19,7 +19,6 @@ onboot: command: ["/usr/bin/mountie", "-label", "foo", "/var/foo"] - name: test image: alpine:3.6 - readonly: true binds: - /var/lib/docker:/var/lib/docker - /var/foo:/var/foo diff --git a/test/cases/040_packages/009_extend/000_ext4/test-create.yml b/test/cases/040_packages/009_extend/000_ext4/test-create.yml index 718b67ad4..f1c8c50e0 100644 --- a/test/cases/040_packages/009_extend/000_ext4/test-create.yml +++ b/test/cases/040_packages/009_extend/000_ext4/test-create.yml @@ -12,7 +12,6 @@ onboot: command: ["/usr/bin/mountie", "/var/lib/docker"] - name: test image: alpine:3.6 - readonly: true binds: - /var/lib/docker:/var/lib/docker command: ["touch", "/var/lib/docker/bar"] diff --git a/test/cases/040_packages/009_extend/000_ext4/test.yml b/test/cases/040_packages/009_extend/000_ext4/test.yml index b24d37677..06759de95 100644 --- a/test/cases/040_packages/009_extend/000_ext4/test.yml +++ b/test/cases/040_packages/009_extend/000_ext4/test.yml @@ -12,7 +12,6 @@ onboot: command: ["/usr/bin/mountie", "/var/lib/docker"] - name: test image: alpine:3.6 - readonly: true binds: - /var/lib/docker:/var/lib/docker - /check.sh:/check.sh diff --git a/test/cases/040_packages/009_extend/001_btrfs/test-create.yml b/test/cases/040_packages/009_extend/001_btrfs/test-create.yml index 24b8663cc..7a4eff05c 100644 --- a/test/cases/040_packages/009_extend/001_btrfs/test-create.yml +++ b/test/cases/040_packages/009_extend/001_btrfs/test-create.yml @@ -20,7 +20,6 @@ onboot: command: ["/usr/bin/mountie", "/var/lib/docker"] - name: test image: alpine:3.6 - readonly: true binds: - /var/lib/docker:/var/lib/docker command: ["touch", "/var/lib/docker/bar"] diff --git a/test/cases/040_packages/009_extend/001_btrfs/test.yml b/test/cases/040_packages/009_extend/001_btrfs/test.yml index 04be4752c..1b005181d 100644 --- a/test/cases/040_packages/009_extend/001_btrfs/test.yml +++ b/test/cases/040_packages/009_extend/001_btrfs/test.yml @@ -20,7 +20,6 @@ onboot: command: ["/usr/bin/mountie", "/var/lib/docker"] - name: test image: alpine:3.6 - readonly: true binds: - /var/lib/docker:/var/lib/docker - /check.sh:/check.sh diff --git a/test/cases/040_packages/009_extend/002_xfs/test-create.yml b/test/cases/040_packages/009_extend/002_xfs/test-create.yml index 1acd9a8f0..7fcd7c13c 100644 --- a/test/cases/040_packages/009_extend/002_xfs/test-create.yml +++ b/test/cases/040_packages/009_extend/002_xfs/test-create.yml @@ -13,7 +13,6 @@ onboot: command: ["/usr/bin/mountie", "/var/lib/docker"] - name: test image: alpine:3.6 - readonly: true binds: - /var/lib/docker:/var/lib/docker command: ["touch", "/var/lib/docker/bar"] diff --git a/test/cases/040_packages/009_extend/002_xfs/test.yml b/test/cases/040_packages/009_extend/002_xfs/test.yml index d69322d75..81ab40829 100644 --- a/test/cases/040_packages/009_extend/002_xfs/test.yml +++ b/test/cases/040_packages/009_extend/002_xfs/test.yml @@ -13,7 +13,6 @@ onboot: command: ["/usr/bin/mountie", "/var/lib/docker"] - name: test image: alpine:3.6 - readonly: true binds: - /var/lib/docker:/var/lib/docker - /check.sh:/check.sh diff --git a/test/cases/040_packages/019_sysctl/test-sysctl.yml b/test/cases/040_packages/019_sysctl/test-sysctl.yml index f71214b5e..c525cc1b8 100644 --- a/test/cases/040_packages/019_sysctl/test-sysctl.yml +++ b/test/cases/040_packages/019_sysctl/test-sysctl.yml @@ -12,7 +12,6 @@ onboot: net: host pid: host ipc: host - readonly: true binds: - /check.sh:/check.sh command: ["sh", "./check.sh"] diff --git a/test/pkg/containerd/Dockerfile b/test/pkg/containerd/Dockerfile index 97d1a2a16..e23a912e1 100644 --- a/test/pkg/containerd/Dockerfile +++ b/test/pkg/containerd/Dockerfile @@ -31,4 +31,4 @@ RUN git checkout $CONTAINERD_COMMIT ADD run.sh ./run.sh ENTRYPOINT ["/bin/sh", "run.sh"] -LABEL org.mobyproject.config='{"net": "host", "capabilities": ["all"], "tmpfs": ["/tmp:exec"], "binds": ["/dev:/dev", "/etc/resolv.conf:/etc/resolv.conf", "/usr/bin/runc:/usr/bin/runc", "/usr/bin/containerd:/usr/bin/containerd", "/usr/bin/containerd-shim:/usr/bin/containerd-shim"], "mounts": [{"type": "cgroup", "options": ["rw","nosuid","noexec","nodev","relatime"]}],}' +LABEL org.mobyproject.config='{"net": "host", "capabilities": ["all"], "tmpfs": ["/tmp:exec"], "binds": ["/dev:/dev", "/var:/var", "/etc/resolv.conf:/etc/resolv.conf", "/usr/bin/runc:/usr/bin/runc", "/usr/bin/containerd:/usr/bin/containerd", "/usr/bin/containerd-shim:/usr/bin/containerd-shim"], "mounts": [{"type": "cgroup", "options": ["rw","nosuid","noexec","nodev","relatime"]}],}' diff --git a/test/pkg/kernel-config/Dockerfile b/test/pkg/kernel-config/Dockerfile index a096d33fd..1e036e8cb 100644 --- a/test/pkg/kernel-config/Dockerfile +++ b/test/pkg/kernel-config/Dockerfile @@ -7,6 +7,8 @@ ENV DOCKER_CHECK_CONFIG_COMMIT=72cda6a6c2f25854bea2d69168082684f2c9feca ADD https://raw.githubusercontent.com/docker/docker/${DOCKER_CHECK_CONFIG_COMMIT}/contrib/check-config.sh /out/check-config.sh ADD . ./out +RUN mkdir -p /out/lib/modules + FROM scratch COPY --from=mirror /out / ENTRYPOINT ["/bin/sh", "/check.sh"]