From 1899c9f48368ed9d34ac632204e8751e2b4dee17 Mon Sep 17 00:00:00 2001 From: Adam Piasecki Date: Tue, 2 Jul 2024 12:07:40 +0100 Subject: [PATCH] kola/kernel-replace: Replace kernel based on OS_ID See: https://github.com/coreos/coreos-assembler/issues/1245#event-10632834915 --- tests/kola/rpm-ostree/kernel-replace | 38 ++++++++++++++++++---------- 1 file changed, 25 insertions(+), 13 deletions(-) diff --git a/tests/kola/rpm-ostree/kernel-replace b/tests/kola/rpm-ostree/kernel-replace index 82dd80716e..eb81e9e54e 100755 --- a/tests/kola/rpm-ostree/kernel-replace +++ b/tests/kola/rpm-ostree/kernel-replace @@ -5,9 +5,7 @@ ## # We've seen some OOM when 1024M is used: ## # https://github.com/coreos/fedora-coreos-tracker/issues/1506 ## minMemory: 2048 -## # This test only runs on FCOS due to a problem with skopeo copy on -## # RHCOS. See: https://github.com/containers/skopeo/issues/1846 -## distros: fcos +## # distros: "fcos rhcos scos" ## # Needs internet access as we fetch files from koji ## # We add the "reprovision" tag here even though we aren't ## # reprovisioning as a hack so that in our pipeline the test @@ -43,10 +41,14 @@ set -euxo pipefail cd $(mktemp -d) # TODO: It'd be much better to test this via a registry -image_dir=/var/tmp/fcos -image=oci:$image_dir + +# define OS ID in order to assign appropriate kernel later +OS_ID=$(grep '^ID=' /etc/os-release | cut -d "=" -f2 | cut -d '"' -f2) + +image_dir=/var/tmp/coreos +image=oci:${image_dir} image_pull=ostree-unverified-image:$image -tmp_imagedir=/var/tmp/fcos-tmp +tmp_imagedir=${image_dir}-tmp arch=$(arch) kver="6.2.9-300.fc38.${arch}" @@ -80,18 +82,28 @@ case "${AUTOPKGTEST_REBOOT_MARK:-}" in 1) # Setup # copy the OCI dir to containers-storage for a local build - skopeo copy $image containers-storage:localhost/fcos + skopeo copy $image containers-storage:localhost/coreos rm "${image_dir}" -rf td=$(mktemp -d) cd ${td} version=$(rpm-ostree --version | grep Version) -cat > Dockerfile << EOF -FROM localhost/fcos -RUN rpm-ostree cliwrap install-to-root / + echo "Found ${OS_ID}" +if [ "${OS_ID}" = "rhcos" ] || [ "${OS_ID}" = "scos" ]; then + cat > Containerfile << EOF +FROM localhost/coreos RUN rpm-ostree override replace \ - https://koji.fedoraproject.org/koji/buildinfo?buildID=2178613 && \ + https://mirror.stream.centos.org/9-stream/BaseOS/x86_64/os/Packages/kernel-{,core-,modules-,modules-core-,modules-extra-}5.14.0-472.el9.x86_64.rpm && \ + rpm-ostree cleanup -m && \ + ostree container commit +EOF +elif [ "${OS_ID}" = "fcos" ]; then + cat > Containerfile << EOF +RUN rpm-ostree cliwrap install-to-root / +RUN rpm-ostree override replace https://kojipkgs.fedoraproject.org//packages/kernel/6.10.0/0.rc7.58.fc41/x86_64/kernel-{,core-,modules-,modules-core-,modules-extra-}6.10.0-0.rc7.58.fc41.x86_64.rpm && \ + rpm-ostree cleanup -m && \ ostree container commit EOF +fi # Older podman found in RHEL8 blows up without /etc/resolv.conf # which happens in our qemu path. touched_resolv_conf=0 @@ -101,12 +113,12 @@ EOF 3.*) touched_resolv_conf=1; touch /etc/resolv.conf;; esac fi - podman build --net=host -t localhost/fcos-derived --squash . + podman build --net=host -t localhost/coreos-derived --squash . if test "${touched_resolv_conf}" -eq 1; then rm -vf /etc/resolv.conf fi derived=oci:$image_dir:derived - skopeo copy containers-storage:localhost/fcos-derived $derived + skopeo copy containers-storage:localhost/coreos-derived $derived rpm-ostree --version rpm-ostree rebase ostree-unverified-image:$derived ostree container image list --repo=/ostree/repo