From a6bc765f40401691985131ada39917fc45be70f1 Mon Sep 17 00:00:00 2001 From: Gregory Giguashvili Date: Sat, 7 Feb 2026 10:59:42 +0200 Subject: [PATCH 1/8] Update layer1-base images --- ...d.containerfile => rhel98-bootc-crel-isolated.containerfile} | 2 +- ....containerfile => rhel98-bootc-crel-optionals.containerfile} | 2 +- ...bootc-crel.containerfile => rhel98-bootc-crel.containerfile} | 2 +- .../layer1-base/group2/rhel98-bootc.image-bootc | 1 + 4 files changed, 4 insertions(+), 3 deletions(-) rename test/image-blueprints-bootc/layer1-base/group2/{rhel96-bootc-crel-isolated.containerfile => rhel98-bootc-crel-isolated.containerfile} (98%) rename test/image-blueprints-bootc/layer1-base/group2/{rhel96-bootc-crel-optionals.containerfile => rhel98-bootc-crel-optionals.containerfile} (97%) rename test/image-blueprints-bootc/layer1-base/group2/{rhel96-bootc-crel.containerfile => rhel98-bootc-crel.containerfile} (97%) create mode 100644 test/image-blueprints-bootc/layer1-base/group2/rhel98-bootc.image-bootc diff --git a/test/image-blueprints-bootc/layer1-base/group2/rhel96-bootc-crel-isolated.containerfile b/test/image-blueprints-bootc/layer1-base/group2/rhel98-bootc-crel-isolated.containerfile similarity index 98% rename from test/image-blueprints-bootc/layer1-base/group2/rhel96-bootc-crel-isolated.containerfile rename to test/image-blueprints-bootc/layer1-base/group2/rhel98-bootc-crel-isolated.containerfile index 3ce934f942..0622cb201d 100644 --- a/test/image-blueprints-bootc/layer1-base/group2/rhel96-bootc-crel-isolated.containerfile +++ b/test/image-blueprints-bootc/layer1-base/group2/rhel98-bootc-crel-isolated.containerfile @@ -1,6 +1,6 @@ # {{- if env.Getenv "CURRENT_RELEASE_VERSION" "" -}} # Note: This comment makes templating add a new line before the code -FROM localhost/rhel96-test-agent:latest +FROM localhost/rhel98-test-agent:latest # Copy repository configuration COPY ./bootc-images/microshift-fast-datapath-rhel9.repo ./bootc-images/microshift-crel.repo ./bootc-images/microshift-rhocp-y.repo \ diff --git a/test/image-blueprints-bootc/layer1-base/group2/rhel96-bootc-crel-optionals.containerfile b/test/image-blueprints-bootc/layer1-base/group2/rhel98-bootc-crel-optionals.containerfile similarity index 97% rename from test/image-blueprints-bootc/layer1-base/group2/rhel96-bootc-crel-optionals.containerfile rename to test/image-blueprints-bootc/layer1-base/group2/rhel98-bootc-crel-optionals.containerfile index f90eb9a7c7..8c89c6af96 100644 --- a/test/image-blueprints-bootc/layer1-base/group2/rhel96-bootc-crel-optionals.containerfile +++ b/test/image-blueprints-bootc/layer1-base/group2/rhel98-bootc-crel-optionals.containerfile @@ -1,6 +1,6 @@ # {{- if env.Getenv "CURRENT_RELEASE_VERSION" "" -}} # Note: This comment makes templating add a new line before the code -FROM localhost/rhel96-test-agent:latest +FROM localhost/rhel98-test-agent:latest # Copy repository configuration COPY ./bootc-images/microshift-fast-datapath-rhel9.repo ./bootc-images/microshift-crel.repo ./bootc-images/microshift-rhocp-y.repo \ diff --git a/test/image-blueprints-bootc/layer1-base/group2/rhel96-bootc-crel.containerfile b/test/image-blueprints-bootc/layer1-base/group2/rhel98-bootc-crel.containerfile similarity index 97% rename from test/image-blueprints-bootc/layer1-base/group2/rhel96-bootc-crel.containerfile rename to test/image-blueprints-bootc/layer1-base/group2/rhel98-bootc-crel.containerfile index b898187453..934f50e14c 100644 --- a/test/image-blueprints-bootc/layer1-base/group2/rhel96-bootc-crel.containerfile +++ b/test/image-blueprints-bootc/layer1-base/group2/rhel98-bootc-crel.containerfile @@ -1,6 +1,6 @@ # {{- if env.Getenv "CURRENT_RELEASE_VERSION" "" -}} # Note: This comment makes templating add a new line before the code -FROM localhost/rhel96-test-agent:latest +FROM localhost/rhel98-test-agent:latest # Copy repository configuration COPY ./bootc-images/microshift-fast-datapath-rhel9.repo ./bootc-images/microshift-crel.repo ./bootc-images/microshift-rhocp-y.repo \ diff --git a/test/image-blueprints-bootc/layer1-base/group2/rhel98-bootc.image-bootc b/test/image-blueprints-bootc/layer1-base/group2/rhel98-bootc.image-bootc new file mode 100644 index 0000000000..54c579b957 --- /dev/null +++ b/test/image-blueprints-bootc/layer1-base/group2/rhel98-bootc.image-bootc @@ -0,0 +1 @@ +registry.stage.redhat.io/rhel9/rhel-bootc:9.8 \ No newline at end of file From 0830b957487811ca516636573058e724610143f0 Mon Sep 17 00:00:00 2001 From: Gregory Giguashvili Date: Sat, 7 Feb 2026 11:01:58 +0200 Subject: [PATCH 2/8] Update layer2-presubmit images --- ...ase.containerfile => rhel98-bootc-source-base.containerfile} | 2 +- ...c-source.containerfile => rhel98-bootc-source.containerfile} | 2 +- ...-aux.containerfile => rhel98-bootc-source-aux.containerfile} | 2 +- ...erfile => rhel98-bootc-source-fake-next-minor.containerfile} | 2 +- ...ips.containerfile => rhel98-bootc-source-fips.containerfile} | 2 +- ...ontainerfile => rhel98-bootc-source-optionals.containerfile} | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) rename test/image-blueprints-bootc/layer2-presubmit/group1/{rhel96-bootc-source-base.containerfile => rhel98-bootc-source-base.containerfile} (97%) rename test/image-blueprints-bootc/layer2-presubmit/group1/{rhel96-bootc-source.containerfile => rhel98-bootc-source.containerfile} (97%) rename test/image-blueprints-bootc/layer2-presubmit/group2/{rhel96-bootc-source-aux.containerfile => rhel98-bootc-source-aux.containerfile} (63%) rename test/image-blueprints-bootc/layer2-presubmit/group2/{rhel96-bootc-source-fake-next-minor.containerfile => rhel98-bootc-source-fake-next-minor.containerfile} (94%) rename test/image-blueprints-bootc/layer2-presubmit/group2/{rhel96-bootc-source-fips.containerfile => rhel98-bootc-source-fips.containerfile} (92%) rename test/image-blueprints-bootc/layer2-presubmit/group2/{rhel96-bootc-source-optionals.containerfile => rhel98-bootc-source-optionals.containerfile} (96%) diff --git a/test/image-blueprints-bootc/layer2-presubmit/group1/rhel96-bootc-source-base.containerfile b/test/image-blueprints-bootc/layer2-presubmit/group1/rhel98-bootc-source-base.containerfile similarity index 97% rename from test/image-blueprints-bootc/layer2-presubmit/group1/rhel96-bootc-source-base.containerfile rename to test/image-blueprints-bootc/layer2-presubmit/group1/rhel98-bootc-source-base.containerfile index 038a78a79b..fcb7f2d222 100644 --- a/test/image-blueprints-bootc/layer2-presubmit/group1/rhel96-bootc-source-base.containerfile +++ b/test/image-blueprints-bootc/layer2-presubmit/group1/rhel98-bootc-source-base.containerfile @@ -1,4 +1,4 @@ -FROM localhost/rhel96-test-agent:latest +FROM localhost/rhel98-test-agent:latest # Build arguments ARG USHIFT_RPM_REPO_NAME=microshift-base diff --git a/test/image-blueprints-bootc/layer2-presubmit/group1/rhel96-bootc-source.containerfile b/test/image-blueprints-bootc/layer2-presubmit/group1/rhel98-bootc-source.containerfile similarity index 97% rename from test/image-blueprints-bootc/layer2-presubmit/group1/rhel96-bootc-source.containerfile rename to test/image-blueprints-bootc/layer2-presubmit/group1/rhel98-bootc-source.containerfile index f104ec981e..8acefeeeaf 100644 --- a/test/image-blueprints-bootc/layer2-presubmit/group1/rhel96-bootc-source.containerfile +++ b/test/image-blueprints-bootc/layer2-presubmit/group1/rhel98-bootc-source.containerfile @@ -1,4 +1,4 @@ -FROM localhost/rhel96-test-agent:latest +FROM localhost/rhel98-test-agent:latest # Build arguments ARG USHIFT_RPM_REPO_NAME=microshift-local diff --git a/test/image-blueprints-bootc/layer2-presubmit/group2/rhel96-bootc-source-aux.containerfile b/test/image-blueprints-bootc/layer2-presubmit/group2/rhel98-bootc-source-aux.containerfile similarity index 63% rename from test/image-blueprints-bootc/layer2-presubmit/group2/rhel96-bootc-source-aux.containerfile rename to test/image-blueprints-bootc/layer2-presubmit/group2/rhel98-bootc-source-aux.containerfile index c4948af360..2cf15ada5f 100644 --- a/test/image-blueprints-bootc/layer2-presubmit/group2/rhel96-bootc-source-aux.containerfile +++ b/test/image-blueprints-bootc/layer2-presubmit/group2/rhel98-bootc-source-aux.containerfile @@ -1,2 +1,2 @@ -FROM localhost/rhel96-bootc-source:latest +FROM localhost/rhel98-bootc-source:latest # Create another label for the source container image without any changes diff --git a/test/image-blueprints-bootc/layer2-presubmit/group2/rhel96-bootc-source-fake-next-minor.containerfile b/test/image-blueprints-bootc/layer2-presubmit/group2/rhel98-bootc-source-fake-next-minor.containerfile similarity index 94% rename from test/image-blueprints-bootc/layer2-presubmit/group2/rhel96-bootc-source-fake-next-minor.containerfile rename to test/image-blueprints-bootc/layer2-presubmit/group2/rhel98-bootc-source-fake-next-minor.containerfile index 5050221de1..f99b143c26 100644 --- a/test/image-blueprints-bootc/layer2-presubmit/group2/rhel96-bootc-source-fake-next-minor.containerfile +++ b/test/image-blueprints-bootc/layer2-presubmit/group2/rhel98-bootc-source-fake-next-minor.containerfile @@ -1,4 +1,4 @@ -FROM localhost/rhel96-bootc-source:latest +FROM localhost/rhel98-bootc-source:latest # Build arguments ARG USHIFT_RPM_REPO_NAME=microshift-fake-next-minor diff --git a/test/image-blueprints-bootc/layer2-presubmit/group2/rhel96-bootc-source-fips.containerfile b/test/image-blueprints-bootc/layer2-presubmit/group2/rhel98-bootc-source-fips.containerfile similarity index 92% rename from test/image-blueprints-bootc/layer2-presubmit/group2/rhel96-bootc-source-fips.containerfile rename to test/image-blueprints-bootc/layer2-presubmit/group2/rhel98-bootc-source-fips.containerfile index ff3ff731f6..64062111bd 100644 --- a/test/image-blueprints-bootc/layer2-presubmit/group2/rhel96-bootc-source-fips.containerfile +++ b/test/image-blueprints-bootc/layer2-presubmit/group2/rhel98-bootc-source-fips.containerfile @@ -1,4 +1,4 @@ -FROM localhost/rhel96-bootc-source:latest +FROM localhost/rhel98-bootc-source:latest # Add fips=1 kernel argument # See https://containers.github.io/bootc/building/kernel-arguments.html diff --git a/test/image-blueprints-bootc/layer2-presubmit/group2/rhel96-bootc-source-optionals.containerfile b/test/image-blueprints-bootc/layer2-presubmit/group2/rhel98-bootc-source-optionals.containerfile similarity index 96% rename from test/image-blueprints-bootc/layer2-presubmit/group2/rhel96-bootc-source-optionals.containerfile rename to test/image-blueprints-bootc/layer2-presubmit/group2/rhel98-bootc-source-optionals.containerfile index 90ec9e9d91..b7f1866590 100644 --- a/test/image-blueprints-bootc/layer2-presubmit/group2/rhel96-bootc-source-optionals.containerfile +++ b/test/image-blueprints-bootc/layer2-presubmit/group2/rhel98-bootc-source-optionals.containerfile @@ -1,4 +1,4 @@ -FROM localhost/rhel96-bootc-source:latest +FROM localhost/rhel98-bootc-source:latest # Build arguments ARG USHIFT_RPM_REPO_NAME=microshift-local From cb1e511a0ae68c10d2efbdd0994809946baea80f Mon Sep 17 00:00:00 2001 From: Gregory Giguashvili Date: Sat, 7 Feb 2026 11:03:35 +0200 Subject: [PATCH 3/8] Update layer3-periodic images --- ...rfile => rhel98-bootc-source-ai-model-serving.containerfile} | 2 +- ...containerfile => rhel98-bootc-source-isolated.containerfile} | 2 +- .../group2/rhel96-bootc-source-isolated.image-bootc | 1 - ...e-bootc => rhel98-bootc-source-ai-model-serving.image-bootc} | 2 +- ...s.containerfile => rhel98-bootc-source-gitops.containerfile} | 2 +- .../group2/rhel98-bootc-source-isolated.image-bootc | 1 + 6 files changed, 5 insertions(+), 5 deletions(-) rename test/image-blueprints-bootc/layer3-periodic/group1/{rhel96-bootc-source-ai-model-serving.containerfile => rhel98-bootc-source-ai-model-serving.containerfile} (99%) rename test/image-blueprints-bootc/layer3-periodic/group1/{rhel96-bootc-source-isolated.containerfile => rhel98-bootc-source-isolated.containerfile} (97%) delete mode 100644 test/image-blueprints-bootc/layer3-periodic/group2/rhel96-bootc-source-isolated.image-bootc rename test/image-blueprints-bootc/layer3-periodic/group2/{rhel96-bootc-source-ai-model-serving.image-bootc => rhel98-bootc-source-ai-model-serving.image-bootc} (59%) rename test/image-blueprints-bootc/layer3-periodic/group2/{rhel96-bootc-source-gitops.containerfile => rhel98-bootc-source-gitops.containerfile} (87%) create mode 100644 test/image-blueprints-bootc/layer3-periodic/group2/rhel98-bootc-source-isolated.image-bootc diff --git a/test/image-blueprints-bootc/layer3-periodic/group1/rhel96-bootc-source-ai-model-serving.containerfile b/test/image-blueprints-bootc/layer3-periodic/group1/rhel98-bootc-source-ai-model-serving.containerfile similarity index 99% rename from test/image-blueprints-bootc/layer3-periodic/group1/rhel96-bootc-source-ai-model-serving.containerfile rename to test/image-blueprints-bootc/layer3-periodic/group1/rhel98-bootc-source-ai-model-serving.containerfile index 23246b51c0..1656773621 100644 --- a/test/image-blueprints-bootc/layer3-periodic/group1/rhel96-bootc-source-ai-model-serving.containerfile +++ b/test/image-blueprints-bootc/layer3-periodic/group1/rhel98-bootc-source-ai-model-serving.containerfile @@ -1,6 +1,6 @@ # {{- if and (env.Getenv "UNAME_M" "") (eq "x86_64" .Env.UNAME_M) }} # Currently, RHOAI is only available for x86_64 -FROM localhost/rhel96-bootc-source:latest +FROM localhost/rhel98-bootc-source:latest # Build arguments ARG USHIFT_RPM_REPO_NAME=microshift-local diff --git a/test/image-blueprints-bootc/layer3-periodic/group1/rhel96-bootc-source-isolated.containerfile b/test/image-blueprints-bootc/layer3-periodic/group1/rhel98-bootc-source-isolated.containerfile similarity index 97% rename from test/image-blueprints-bootc/layer3-periodic/group1/rhel96-bootc-source-isolated.containerfile rename to test/image-blueprints-bootc/layer3-periodic/group1/rhel98-bootc-source-isolated.containerfile index 5bab7a3298..f3f37b3468 100644 --- a/test/image-blueprints-bootc/layer3-periodic/group1/rhel96-bootc-source-isolated.containerfile +++ b/test/image-blueprints-bootc/layer3-periodic/group1/rhel98-bootc-source-isolated.containerfile @@ -1,4 +1,4 @@ -FROM localhost/rhel96-bootc-source:latest +FROM localhost/rhel98-bootc-source:latest # The qemu-guest-agent is used in offline tests RUN dnf install -y qemu-guest-agent && \ diff --git a/test/image-blueprints-bootc/layer3-periodic/group2/rhel96-bootc-source-isolated.image-bootc b/test/image-blueprints-bootc/layer3-periodic/group2/rhel96-bootc-source-isolated.image-bootc deleted file mode 100644 index 504117eba5..0000000000 --- a/test/image-blueprints-bootc/layer3-periodic/group2/rhel96-bootc-source-isolated.image-bootc +++ /dev/null @@ -1 +0,0 @@ -localhost/rhel96-bootc-source-isolated:latest \ No newline at end of file diff --git a/test/image-blueprints-bootc/layer3-periodic/group2/rhel96-bootc-source-ai-model-serving.image-bootc b/test/image-blueprints-bootc/layer3-periodic/group2/rhel98-bootc-source-ai-model-serving.image-bootc similarity index 59% rename from test/image-blueprints-bootc/layer3-periodic/group2/rhel96-bootc-source-ai-model-serving.image-bootc rename to test/image-blueprints-bootc/layer3-periodic/group2/rhel98-bootc-source-ai-model-serving.image-bootc index f126435541..72707d185e 100644 --- a/test/image-blueprints-bootc/layer3-periodic/group2/rhel96-bootc-source-ai-model-serving.image-bootc +++ b/test/image-blueprints-bootc/layer3-periodic/group2/rhel98-bootc-source-ai-model-serving.image-bootc @@ -1,3 +1,3 @@ {{- if and (env.Getenv "UNAME_M" "") (eq "x86_64" .Env.UNAME_M) }} -localhost/rhel96-bootc-source-ai-model-serving:latest +localhost/rhel98-bootc-source-ai-model-serving:latest {{- end }} diff --git a/test/image-blueprints-bootc/layer3-periodic/group2/rhel96-bootc-source-gitops.containerfile b/test/image-blueprints-bootc/layer3-periodic/group2/rhel98-bootc-source-gitops.containerfile similarity index 87% rename from test/image-blueprints-bootc/layer3-periodic/group2/rhel96-bootc-source-gitops.containerfile rename to test/image-blueprints-bootc/layer3-periodic/group2/rhel98-bootc-source-gitops.containerfile index 7294382846..09503dabfc 100644 --- a/test/image-blueprints-bootc/layer3-periodic/group2/rhel96-bootc-source-gitops.containerfile +++ b/test/image-blueprints-bootc/layer3-periodic/group2/rhel98-bootc-source-gitops.containerfile @@ -1,4 +1,4 @@ -FROM localhost/rhel96-bootc-source:latest +FROM localhost/rhel98-bootc-source:latest # Copy repository configuration COPY ./bootc-images/microshift-gitops.repo \ diff --git a/test/image-blueprints-bootc/layer3-periodic/group2/rhel98-bootc-source-isolated.image-bootc b/test/image-blueprints-bootc/layer3-periodic/group2/rhel98-bootc-source-isolated.image-bootc new file mode 100644 index 0000000000..5ab3fd9e7c --- /dev/null +++ b/test/image-blueprints-bootc/layer3-periodic/group2/rhel98-bootc-source-isolated.image-bootc @@ -0,0 +1 @@ +localhost/rhel98-bootc-source-isolated:latest \ No newline at end of file From 0977d9ccc4ef0522aa6424c25d090b108b8bb893 Mon Sep 17 00:00:00 2001 From: Gregory Giguashvili Date: Sat, 7 Feb 2026 11:10:52 +0200 Subject: [PATCH 4/8] Update presubmit scenarios --- test/Makefile | 66 +++++++++++++++++++ ...ok.sh => el96-prel@el98-src@upgrade-ok.sh} | 4 +- ...ok.sh => el98-base@el98-src@upgrade-ok.sh} | 6 +- ... => el98-base@src@opt@delta-upgrade-ok.sh} | 14 ++-- ...sh => el98-src@ai-model-serving-online.sh} | 4 +- ...-recovery.sh => el98-src@auto-recovery.sh} | 4 +- ... el98-src@backup-and-restore-on-reboot.sh} | 4 +- ...l96-src@backups.sh => el98-src@backups.sh} | 4 +- ...iguration.sh => el98-src@configuration.sh} | 4 +- ...e-block.sh => el98-src@downgrade-block.sh} | 6 +- ...c@dual-stack.sh => el98-src@dual-stack.sh} | 4 +- ...ok.sh => el98-src@el100-src@upgrade-ok.sh} | 4 +- .../{el96-src@ipv6.sh => el98-src@ipv6.sh} | 4 +- ...src@multi-nic.sh => el98-src@multi-nic.sh} | 4 +- ...6-src@optional.sh => el98-src@optional.sh} | 4 +- ...{el96-src@router.sh => el98-src@router.sh} | 4 +- ...-suite1.sh => el98-src@standard-suite1.sh} | 6 +- ...-suite2.sh => el98-src@standard-suite2.sh} | 4 +- ...l96-src@storage.sh => el98-src@storage.sh} | 4 +- ...> el98-src@upgrade-fails-then-recovers.sh} | 6 +- ...ade-fails.sh => el98-src@upgrade-fails.sh} | 6 +- 21 files changed, 116 insertions(+), 50 deletions(-) rename test/scenarios-bootc/presubmits/{el96-prel@el96-src@upgrade-ok.sh => el96-prel@el98-src@upgrade-ok.sh} (84%) rename test/scenarios-bootc/presubmits/{el96-base@el96-src@upgrade-ok.sh => el98-base@el98-src@upgrade-ok.sh} (66%) rename test/scenarios-bootc/presubmits/{el96-base@src@opt@delta-upgrade-ok.sh => el98-base@src@opt@delta-upgrade-ok.sh} (51%) rename test/scenarios-bootc/presubmits/{el96-src@ai-model-serving-online.sh => el98-src@ai-model-serving-online.sh} (87%) rename test/scenarios-bootc/presubmits/{el96-src@auto-recovery.sh => el98-src@auto-recovery.sh} (72%) rename test/scenarios-bootc/presubmits/{el96-src@backup-and-restore-on-reboot.sh => el98-src@backup-and-restore-on-reboot.sh} (69%) rename test/scenarios-bootc/presubmits/{el96-src@backups.sh => el98-src@backups.sh} (68%) rename test/scenarios-bootc/presubmits/{el96-src@configuration.sh => el98-src@configuration.sh} (67%) rename test/scenarios-bootc/presubmits/{el96-src@downgrade-block.sh => el98-src@downgrade-block.sh} (65%) rename test/scenarios-bootc/presubmits/{el96-src@dual-stack.sh => el98-src@dual-stack.sh} (66%) rename test/scenarios-bootc/presubmits/{el96-src@el100-src@upgrade-ok.sh => el98-src@el100-src@upgrade-ok.sh} (77%) rename test/scenarios-bootc/presubmits/{el96-src@ipv6.sh => el98-src@ipv6.sh} (88%) rename test/scenarios-bootc/presubmits/{el96-src@multi-nic.sh => el98-src@multi-nic.sh} (84%) rename test/scenarios-bootc/presubmits/{el96-src@optional.sh => el98-src@optional.sh} (91%) rename test/scenarios-bootc/presubmits/{el96-src@router.sh => el98-src@router.sh} (68%) rename test/scenarios-bootc/presubmits/{el96-src@standard-suite1.sh => el98-src@standard-suite1.sh} (72%) rename test/scenarios-bootc/presubmits/{el96-src@standard-suite2.sh => el98-src@standard-suite2.sh} (67%) rename test/scenarios-bootc/presubmits/{el96-src@storage.sh => el98-src@storage.sh} (67%) rename test/scenarios-bootc/presubmits/{el96-src@upgrade-fails-then-recovers.sh => el98-src@upgrade-fails-then-recovers.sh} (65%) rename test/scenarios-bootc/presubmits/{el96-src@upgrade-fails.sh => el98-src@upgrade-fails.sh} (69%) diff --git a/test/Makefile b/test/Makefile index 41b88fe85f..580a436198 100644 --- a/test/Makefile +++ b/test/Makefile @@ -30,3 +30,69 @@ build-base-branch: .PHONY: robotidy robotidy: cd .. && make verify-rf + +#################################################### +# Testing Framework commands for local development # +#################################################### + +# +# Configuration commands +# +.PHONY: test-config-composer +test-config-composer: + ./bin/manage_composer_config.sh cleanup + ./bin/manage_composer_config.sh create + ./bin/manage_composer_config.sh create-workers + +.PHONY: test-config-hypervisor +test-config-hypervisor: + ./bin/manage_hypervisor_config.sh cleanup + ./bin/manage_hypervisor_config.sh create + +.PHONY: test-cache-download +test-cache-download: + bash -euo pipefail -c '\ + source ./bin/common.sh ; \ + export AWS_BUCKET_NAME=microshift-build-cache-us-west-2 ; \ + ./bin/manage_build_cache.sh download -b "$${SCENARIO_BUILD_BRANCH}" -t "$${SCENARIO_BUILD_TAG}" ; \ + ' + +# find_layer: finds a layer directory matching the token +# Usage: $(call find_layer,base_dir,token) +# Example: $(call find_layer,image-blueprints,base) returns ./image-blueprints/layer1-base +define find_layer +$(shell find $(1) -maxdepth 1 -type d -name '*$(2)' -print) +endef + +# +# Build commands +# +PHONY: test-build-ostree-presubmit +test-build-ostree-presubmit: + ./bin/build_images.sh -l $(call find_layer,image-blueprints,base) $(ARGS) + ./bin/build_images.sh -l $(call find_layer,image-blueprints,presubmit) $(ARGS) + +.PHONY: test-build-ostree-periodic +test-build-ostree-periodic: + ./bin/build_images.sh -l $(call find_layer,image-blueprints,periodic) $(ARGS) + +.PHONY: test-build-ostree-release +test-build-ostree-release: + ./bin/build_images.sh -l $(call find_layer,image-blueprints,release) $(ARGS) + +.PHONY: test-build-bootc-presubmit +test-build-bootc-presubmit: + ./bin/build_bootc_images.sh -l $(call find_layer,image-blueprints-bootc,base) $(ARGS) + ./bin/build_bootc_images.sh -l $(call find_layer,image-blueprints-bootc,presubmit) $(ARGS) + +.PHONY: test-build-bootc-periodic +test-build-bootc-periodic: + ./bin/build_bootc_images.sh -l $(call find_layer,image-blueprints-bootc,periodic) $(ARGS) + +.PHONY: test-build-bootc-release +test-build-bootc-release: + ./bin/build_bootc_images.sh -l $(call find_layer,image-blueprints-bootc,release) $(ARGS) + +.PHONY: test-build-bootc-upstream +test-build-bootc-upstream: + ./bin/build_bootc_images.sh -l $(call find_layer,image-blueprints-bootc,upstream) $(ARGS) diff --git a/test/scenarios-bootc/presubmits/el96-prel@el96-src@upgrade-ok.sh b/test/scenarios-bootc/presubmits/el96-prel@el98-src@upgrade-ok.sh similarity index 84% rename from test/scenarios-bootc/presubmits/el96-prel@el96-src@upgrade-ok.sh rename to test/scenarios-bootc/presubmits/el96-prel@el98-src@upgrade-ok.sh index 0dd63d289a..2467c93149 100644 --- a/test/scenarios-bootc/presubmits/el96-prel@el96-src@upgrade-ok.sh +++ b/test/scenarios-bootc/presubmits/el96-prel@el98-src@upgrade-ok.sh @@ -8,7 +8,7 @@ scenario_create_vms() { exit_if_image_not_found "${start_image}" prepare_kickstart host1 kickstart-bootc.ks.template "${start_image}" - launch_vm --boot_blueprint rhel96-bootc + launch_vm --boot_blueprint rhel98-bootc } scenario_remove_vms() { @@ -21,7 +21,7 @@ scenario_run_tests() { exit_if_image_not_found "${start_image}" run_tests host1 \ - --variable "TARGET_REF:rhel96-bootc-source" \ + --variable "TARGET_REF:rhel98-bootc-source" \ --variable "BOOTC_REGISTRY:${MIRROR_REGISTRY_URL}" \ suites/upgrade/upgrade-successful.robot } diff --git a/test/scenarios-bootc/presubmits/el96-base@el96-src@upgrade-ok.sh b/test/scenarios-bootc/presubmits/el98-base@el98-src@upgrade-ok.sh similarity index 66% rename from test/scenarios-bootc/presubmits/el96-base@el96-src@upgrade-ok.sh rename to test/scenarios-bootc/presubmits/el98-base@el98-src@upgrade-ok.sh index e0f454f5e8..16ef0efebe 100644 --- a/test/scenarios-bootc/presubmits/el96-base@el96-src@upgrade-ok.sh +++ b/test/scenarios-bootc/presubmits/el98-base@el98-src@upgrade-ok.sh @@ -3,8 +3,8 @@ # Sourced from scenario.sh and uses functions defined there. scenario_create_vms() { - prepare_kickstart host1 kickstart-bootc.ks.template rhel96-bootc-source-base - launch_vm --boot_blueprint rhel96-bootc + prepare_kickstart host1 kickstart-bootc.ks.template rhel98-bootc-source-base + launch_vm --boot_blueprint rhel98-bootc } scenario_remove_vms() { @@ -13,7 +13,7 @@ scenario_remove_vms() { scenario_run_tests() { run_tests host1 \ - --variable "TARGET_REF:rhel96-bootc-source" \ + --variable "TARGET_REF:rhel98-bootc-source" \ --variable "BOOTC_REGISTRY:${MIRROR_REGISTRY_URL}" \ suites/upgrade/upgrade-successful.robot } diff --git a/test/scenarios-bootc/presubmits/el96-base@src@opt@delta-upgrade-ok.sh b/test/scenarios-bootc/presubmits/el98-base@src@opt@delta-upgrade-ok.sh similarity index 51% rename from test/scenarios-bootc/presubmits/el96-base@src@opt@delta-upgrade-ok.sh rename to test/scenarios-bootc/presubmits/el98-base@src@opt@delta-upgrade-ok.sh index 14f9fb1012..b72937efef 100644 --- a/test/scenarios-bootc/presubmits/el96-base@src@opt@delta-upgrade-ok.sh +++ b/test/scenarios-bootc/presubmits/el98-base@src@opt@delta-upgrade-ok.sh @@ -3,8 +3,8 @@ # Sourced from scenario.sh and uses functions defined there. scenario_create_vms() { - prepare_kickstart host1 kickstart-bootc.ks.template rhel96-bootc-source-base - launch_vm --boot_blueprint rhel96-bootc + prepare_kickstart host1 kickstart-bootc.ks.template rhel98-bootc-source-base + launch_vm --boot_blueprint rhel98-bootc } scenario_remove_vms() { @@ -12,13 +12,13 @@ scenario_remove_vms() { } scenario_run_tests() { - prepare_static_delta rhel96-bootc-source-base rhel96-bootc-source - apply_static_delta rhel96-bootc-source-base rhel96-bootc-source + prepare_static_delta rhel98-bootc-source-base rhel98-bootc-source + apply_static_delta rhel98-bootc-source-base rhel98-bootc-source - prepare_static_delta rhel96-bootc-source rhel96-bootc-source-optionals - apply_static_delta rhel96-bootc-source rhel96-bootc-source-optionals + prepare_static_delta rhel98-bootc-source rhel98-bootc-source-optionals + apply_static_delta rhel98-bootc-source rhel98-bootc-source-optionals - for ref in rhel96-bootc-source-from-sdelta rhel96-bootc-source-optionals-from-sdelta ; do + for ref in rhel98-bootc-source-from-sdelta rhel98-bootc-source-optionals-from-sdelta ; do run_tests host1 \ --variable "TARGET_REF:${ref}" \ --variable "BOOTC_REGISTRY:${MIRROR_REGISTRY_URL}" \ diff --git a/test/scenarios-bootc/presubmits/el96-src@ai-model-serving-online.sh b/test/scenarios-bootc/presubmits/el98-src@ai-model-serving-online.sh similarity index 87% rename from test/scenarios-bootc/presubmits/el96-src@ai-model-serving-online.sh rename to test/scenarios-bootc/presubmits/el98-src@ai-model-serving-online.sh index 3ecc1ae11d..dfba95cfd7 100644 --- a/test/scenarios-bootc/presubmits/el96-src@ai-model-serving-online.sh +++ b/test/scenarios-bootc/presubmits/el98-src@ai-model-serving-online.sh @@ -18,8 +18,8 @@ scenario_create_vms() { check_platform true # Increased disk size because of the additional embedded images (especially OVMS which is ~3.5GiB) - LVM_SYSROOT_SIZE=20480 prepare_kickstart host1 kickstart-bootc.ks.template rhel96-bootc-source-optionals - launch_vm --boot_blueprint rhel96-bootc --vm_disksize 30 + LVM_SYSROOT_SIZE=20480 prepare_kickstart host1 kickstart-bootc.ks.template rhel98-bootc-source-optionals + launch_vm --boot_blueprint rhel98-bootc --vm_disksize 30 } scenario_remove_vms() { diff --git a/test/scenarios-bootc/presubmits/el96-src@auto-recovery.sh b/test/scenarios-bootc/presubmits/el98-src@auto-recovery.sh similarity index 72% rename from test/scenarios-bootc/presubmits/el96-src@auto-recovery.sh rename to test/scenarios-bootc/presubmits/el98-src@auto-recovery.sh index fdcaadf92d..0501f42808 100644 --- a/test/scenarios-bootc/presubmits/el96-src@auto-recovery.sh +++ b/test/scenarios-bootc/presubmits/el98-src@auto-recovery.sh @@ -3,8 +3,8 @@ # Sourced from scenario.sh and uses functions defined there. scenario_create_vms() { - prepare_kickstart host1 kickstart-bootc.ks.template rhel96-bootc-source - launch_vm --boot_blueprint rhel96-bootc + prepare_kickstart host1 kickstart-bootc.ks.template rhel98-bootc-source + launch_vm --boot_blueprint rhel98-bootc } scenario_remove_vms() { diff --git a/test/scenarios-bootc/presubmits/el96-src@backup-and-restore-on-reboot.sh b/test/scenarios-bootc/presubmits/el98-src@backup-and-restore-on-reboot.sh similarity index 69% rename from test/scenarios-bootc/presubmits/el96-src@backup-and-restore-on-reboot.sh rename to test/scenarios-bootc/presubmits/el98-src@backup-and-restore-on-reboot.sh index e85f3a12a8..4803929f1a 100644 --- a/test/scenarios-bootc/presubmits/el96-src@backup-and-restore-on-reboot.sh +++ b/test/scenarios-bootc/presubmits/el98-src@backup-and-restore-on-reboot.sh @@ -3,8 +3,8 @@ # Sourced from scenario.sh and uses functions defined there. scenario_create_vms() { - prepare_kickstart host1 kickstart-bootc.ks.template rhel96-bootc-source - launch_vm --boot_blueprint rhel96-bootc + prepare_kickstart host1 kickstart-bootc.ks.template rhel98-bootc-source + launch_vm --boot_blueprint rhel98-bootc } scenario_remove_vms() { diff --git a/test/scenarios-bootc/presubmits/el96-src@backups.sh b/test/scenarios-bootc/presubmits/el98-src@backups.sh similarity index 68% rename from test/scenarios-bootc/presubmits/el96-src@backups.sh rename to test/scenarios-bootc/presubmits/el98-src@backups.sh index 296e4fde58..80a443461e 100644 --- a/test/scenarios-bootc/presubmits/el96-src@backups.sh +++ b/test/scenarios-bootc/presubmits/el98-src@backups.sh @@ -3,8 +3,8 @@ # Sourced from scenario.sh and uses functions defined there. scenario_create_vms() { - prepare_kickstart host1 kickstart-bootc.ks.template rhel96-bootc-source - launch_vm --boot_blueprint rhel96-bootc + prepare_kickstart host1 kickstart-bootc.ks.template rhel98-bootc-source + launch_vm --boot_blueprint rhel98-bootc } scenario_remove_vms() { diff --git a/test/scenarios-bootc/presubmits/el96-src@configuration.sh b/test/scenarios-bootc/presubmits/el98-src@configuration.sh similarity index 67% rename from test/scenarios-bootc/presubmits/el96-src@configuration.sh rename to test/scenarios-bootc/presubmits/el98-src@configuration.sh index f71985c4de..cfd6c974cf 100644 --- a/test/scenarios-bootc/presubmits/el96-src@configuration.sh +++ b/test/scenarios-bootc/presubmits/el98-src@configuration.sh @@ -3,8 +3,8 @@ # Sourced from scenario.sh and uses functions defined there. scenario_create_vms() { - prepare_kickstart host1 kickstart-bootc.ks.template rhel96-bootc-source - launch_vm --boot_blueprint rhel96-bootc + prepare_kickstart host1 kickstart-bootc.ks.template rhel98-bootc-source + launch_vm --boot_blueprint rhel98-bootc } scenario_remove_vms() { diff --git a/test/scenarios-bootc/presubmits/el96-src@downgrade-block.sh b/test/scenarios-bootc/presubmits/el98-src@downgrade-block.sh similarity index 65% rename from test/scenarios-bootc/presubmits/el96-src@downgrade-block.sh rename to test/scenarios-bootc/presubmits/el98-src@downgrade-block.sh index 892390b039..a2a8db5eee 100644 --- a/test/scenarios-bootc/presubmits/el96-src@downgrade-block.sh +++ b/test/scenarios-bootc/presubmits/el98-src@downgrade-block.sh @@ -3,8 +3,8 @@ # Sourced from scenario.sh and uses functions defined there. scenario_create_vms() { - prepare_kickstart host1 kickstart-bootc.ks.template rhel96-bootc-source-fake-next-minor - launch_vm --boot_blueprint rhel96-bootc + prepare_kickstart host1 kickstart-bootc.ks.template rhel98-bootc-source-fake-next-minor + launch_vm --boot_blueprint rhel98-bootc } scenario_remove_vms() { @@ -13,7 +13,7 @@ scenario_remove_vms() { scenario_run_tests() { run_tests host1 \ - --variable "OLDER_MICROSHIFT_REF:rhel96-bootc-source" \ + --variable "OLDER_MICROSHIFT_REF:rhel98-bootc-source" \ --variable "BOOTC_REGISTRY:${MIRROR_REGISTRY_URL}" \ suites/upgrade/downgrade-block.robot } diff --git a/test/scenarios-bootc/presubmits/el96-src@dual-stack.sh b/test/scenarios-bootc/presubmits/el98-src@dual-stack.sh similarity index 66% rename from test/scenarios-bootc/presubmits/el96-src@dual-stack.sh rename to test/scenarios-bootc/presubmits/el98-src@dual-stack.sh index b1267588c3..e55680c6ae 100644 --- a/test/scenarios-bootc/presubmits/el96-src@dual-stack.sh +++ b/test/scenarios-bootc/presubmits/el98-src@dual-stack.sh @@ -3,8 +3,8 @@ # Sourced from scenario.sh and uses functions defined there. scenario_create_vms() { - prepare_kickstart host1 kickstart-bootc.ks.template rhel96-bootc-source - launch_vm --boot_blueprint rhel96-bootc --network "${VM_DUAL_STACK_NETWORK}" + prepare_kickstart host1 kickstart-bootc.ks.template rhel98-bootc-source + launch_vm --boot_blueprint rhel98-bootc --network "${VM_DUAL_STACK_NETWORK}" } scenario_remove_vms() { diff --git a/test/scenarios-bootc/presubmits/el96-src@el100-src@upgrade-ok.sh b/test/scenarios-bootc/presubmits/el98-src@el100-src@upgrade-ok.sh similarity index 77% rename from test/scenarios-bootc/presubmits/el96-src@el100-src@upgrade-ok.sh rename to test/scenarios-bootc/presubmits/el98-src@el100-src@upgrade-ok.sh index 4c5a9f5d8f..e8ea1f391d 100644 --- a/test/scenarios-bootc/presubmits/el96-src@el100-src@upgrade-ok.sh +++ b/test/scenarios-bootc/presubmits/el98-src@el100-src@upgrade-ok.sh @@ -3,8 +3,8 @@ # Sourced from scenario.sh and uses functions defined there. scenario_create_vms() { - prepare_kickstart host1 kickstart-bootc.ks.template rhel96-bootc-source - launch_vm --boot_blueprint rhel96-bootc + prepare_kickstart host1 kickstart-bootc.ks.template rhel98-bootc-source + launch_vm --boot_blueprint rhel98-bootc } scenario_remove_vms() { diff --git a/test/scenarios-bootc/presubmits/el96-src@ipv6.sh b/test/scenarios-bootc/presubmits/el98-src@ipv6.sh similarity index 88% rename from test/scenarios-bootc/presubmits/el96-src@ipv6.sh rename to test/scenarios-bootc/presubmits/el98-src@ipv6.sh index 5f141e7642..c2d71880f2 100644 --- a/test/scenarios-bootc/presubmits/el96-src@ipv6.sh +++ b/test/scenarios-bootc/presubmits/el98-src@ipv6.sh @@ -16,8 +16,8 @@ MIRROR_REGISTRY_URL="$(hostname):${MIRROR_REGISTRY_PORT}/microshift" scenario_create_vms() { # Enable IPv6 single stack in kickstart - prepare_kickstart host1 kickstart-bootc.ks.template rhel96-bootc-source false true - launch_vm --boot_blueprint rhel96-bootc --network "${VM_IPV6_NETWORK}" + prepare_kickstart host1 kickstart-bootc.ks.template rhel98-bootc-source false true + launch_vm --boot_blueprint rhel98-bootc --network "${VM_IPV6_NETWORK}" } scenario_remove_vms() { diff --git a/test/scenarios-bootc/presubmits/el96-src@multi-nic.sh b/test/scenarios-bootc/presubmits/el98-src@multi-nic.sh similarity index 84% rename from test/scenarios-bootc/presubmits/el96-src@multi-nic.sh rename to test/scenarios-bootc/presubmits/el98-src@multi-nic.sh index b674a91231..1b4e21ea9d 100644 --- a/test/scenarios-bootc/presubmits/el96-src@multi-nic.sh +++ b/test/scenarios-bootc/presubmits/el98-src@multi-nic.sh @@ -3,9 +3,9 @@ # Sourced from scenario.sh and uses functions defined there. scenario_create_vms() { - prepare_kickstart host1 kickstart-bootc.ks.template rhel96-bootc-source + prepare_kickstart host1 kickstart-bootc.ks.template rhel98-bootc-source # Using multus as secondary network to have 2 nics in different networks. - launch_vm --boot_blueprint rhel96-bootc --network default,"${VM_MULTUS_NETWORK}" + launch_vm --boot_blueprint rhel98-bootc --network default,"${VM_MULTUS_NETWORK}" } scenario_remove_vms() { diff --git a/test/scenarios-bootc/presubmits/el96-src@optional.sh b/test/scenarios-bootc/presubmits/el98-src@optional.sh similarity index 91% rename from test/scenarios-bootc/presubmits/el96-src@optional.sh rename to test/scenarios-bootc/presubmits/el98-src@optional.sh index a3033c5db8..6e3ffc8dcf 100644 --- a/test/scenarios-bootc/presubmits/el96-src@optional.sh +++ b/test/scenarios-bootc/presubmits/el98-src@optional.sh @@ -13,9 +13,9 @@ scenario_create_vms() { if [[ "${UNAME_M}" =~ aarch64 ]]; then networks="${VM_MULTUS_NETWORK},${VM_MULTUS_NETWORK}" fi - LVM_SYSROOT_SIZE=20480 prepare_kickstart host1 kickstart-bootc.ks.template rhel96-bootc-source-optionals + LVM_SYSROOT_SIZE=20480 prepare_kickstart host1 kickstart-bootc.ks.template rhel98-bootc-source-optionals # Three nics - one for sriov, one for macvlan, another for ipvlan (they cannot enslave the same interface) - launch_vm --boot_blueprint rhel96-bootc --network "${networks}" --vm_disksize 25 --vm_vcpus 4 + launch_vm --boot_blueprint rhel98-bootc --network "${networks}" --vm_disksize 25 --vm_vcpus 4 } scenario_remove_vms() { diff --git a/test/scenarios-bootc/presubmits/el96-src@router.sh b/test/scenarios-bootc/presubmits/el98-src@router.sh similarity index 68% rename from test/scenarios-bootc/presubmits/el96-src@router.sh rename to test/scenarios-bootc/presubmits/el98-src@router.sh index 59dec2a94a..52cbaaae28 100644 --- a/test/scenarios-bootc/presubmits/el96-src@router.sh +++ b/test/scenarios-bootc/presubmits/el98-src@router.sh @@ -3,8 +3,8 @@ # Sourced from scenario.sh and uses functions defined there. scenario_create_vms() { - prepare_kickstart host1 kickstart-bootc.ks.template rhel96-bootc-source - launch_vm --boot_blueprint rhel96-bootc + prepare_kickstart host1 kickstart-bootc.ks.template rhel98-bootc-source + launch_vm --boot_blueprint rhel98-bootc } scenario_remove_vms() { diff --git a/test/scenarios-bootc/presubmits/el96-src@standard-suite1.sh b/test/scenarios-bootc/presubmits/el98-src@standard-suite1.sh similarity index 72% rename from test/scenarios-bootc/presubmits/el96-src@standard-suite1.sh rename to test/scenarios-bootc/presubmits/el98-src@standard-suite1.sh index 558784fcd9..4bfea866c1 100644 --- a/test/scenarios-bootc/presubmits/el96-src@standard-suite1.sh +++ b/test/scenarios-bootc/presubmits/el98-src@standard-suite1.sh @@ -3,8 +3,8 @@ # Sourced from scenario.sh and uses functions defined there. scenario_create_vms() { - prepare_kickstart host1 kickstart-bootc.ks.template rhel96-bootc-source - launch_vm --boot_blueprint rhel96-bootc + prepare_kickstart host1 kickstart-bootc.ks.template rhel98-bootc-source + launch_vm --boot_blueprint rhel98-bootc } scenario_remove_vms() { @@ -15,7 +15,7 @@ scenario_run_tests() { # The SYNC_FREQUENCY is set to a shorter-than-default value to speed up # pre-submit scenario completion time in DNS tests. run_tests host1 \ - --variable "EXPECTED_OS_VERSION:9.6" \ + --variable "EXPECTED_OS_VERSION:9.8" \ --variable "SYNC_FREQUENCY:5s" \ suites/standard1/ } diff --git a/test/scenarios-bootc/presubmits/el96-src@standard-suite2.sh b/test/scenarios-bootc/presubmits/el98-src@standard-suite2.sh similarity index 67% rename from test/scenarios-bootc/presubmits/el96-src@standard-suite2.sh rename to test/scenarios-bootc/presubmits/el98-src@standard-suite2.sh index cd802eabf7..f56df46424 100644 --- a/test/scenarios-bootc/presubmits/el96-src@standard-suite2.sh +++ b/test/scenarios-bootc/presubmits/el98-src@standard-suite2.sh @@ -3,8 +3,8 @@ # Sourced from scenario.sh and uses functions defined there. scenario_create_vms() { - prepare_kickstart host1 kickstart-bootc.ks.template rhel96-bootc-source - launch_vm --boot_blueprint rhel96-bootc + prepare_kickstart host1 kickstart-bootc.ks.template rhel98-bootc-source + launch_vm --boot_blueprint rhel98-bootc } scenario_remove_vms() { diff --git a/test/scenarios-bootc/presubmits/el96-src@storage.sh b/test/scenarios-bootc/presubmits/el98-src@storage.sh similarity index 67% rename from test/scenarios-bootc/presubmits/el96-src@storage.sh rename to test/scenarios-bootc/presubmits/el98-src@storage.sh index 0bf54cd542..bb266bddca 100644 --- a/test/scenarios-bootc/presubmits/el96-src@storage.sh +++ b/test/scenarios-bootc/presubmits/el98-src@storage.sh @@ -3,8 +3,8 @@ # Sourced from scenario.sh and uses functions defined there. scenario_create_vms() { - prepare_kickstart host1 kickstart-bootc.ks.template rhel96-bootc-source - launch_vm --boot_blueprint rhel96-bootc + prepare_kickstart host1 kickstart-bootc.ks.template rhel98-bootc-source + launch_vm --boot_blueprint rhel98-bootc } scenario_remove_vms() { diff --git a/test/scenarios-bootc/presubmits/el96-src@upgrade-fails-then-recovers.sh b/test/scenarios-bootc/presubmits/el98-src@upgrade-fails-then-recovers.sh similarity index 65% rename from test/scenarios-bootc/presubmits/el96-src@upgrade-fails-then-recovers.sh rename to test/scenarios-bootc/presubmits/el98-src@upgrade-fails-then-recovers.sh index 9f8010e634..9184caa7a8 100644 --- a/test/scenarios-bootc/presubmits/el96-src@upgrade-fails-then-recovers.sh +++ b/test/scenarios-bootc/presubmits/el98-src@upgrade-fails-then-recovers.sh @@ -3,8 +3,8 @@ # Sourced from scenario.sh and uses functions defined there. scenario_create_vms() { - prepare_kickstart host1 kickstart-bootc.ks.template rhel96-bootc-source - launch_vm --boot_blueprint rhel96-bootc + prepare_kickstart host1 kickstart-bootc.ks.template rhel98-bootc-source + launch_vm --boot_blueprint rhel98-bootc } scenario_remove_vms() { @@ -13,7 +13,7 @@ scenario_remove_vms() { scenario_run_tests() { run_tests host1 \ - --variable "TARGET_REF:rhel96-bootc-source-fake-next-minor" \ + --variable "TARGET_REF:rhel98-bootc-source-fake-next-minor" \ --variable "BOOTC_REGISTRY:${MIRROR_REGISTRY_URL}" \ suites/upgrade/upgrade-fails-then-recovers.robot } diff --git a/test/scenarios-bootc/presubmits/el96-src@upgrade-fails.sh b/test/scenarios-bootc/presubmits/el98-src@upgrade-fails.sh similarity index 69% rename from test/scenarios-bootc/presubmits/el96-src@upgrade-fails.sh rename to test/scenarios-bootc/presubmits/el98-src@upgrade-fails.sh index 2108cef476..22e0c053bd 100644 --- a/test/scenarios-bootc/presubmits/el96-src@upgrade-fails.sh +++ b/test/scenarios-bootc/presubmits/el98-src@upgrade-fails.sh @@ -3,8 +3,8 @@ # Sourced from scenario.sh and uses functions defined there. scenario_create_vms() { - prepare_kickstart host1 kickstart-bootc.ks.template rhel96-bootc-source - launch_vm --boot_blueprint rhel96-bootc + prepare_kickstart host1 kickstart-bootc.ks.template rhel98-bootc-source + launch_vm --boot_blueprint rhel98-bootc } scenario_remove_vms() { @@ -13,7 +13,7 @@ scenario_remove_vms() { scenario_run_tests() { run_tests host1 \ - --variable "FAILING_REF:rhel96-bootc-source-aux" \ + --variable "FAILING_REF:rhel98-bootc-source-aux" \ --variable "REASON:fail_greenboot" \ --variable "BOOTC_REGISTRY:${MIRROR_REGISTRY_URL}" \ suites/upgrade/upgrade-fails-and-rolls-back.robot From 01cab47f15bb4bc270ff9fbcb5ac8da1aa6a3898 Mon Sep 17 00:00:00 2001 From: Gregory Giguashvili Date: Mon, 9 Feb 2026 12:47:09 +0200 Subject: [PATCH 5/8] Switch to using local proxy for accessing OCP mirror --- test/bin/common.sh | 2 +- test/bin/manage_webserver.sh | 45 ++++++++++++++----- .../group2/rhel98-bootc.image-bootc | 7 ++- test/package-sources-bootc/rhel98-mirror.repo | 9 ++-- 4 files changed, 45 insertions(+), 18 deletions(-) diff --git a/test/bin/common.sh b/test/bin/common.sh index d915f254c1..edb237fdd0 100644 --- a/test/bin/common.sh +++ b/test/bin/common.sh @@ -191,7 +191,7 @@ WEB_SERVER_PORT=8080 # Web server URL using VM bridge IP with fallback to host name # shellcheck disable=SC2034 # used elsewhere -WEB_SERVER_URL="http://${VM_BRIDGE_IP:-$(hostname)}:${WEB_SERVER_PORT}" +export WEB_SERVER_URL="http://${VM_BRIDGE_IP:-$(hostname)}:${WEB_SERVER_PORT}" # Mirror registry port number export MIRROR_REGISTRY_PORT=5000 diff --git a/test/bin/manage_webserver.sh b/test/bin/manage_webserver.sh index 75257a7d71..0da6840845 100755 --- a/test/bin/manage_webserver.sh +++ b/test/bin/manage_webserver.sh @@ -9,13 +9,15 @@ SCRIPTDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" # shellcheck source=test/bin/common.sh source "${SCRIPTDIR}/common.sh" +NGINX_CONFIG="${IMAGEDIR}/nginx.conf" + usage() { cat - </dev/null ; do + sleep 1 + done } action_start() { @@ -33,7 +37,6 @@ action_start() { mkdir -p "${IMAGEDIR}" cd "${IMAGEDIR}" - NGINX_CONFIG="${IMAGEDIR}/nginx.conf" # See the https://nginx.org/en/docs/http/ngx_http_core_module.html page for # a full list of HTTP configuration directives cat > "${NGINX_CONFIG}" </dev/null ; do - sleep 1 - done - + # Restart the nginx web server + action_stop nginx \ -c "${NGINX_CONFIG}" \ -e "${IMAGEDIR}/nginx.log" } +setup_ocp_mirror_proxy() { + # Check for the presence of the OCP mirror credentials files + if ! [ -f "${OCP_MIRROR_USERNAME_FILE:-}" ] || ! [ -f "${OCP_MIRROR_PASSWORD_FILE:-}" ]; then + return + fi + + # Create the basic auth credentials for the OCP mirror + local -r auth_user="$(cat "${OCP_MIRROR_USERNAME_FILE:-}" | tr -d '\n')" + local -r auth_pass="$(cat "${OCP_MIRROR_PASSWORD_FILE:-}" | tr -d '\n')" + local -r auth_cred="$(echo -n "${auth_user}:${auth_pass}" | base64 -w0)" + + # Print the nginx configuration for the OCP mirror proxy + cat < Date: Mon, 9 Feb 2026 16:00:02 +0200 Subject: [PATCH 6/8] Prefetch all images before running bib --- test/bin/pyutils/build_bootc_images.py | 35 ++++++++------------------ 1 file changed, 11 insertions(+), 24 deletions(-) diff --git a/test/bin/pyutils/build_bootc_images.py b/test/bin/pyutils/build_bootc_images.py index 88428fda01..d7cf1e5751 100644 --- a/test/bin/pyutils/build_bootc_images.py +++ b/test/bin/pyutils/build_bootc_images.py @@ -284,25 +284,12 @@ def should_skip(image, cached): # Note: # - The pull secret is necessary in some builds for pulling embedded # container images referenced in release-info RPMs - # - The OpenShift mirror repository credentials are optional and are used - # for accessing pre-release RHEL RPM repositories. # - The explicit push-to-mirror sets the 'latest' tag as all the build # layers are in the mirror due to 'cache-to' option build_args = [ "sudo", "podman", "build", "--authfile", PULL_SECRET, - "--secret", f"id=pullsecret,src={PULL_SECRET}" - ] - - ocp_mirror_ufile = common.get_env_var('OCP_MIRROR_USERNAME_FILE') - ocp_mirror_pfile = common.get_env_var('OCP_MIRROR_PASSWORD_FILE') - if common.file_has_valid_lines(ocp_mirror_ufile) and common.file_has_valid_lines(ocp_mirror_pfile): - common.print_msg(f"Using OpenShift mirror repository credentials from '{ocp_mirror_ufile}' and '{ocp_mirror_pfile}'") - build_args += [ - "--volume", f"{ocp_mirror_ufile}:/etc/dnf/vars/ocp_mirror_username:z", - "--volume", f"{ocp_mirror_pfile}:/etc/dnf/vars/ocp_mirror_password:z" - ] - build_args += [ + "--secret", f"id=pullsecret,src={PULL_SECRET}", "--cache-to", f"{MIRROR_REGISTRY}/{cf_outname}", "--cache-from", f"{MIRROR_REGISTRY}/{cf_outname}", "-t", cf_outname, "-f", cf_outfile, @@ -381,15 +368,16 @@ def should_skip(file): # Read the image reference bf_imgref = common.read_file_valid_lines(bf_outfile).strip() - # If not already local, download the image to be used by bootc image builder - if not bf_imgref.startswith('localhost/'): - pull_args = [ - "sudo", "podman", "pull", - "--authfile", PULL_SECRET, bf_imgref - ] - start = time.time() - common.retry_on_exception(3, common.run_command_in_shell, pull_args, dry_run, logfile, logfile) - common.record_junit(bf_path, "pull-bootc-image", "OK", start) + # Download the image to be used by bootc image builder. + # Locally built images should also be downloaded in case they were + # cached but not fetched from the mirror registry. + pull_args = [ + "sudo", "podman", "pull", + "--authfile", PULL_SECRET, bf_imgref + ] + start = time.time() + common.retry_on_exception(3, common.run_command_in_shell, pull_args, dry_run, logfile, logfile) + common.record_junit(bf_path, "pull-bootc-image", "OK", start) # The podman command with security elevation and # mount of output / container storage @@ -405,7 +393,6 @@ def should_skip(file): build_args += [ BIB_IMAGE, "--type", "anaconda-iso", - "--local", bf_imgref ] start = time.time() From 25b49e73a3937baafc256186fbd909a2c0e473f8 Mon Sep 17 00:00:00 2001 From: Gregory Giguashvili Date: Wed, 11 Feb 2026 08:00:07 +0200 Subject: [PATCH 7/8] Use host network for bootc image builds for proxy access --- test/bin/common.sh | 2 +- test/bin/pyutils/build_bootc_images.py | 8 +++++++- test/package-sources-bootc/rhel98-mirror.repo | 4 ++-- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/test/bin/common.sh b/test/bin/common.sh index edb237fdd0..7155c21eb2 100644 --- a/test/bin/common.sh +++ b/test/bin/common.sh @@ -187,7 +187,7 @@ get_vm_bridge_ip() { VM_BRIDGE_IP="$(get_vm_bridge_ip "default")" # Web server port number -WEB_SERVER_PORT=8080 +export WEB_SERVER_PORT=8080 # Web server URL using VM bridge IP with fallback to host name # shellcheck disable=SC2034 # used elsewhere diff --git a/test/bin/pyutils/build_bootc_images.py b/test/bin/pyutils/build_bootc_images.py index d7cf1e5751..b6a3b523fb 100644 --- a/test/bin/pyutils/build_bootc_images.py +++ b/test/bin/pyutils/build_bootc_images.py @@ -284,11 +284,15 @@ def should_skip(image, cached): # Note: # - The pull secret is necessary in some builds for pulling embedded # container images referenced in release-info RPMs + # - The host network usage is required to access the RPM repository + # proxy server using the localhost URL to make generated builds + # reusable from cache on other hosts. # - The explicit push-to-mirror sets the 'latest' tag as all the build # layers are in the mirror due to 'cache-to' option build_args = [ "sudo", "podman", "build", "--authfile", PULL_SECRET, + "--network", "host", "--secret", f"id=pullsecret,src={PULL_SECRET}", "--cache-to", f"{MIRROR_REGISTRY}/{cf_outname}", "--cache-from", f"{MIRROR_REGISTRY}/{cf_outname}", @@ -373,7 +377,8 @@ def should_skip(file): # cached but not fetched from the mirror registry. pull_args = [ "sudo", "podman", "pull", - "--authfile", PULL_SECRET, bf_imgref + "--authfile", PULL_SECRET, + bf_imgref ] start = time.time() common.retry_on_exception(3, common.run_command_in_shell, pull_args, dry_run, logfile, logfile) @@ -384,6 +389,7 @@ def should_skip(file): build_args = [ "sudo", "podman", "run", "--rm", "-i", "--privileged", + "--network", "host", "--pull=newer", "--security-opt", "label=type:unconfined_t", "-v", f"{bf_outdir}:/output", diff --git a/test/package-sources-bootc/rhel98-mirror.repo b/test/package-sources-bootc/rhel98-mirror.repo index e1cd445a79..0a0eab5fd7 100644 --- a/test/package-sources-bootc/rhel98-mirror.repo +++ b/test/package-sources-bootc/rhel98-mirror.repo @@ -1,7 +1,7 @@ [rhel-9.8-appstream] name = rhel-9.8-appstream -baseurl = {{ .Env.WEB_SERVER_URL }}/ocp-mirror/reposync/4.22{{ if eq .Env.UNAME_M "aarch64" }}_aarch64{{ end }}/rhel-98-appstream +baseurl = http://localhost:{{ .Env.WEB_SERVER_PORT }}/ocp-mirror/reposync/4.22{{ if eq .Env.UNAME_M "aarch64" }}_aarch64{{ end }}/rhel-98-appstream enabled = 1 sslverify = false gpgcheck = 0 @@ -9,7 +9,7 @@ skip_if_unavailable = false [rhel-9.8-baseos] name = rhel-9.8-baseos -baseurl = {{ .Env.WEB_SERVER_URL }}/ocp-mirror/reposync/4.22{{ if eq .Env.UNAME_M "aarch64" }}_aarch64{{ end }}/rhel-98-baseos +baseurl = http://localhost:{{ .Env.WEB_SERVER_PORT }}/ocp-mirror/reposync/4.22{{ if eq .Env.UNAME_M "aarch64" }}_aarch64{{ end }}/rhel-98-baseos enabled = 1 sslverify = false gpgcheck = 0 From e63bdd777ea652271ebf43a1154e925f9f568767 Mon Sep 17 00:00:00 2001 From: Gregory Giguashvili Date: Wed, 11 Feb 2026 09:15:24 +0200 Subject: [PATCH 8/8] Minor changes in web server messages --- test/Makefile | 8 +++++++- test/bin/manage_webserver.sh | 3 ++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/test/Makefile b/test/Makefile index 580a436198..403e1c8f16 100644 --- a/test/Makefile +++ b/test/Makefile @@ -33,7 +33,7 @@ robotidy: #################################################### # Testing Framework commands for local development # -#################################################### +#################################################### # # Configuration commands @@ -67,6 +67,12 @@ endef # # Build commands # +.PHONY: test-build-registry-clean +test-build-registry-clean: + ./bin/manage_composer_config.sh cleanup + rm -rf "$(REPO)/_output/test-images/mirror-registry" + ./bin/manage_webserver.sh start + PHONY: test-build-ostree-presubmit test-build-ostree-presubmit: ./bin/build_images.sh -l $(call find_layer,image-blueprints,base) $(ARGS) diff --git a/test/bin/manage_webserver.sh b/test/bin/manage_webserver.sh index 414b99b31c..5c5fc907b1 100755 --- a/test/bin/manage_webserver.sh +++ b/test/bin/manage_webserver.sh @@ -33,7 +33,6 @@ action_stop() { } action_start() { - echo "Starting web server in ${IMAGEDIR}" mkdir -p "${IMAGEDIR}" cd "${IMAGEDIR}" @@ -76,6 +75,8 @@ EOF # Restart the nginx web server action_stop + + echo "Starting web server in ${IMAGEDIR}" nginx \ -c "${NGINX_CONFIG}" \ -e "${IMAGEDIR}/nginx.log"