From 419b5ab04256103596aee7bf5bce456cbb544e7d Mon Sep 17 00:00:00 2001 From: Akihiro Suda Date: Mon, 2 Jan 2023 07:11:28 +0900 Subject: [PATCH] Cirrus CI (Fedora 37, Rocky 8): enable cri-integration Fix issue 7889 Signed-off-by: Akihiro Suda --- .cirrus.yml | 3 +++ Vagrantfile | 43 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+) diff --git a/.cirrus.yml b/.cirrus.yml index bafe8f9f7..1252edffa 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -40,6 +40,9 @@ task: integration_script: | vagrant up --provision-with=selinux,install-runc,install-gotestsum,test-integration + cri_integration_script: | + vagrant up --provision-with=selinux,install-runc,install-gotestsum,test-cri-integration + cri_test_script: | vagrant up --provision-with=selinux,install-runc,install-gotestsum,test-cri diff --git a/Vagrantfile b/Vagrantfile index 444715335..8968a13fc 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -206,6 +206,19 @@ EOF SHELL end + config.vm.provision "install-failpoint-binaries", type: "shell", run: "once" do |sh| + sh.upload_path = "/tmp/vagrant-install-failpoint-binaries" + sh.inline = <<~SHELL + #!/usr/bin/env bash + source /etc/environment + source /etc/profile.d/sh.local + set -eux -o pipefail + ${GOPATH}/src/github.com/containerd/containerd/script/setup/install-failpoint-binaries + chcon -v -t container_runtime_exec_t $(type -ap containerd-shim-runc-fp-v1) + containerd-shim-runc-fp-v1 -v + SHELL + end + # SELinux is Enforcing by default. # To set SELinux as Disabled on a VM that has already been provisioned: # SELINUX=Disabled vagrant up --provision-with=selinux @@ -245,6 +258,36 @@ EOF SHELL end + # SELinux is Enforcing by default (via provisioning) in this VM. To re-run with SELinux disabled: + # SELINUX=Disabled vagrant up --provision-with=selinux,test-cri-integration + # + config.vm.provision "test-cri-integration", type: "shell", run: "never" do |sh| + sh.upload_path = "/tmp/test-cri-integration" + sh.env = { + 'GOTEST': ENV['GOTEST'] || "go test", + 'GOTESTSUM_JUNITFILE': ENV['GOTESTSUM_JUNITFILE'], + 'GOTESTSUM_JSONFILE': ENV['GOTESTSUM_JSONFILE'], + 'GITHUB_WORKSPACE': '', + 'ENABLE_CRI_SANDBOXES': ENV['ENABLE_CRI_SANDBOXES'], + } + sh.inline = <<~SHELL + #!/usr/bin/env bash + source /etc/environment + source /etc/profile.d/sh.local + set -eux -o pipefail + cleanup() { + rm -rf /var/lib/containerd* /run/containerd* /tmp/containerd* /tmp/test* /tmp/failpoint* /tmp/nri* + } + cleanup + cd ${GOPATH}/src/github.com/containerd/containerd + # cri-integration.sh executes containerd from ./bin, not from $PATH . + make BUILDTAGS="seccomp selinux no_aufs no_btrfs no_devmapper no_zfs" binaries bin/cri-integration.test + chcon -v -t container_runtime_exec_t ./bin/{containerd,containerd-shim*} + CONTAINERD_RUNTIME=io.containerd.runc.v2 ./script/test/cri-integration.sh + cleanup + SHELL + end + # SELinux is Enforcing by default (via provisioning) in this VM. To re-run with SELinux disabled: # SELINUX=Disabled vagrant up --provision-with=selinux,test-cri #