From d53d415ef805334709cc6d98bf8f2bb321b622e0 Mon Sep 17 00:00:00 2001 From: Kai Lueke Date: Fri, 24 Mar 2023 20:43:43 +0900 Subject: [PATCH] Run kola without --qemu-skip-mangle on Jenkins For the GitHub CI we have to use --qemu-skip-mangle because the LXC containers don't have access to loop devices. Running with --qemu-skip-mangle means that the serial console does not get captured completely because systemd and dracut messages are missing, and thus we don't catch these errors in kola. Make the skipping conditional and use it in Jenkins at least for the nightlies and releases. --- .github/workflows/run-kola-tests.yaml | 3 +++ ci-automation/ci-config.env | 3 +++ ci-automation/vendor-testing/qemu.sh | 2 +- ci-automation/vendor-testing/qemu_update.sh | 2 +- 4 files changed, 8 insertions(+), 2 deletions(-) diff --git a/.github/workflows/run-kola-tests.yaml b/.github/workflows/run-kola-tests.yaml index 1e636dc77c..9eb84816da 100644 --- a/.github/workflows/run-kola-tests.yaml +++ b/.github/workflows/run-kola-tests.yaml @@ -100,6 +100,9 @@ jobs: export QEMU_IMAGE_NAME="/work/flatcar_production_image.bin" export QEMU_UEFI_BIOS="/work/flatcar_production_qemu_uefi_efi_code.fd" export PARALLEL_TESTS=${PARALLEL_ARCH} + # The runner uses lxc containers for kola, and can't use loopback devices to + # prepare the serial console setting - this means that kola may miss some errors + export QEMU_KOLA_SKIP_MANGLE=true EOF export MAX_RETRIES=5 diff --git a/ci-automation/ci-config.env b/ci-automation/ci-config.env index 5c5eaf188b..75b11d3d3c 100644 --- a/ci-automation/ci-config.env +++ b/ci-automation/ci-config.env @@ -52,6 +52,9 @@ CONTAINER_IMAGE_ROOT="/home/sdk/build/images" QEMU_IMAGE_NAME=${QEMU_IMAGE_NAME:-flatcar_production_image.bin} QEMU_PARALLEL="${PARALLEL_TESTS:-20}" +# Whether kola can use loop devices to capture serial console output and check for error patterns +QEMU_KOLA_SKIP_MANGLE="${QEMU_KOLA_SKIP_MANGLE:-}" + # BIOS path within the SDK QEMU_BIOS="/usr/share/qemu/bios-256k.bin" diff --git a/ci-automation/vendor-testing/qemu.sh b/ci-automation/vendor-testing/qemu.sh index 99e9d2a9c2..732ac2897c 100755 --- a/ci-automation/vendor-testing/qemu.sh +++ b/ci-automation/vendor-testing/qemu.sh @@ -52,7 +52,7 @@ kola run \ --qemu-image="${QEMU_IMAGE_NAME}" \ --tapfile="${CIA_TAPFILE}" \ --torcx-manifest="${CIA_TORCX_MANIFEST}" \ - --qemu-skip-mangle \ + ${QEMU_KOLA_SKIP_MANGLE:+--qemu-skip-mangle} \ "${@}" set +x diff --git a/ci-automation/vendor-testing/qemu_update.sh b/ci-automation/vendor-testing/qemu_update.sh index f8fbce53b3..e5af4375aa 100755 --- a/ci-automation/vendor-testing/qemu_update.sh +++ b/ci-automation/vendor-testing/qemu_update.sh @@ -106,7 +106,7 @@ run_kola_tests() { --tapfile="${instance_tapfile}" \ --torcx-manifest="${CIA_TORCX_MANIFEST}" \ --update-payload=tmp/flatcar_test_update.gz \ - --qemu-skip-mangle \ + ${QEMU_KOLA_SKIP_MANGLE:+--qemu-skip-mangle} \ cl.update.payload }