test: Remove un-used files and update tmt tests

tmt tests have been updated in upstream, downstream needs update

Signed-off-by: Xiaofeng Wang <xiaofwan@redhat.com>
This commit is contained in:
Xiaofeng Wang 2025-12-09 08:47:51 +08:00
parent 581ee7109b
commit 3dc8fb8edd
3 changed files with 31 additions and 170 deletions

View File

@ -1,53 +0,0 @@
# Build image for system-reinstall-bootc test
# Use centos-bootc:stream10 as default
FROM quay.io/centos-bootc/centos-bootc:stream10
WORKDIR /bootc-test
# Save testing farm run files
COPY ARTIFACTS /var/ARTIFACTS
# Copy bootc repo
COPY test-artifacts /var/share/test-artifacts
ARG GATING
RUN <<EORUN
set -xeuo pipefail
. /usr/lib/os-release
if [[ $ID == "rhel" ]]; then
cp rhel.repo /etc/yum.repos.d/
fi
# OSCI uses /var/lib/tmt/scripts to save tmt-* commands
# Fedora CI and Packit use /usr/local/bin
if [[ -d scripts ]]; then
mkdir -p /var/lib/tmt
cp -r scripts /var/lib/tmt/
else
cp -r bin /usr/local
fi
cp test-artifacts.repo /etc/yum.repos.d/
dnf -y update bootc
# Required by tmt avc checking after test
dnf -y install audit
./provision-derived.sh
# For test-22-logically-bound-install
cp -a lbi/usr/. /usr
for x in curl.container curl-base.image podman.image; do
ln -s /usr/share/containers/systemd/$x /usr/lib/bootc/bound-images.d/$x
done
# Add some testing kargs into our dev builds
install -D -t /usr/lib/bootc/kargs.d test-kargs/*
# Also copy in some default install configs we use for testing
install -D -t /usr/lib/bootc/install/ install-test-configs/*
# Remove bootc repo, bootc updated already
rm -rf /var/share/test-artifacts /etc/yum.repos.d/test-artifacts.repo
# Clean up dnf
dnf -y clean all
rm -rf /var/cache /var/lib/dnf
# Finally, test our own linting
# bootc container lint --fatal-warnings
EORUN

View File

@ -5,7 +5,7 @@ discover:
execute:
how: tmt
environment:
NIGHTLY_COMPOSE_SITE: download.eng.bos.redhat.com
NIGHTLY_COMPOSE_SITE: download.devel.redhat.com
prepare:
# Install image mode system on package mode system
- how: install
@ -24,8 +24,6 @@ prepare:
script:
- pwd && ls -al && ls -al /var/share/test-artifacts && mkdir -p bootc && cp /var/share/test-artifacts/*.src.rpm bootc
- cd bootc && ls -al && rpm2cpio *.src.rpm | cpio -idmv && rm -f *-vendor.tar.zstd && zstd -d *.tar.zstd && tar -xvf *.tar -C . --strip-components=1 && ls -al
# Remove the "cp" line in next release
- cp provision-packit.sh bootc/hack && cp Containerfile.packit bootc/hack
- cd bootc/hack && ./provision-packit.sh
# tmt-reboot and reboot do not work in this case
# reboot in ansible is the only way to reboot in tmt prepare
@ -34,58 +32,67 @@ prepare:
playbook:
- https://github.com/bootc-dev/bootc/raw/refs/heads/main/hack/packit-reboot.yml
/readonly-tests:
/plan-01-readonly:
summary: Execute booted readonly/nondestructive tests
discover+:
how: fmf
test:
- /tmt/tests/test-01-readonly
- /tmt/tests/tests/test-01-readonly
extra-try_bind_storage: true
/test-20-local-upgrade:
/plan-20-image-pushpull-upgrade:
summary: Execute local upgrade tests
discover+:
how: fmf
test:
- /tmt/tests/test-20-local-upgrade
- /tmt/tests/tests/test-20-image-pushpull-upgrade
/test-21-logically-bound-switch:
/plan-21-logically-bound-switch:
summary: Execute logically bound images tests for switching images
discover+:
how: fmf
test:
- /tmt/tests/test-21-logically-bound-switch
- /tmt/tests/tests/test-21-logically-bound-switch
/test-22-logically-bound-install:
summary: Execute logically bound images tests for switching images
/plan-22-logically-bound-install:
summary: Execute logically bound images tests for installing image
discover+:
how: fmf
test:
- /tmt/tests/test-22-logically-bound-install
- /tmt/tests/tests/test-22-logically-bound-install
/test-23-install-outside-container:
/plan-23-install-outside-container:
summary: Execute tests for installing outside of a container
discover+:
how: fmf
test:
- /tmt/tests/test-23-install-outside-container
- /tmt/tests/tests/test-23-install-outside-container
/test-24-local-upgrade-reboot:
summary: Execute local upgrade tests with automated reboot
/plan-23-usroverlay:
summary: Execute tests for bootc usrover
discover+:
how: fmf
test:
- /tmt/tests/test-24-local-upgrade-reboot
- /tmt/tests/tests/test-23-usroverlay
/test-25-soft-reboot:
summary: Soft reboot support
/plan-24-image-upgrade-reboot:
summary: Execute local upgrade tests
discover+:
how: fmf
test:
- /tmt/tests/test-25-soft-reboot
- /tmt/tests/tests/test-24-image-upgrade-reboot
extra-try_bind_storage: true
/test-28-factory-reset:
summary: Factory reset
discover:
/plan-25-soft-reboot:
summary: Execute soft reboot test
discover+:
how: fmf
test:
- /tmt/tests/test-28-factory-reset
- /tmt/tests/tests/test-25-soft-reboot
/plan-29-soft-reboot-selinux-policy:
summary: Test soft reboot with SELinux policy changes
discover+:
how: fmf
test:
- /tmt/tests/tests/test-29-soft-reboot-selinux-policy

View File

@ -1,93 +0,0 @@
#!/bin/bash
set -exuo pipefail
# Check environment
printenv
# temp folder to save building files and folders
BOOTC_TEMPDIR=$(mktemp -d)
trap 'rm -rf -- "$BOOTC_TEMPDIR"' EXIT
# Copy files and folders in hack to TEMPDIR
cp -a . "$BOOTC_TEMPDIR"
# Keep testing farm run folder
cp -r /var/ARTIFACTS "$BOOTC_TEMPDIR"
# Copy bootc repo
cp -r /var/share/test-artifacts "$BOOTC_TEMPDIR"
ARCH=$(uname -m)
# Get OS info
source /etc/os-release
# Some rhts-*, rstrnt-* and tmt-* commands are in /usr/local/bin
if [[ -d /var/lib/tmt/scripts ]]; then
cp -r /var/lib/tmt/scripts "$BOOTC_TEMPDIR"
ls -al "${BOOTC_TEMPDIR}/scripts"
else
cp -r /usr/local/bin "$BOOTC_TEMPDIR"
ls -al "${BOOTC_TEMPDIR}/bin"
fi
# Get base image URL
TEST_OS="${ID}-${VERSION_ID}"
BASE=$(jq -r --arg v "$TEST_OS" '.[$v]' < os-image-map.json)
if [[ "$ID" == "rhel" ]]; then
# OSCI gating only
CURRENT_COMPOSE_ID=$(skopeo inspect --no-tags --retry-times=5 --tls-verify=false "docker://${BASE}" | jq -r '.Labels."redhat.compose-id"')
if [[ -n ${CURRENT_COMPOSE_ID} ]]; then
if [[ ${CURRENT_COMPOSE_ID} == *-updates-* ]]; then
BATCH_COMPOSE="updates/"
else
BATCH_COMPOSE=""
fi
else
BATCH_COMPOSE="updates/"
CURRENT_COMPOSE_ID=latest-RHEL-$VERSION_ID
fi
# use latest compose if specific compose is not accessible
RC=$(curl -skIw '%{http_code}' -o /dev/null "http://${NIGHTLY_COMPOSE_SITE}/rhel-${VERSION_ID%%.*}/nightly/${BATCH_COMPOSE}RHEL-${VERSION_ID%%.*}/${CURRENT_COMPOSE_ID}/STATUS")
if [[ $RC != "200" ]]; then
CURRENT_COMPOSE_ID=latest-RHEL-${VERSION_ID%%}
fi
# generate rhel repo
tee "${BOOTC_TEMPDIR}/rhel.repo" >/dev/null <<REPOEOF
[rhel-baseos]
name=baseos
baseurl=http://${NIGHTLY_COMPOSE_SITE}/rhel-${VERSION_ID%%.*}/nightly/${BATCH_COMPOSE}RHEL-${VERSION_ID%%.*}/${CURRENT_COMPOSE_ID}/compose/BaseOS/${ARCH}/os/
enabled=1
gpgcheck=0
[rhel-appstream]
name=appstream
baseurl=http://${NIGHTLY_COMPOSE_SITE}/rhel-${VERSION_ID%%.*}/nightly/${BATCH_COMPOSE}RHEL-${VERSION_ID%%.*}/${CURRENT_COMPOSE_ID}/compose/AppStream/${ARCH}/os/
enabled=1
gpgcheck=0
REPOEOF
cp "${BOOTC_TEMPDIR}/rhel.repo" /etc/yum.repos.d
fi
ls -al /etc/yum.repos.d
cat /etc/yum.repos.d/test-artifacts.repo
ls -al /var/share/test-artifacts
# copy bootc rpm repo into image building root
cp /etc/yum.repos.d/test-artifacts.repo "$BOOTC_TEMPDIR"
# Let's check things in hack folder
ls -al "$BOOTC_TEMPDIR"
# Do not use just because it's only available on Fedora, not on CS and RHEL
podman build --jobs=4 --from "$BASE" -v "$BOOTC_TEMPDIR":/bootc-test:z -t localhost/bootc-integration -f "${BOOTC_TEMPDIR}/Containerfile.packit" "$BOOTC_TEMPDIR"
# Keep these in sync with what's used in hack/lbi
podman pull -q --retry 5 --retry-delay 5s quay.io/curl/curl:latest quay.io/curl/curl-base:latest registry.access.redhat.com/ubi9/podman:latest
# Run system-reinstall-bootc
# TODO make it more scriptable instead of expect + send
./system-reinstall-bootc.exp