From a48c67880ea3c7d5ee89bc02a1bde96c8ccba8ce Mon Sep 17 00:00:00 2001 From: Alejandro Gullon Date: Mon, 27 Apr 2026 13:15:38 +0200 Subject: [PATCH 1/7] NO-JIRA: remove standalone TLS v1.3 scenarios TLS v1.3 enforcement is a transport-layer concern validated by multi-config-standard1 which already applies TLS v1.3 and runs standard1 tests. Dedicated TLS v1.3 scenarios for standard1/standard2 are redundant. Also remove --exclude version from multi-config-standard1 so that version tests now run there, and drop the stale comment that referenced the old exclusion. Removes 6 VMs (2 per platform: el9/el10 bootc, ostree). Co-Authored-By: Claude Opus 4.6 pre-commit.check-secrets: ENABLED --- .../el102-lrel@multi-config-standard1.sh | 2 - .../releases/el102-lrel@tlsv13-standard1.sh | 47 ------------------ .../releases/el102-lrel@tlsv13-standard2.sh | 45 ----------------- .../el98-lrel@multi-config-standard1.sh | 2 - .../releases/el98-lrel@tlsv13-standard1.sh | 47 ------------------ .../releases/el98-lrel@tlsv13-standard2.sh | 45 ----------------- .../releases/el98-lrel@tlsv13-standard1.sh | 48 ------------------- .../releases/el98-lrel@tlsv13-standard2.sh | 46 ------------------ 8 files changed, 282 deletions(-) delete mode 100644 test/scenarios-bootc/el10/releases/el102-lrel@tlsv13-standard1.sh delete mode 100644 test/scenarios-bootc/el10/releases/el102-lrel@tlsv13-standard2.sh delete mode 100644 test/scenarios-bootc/el9/releases/el98-lrel@tlsv13-standard1.sh delete mode 100644 test/scenarios-bootc/el9/releases/el98-lrel@tlsv13-standard2.sh delete mode 100644 test/scenarios/releases/el98-lrel@tlsv13-standard1.sh delete mode 100644 test/scenarios/releases/el98-lrel@tlsv13-standard2.sh diff --git a/test/scenarios-bootc/el10/releases/el102-lrel@multi-config-standard1.sh b/test/scenarios-bootc/el10/releases/el102-lrel@multi-config-standard1.sh index d6576b3f40..7ff48b910e 100644 --- a/test/scenarios-bootc/el10/releases/el102-lrel@multi-config-standard1.sh +++ b/test/scenarios-bootc/el10/releases/el102-lrel@multi-config-standard1.sh @@ -93,11 +93,9 @@ EOF" echo "INFO: Cleaning up LVMS workloads..." run_command_on_vm host1 'bash -s' < "${TESTDIR}/../scripts/lvms-helpers/cleanupWorkload.sh" - # Run all standard1 tests except version (which requires RPM install verification) echo "INFO: Running validation tests for multi-config scenario..." run_tests host1 \ --variable "EXPECTED_OS_VERSION:10.2" \ - --exclude version \ suites/standard1/ echo "SUCCESS: Multi-config scenario validation completed - no conflicts detected" diff --git a/test/scenarios-bootc/el10/releases/el102-lrel@tlsv13-standard1.sh b/test/scenarios-bootc/el10/releases/el102-lrel@tlsv13-standard1.sh deleted file mode 100644 index dd3e35730a..0000000000 --- a/test/scenarios-bootc/el10/releases/el102-lrel@tlsv13-standard1.sh +++ /dev/null @@ -1,47 +0,0 @@ -#!/bin/bash - -# Sourced from scenario.sh and uses functions defined there. - -start_image="rhel102-bootc-brew-lrel-optional" - -scenario_create_vms() { - exit_if_image_not_found "${start_image}" - - prepare_kickstart host1 kickstart-bootc.ks.template "${start_image}" - launch_vm rhel102-bootc --vm_vcpus 4 -} - -scenario_remove_vms() { - exit_if_image_not_found "${start_image}" - - remove_vm host1 -} - -scenario_run_tests() { - exit_if_image_not_found "${start_image}" - - # Apply TLS v1.3 configuration via drop-in config - run_command_on_vm host1 "sudo mkdir -p /etc/microshift/config.d" - run_command_on_vm host1 "sudo tee /etc/microshift/config.d/10-tls.yaml > /dev/null << 'EOF' -apiServer: - tls: - minVersion: VersionTLS13 -EOF" - - # Restart MicroShift to apply TLS configuration - run_command_on_vm host1 "sudo systemctl restart microshift" - - # Wait for MicroShift to be ready - local vmname="host1" - local -r full_vmname="$(full_vm_name "${vmname}")" - local -r vm_ip="$(get_vm_property "${vmname}" ip)" - if ! wait_for_greenboot "${full_vmname}" "${vm_ip}"; then - record_junit "${vmname}" "pre_test_greenboot_check" "FAILED" - return 1 - fi - record_junit "${vmname}" "pre_test_greenboot_check" "OK" - - run_tests host1 \ - --variable "EXPECTED_OS_VERSION:10.2" \ - suites/standard1/ -} diff --git a/test/scenarios-bootc/el10/releases/el102-lrel@tlsv13-standard2.sh b/test/scenarios-bootc/el10/releases/el102-lrel@tlsv13-standard2.sh deleted file mode 100644 index c5e4ef87b9..0000000000 --- a/test/scenarios-bootc/el10/releases/el102-lrel@tlsv13-standard2.sh +++ /dev/null @@ -1,45 +0,0 @@ -#!/bin/bash - -# Sourced from scenario.sh and uses functions defined there. - -start_image="rhel102-bootc-brew-lrel-optional" - -scenario_create_vms() { - exit_if_image_not_found "${start_image}" - - prepare_kickstart host1 kickstart-bootc.ks.template "${start_image}" - launch_vm rhel102-bootc -} - -scenario_remove_vms() { - exit_if_image_not_found "${start_image}" - - remove_vm host1 -} - -scenario_run_tests() { - exit_if_image_not_found "${start_image}" - - # Apply TLS v1.3 configuration via drop-in config - run_command_on_vm host1 "sudo mkdir -p /etc/microshift/config.d" - run_command_on_vm host1 "sudo tee /etc/microshift/config.d/10-tls.yaml > /dev/null << 'EOF' -apiServer: - tls: - minVersion: VersionTLS13 -EOF" - - # Restart MicroShift to apply TLS configuration - run_command_on_vm host1 "sudo systemctl restart microshift" - - # Wait for MicroShift to be ready - local vmname="host1" - local -r full_vmname="$(full_vm_name "${vmname}")" - local -r vm_ip="$(get_vm_property "${vmname}" ip)" - if ! wait_for_greenboot "${full_vmname}" "${vm_ip}"; then - record_junit "${vmname}" "pre_test_greenboot_check" "FAILED" - return 1 - fi - record_junit "${vmname}" "pre_test_greenboot_check" "OK" - - run_tests host1 suites/standard2/ -} diff --git a/test/scenarios-bootc/el9/releases/el98-lrel@multi-config-standard1.sh b/test/scenarios-bootc/el9/releases/el98-lrel@multi-config-standard1.sh index 39fe73c3bb..f1b3b3675f 100644 --- a/test/scenarios-bootc/el9/releases/el98-lrel@multi-config-standard1.sh +++ b/test/scenarios-bootc/el9/releases/el98-lrel@multi-config-standard1.sh @@ -93,11 +93,9 @@ EOF" echo "INFO: Cleaning up LVMS workloads..." run_command_on_vm host1 'bash -s' < "${TESTDIR}/../scripts/lvms-helpers/cleanupWorkload.sh" - # Run all standard1 tests except version (which requires RPM install verification) echo "INFO: Running validation tests for multi-config scenario..." run_tests host1 \ --variable "EXPECTED_OS_VERSION:9.8" \ - --exclude version \ suites/standard1/ echo "SUCCESS: Multi-config scenario validation completed - no conflicts detected" diff --git a/test/scenarios-bootc/el9/releases/el98-lrel@tlsv13-standard1.sh b/test/scenarios-bootc/el9/releases/el98-lrel@tlsv13-standard1.sh deleted file mode 100644 index 51fbe5e527..0000000000 --- a/test/scenarios-bootc/el9/releases/el98-lrel@tlsv13-standard1.sh +++ /dev/null @@ -1,47 +0,0 @@ -#!/bin/bash - -# Sourced from scenario.sh and uses functions defined there. - -start_image="rhel98-bootc-brew-lrel-optional" - -scenario_create_vms() { - exit_if_image_not_found "${start_image}" - - prepare_kickstart host1 kickstart-bootc.ks.template "${start_image}" - launch_vm rhel98-bootc --vm_vcpus 4 -} - -scenario_remove_vms() { - exit_if_image_not_found "${start_image}" - - remove_vm host1 -} - -scenario_run_tests() { - exit_if_image_not_found "${start_image}" - - # Apply TLS v1.3 configuration via drop-in config - run_command_on_vm host1 "sudo mkdir -p /etc/microshift/config.d" - run_command_on_vm host1 "sudo tee /etc/microshift/config.d/10-tls.yaml > /dev/null << 'EOF' -apiServer: - tls: - minVersion: VersionTLS13 -EOF" - - # Restart MicroShift to apply TLS configuration - run_command_on_vm host1 "sudo systemctl restart microshift" - - # Wait for MicroShift to be ready - local vmname="host1" - local -r full_vmname="$(full_vm_name "${vmname}")" - local -r vm_ip="$(get_vm_property "${vmname}" ip)" - if ! wait_for_greenboot "${full_vmname}" "${vm_ip}"; then - record_junit "${vmname}" "pre_test_greenboot_check" "FAILED" - return 1 - fi - record_junit "${vmname}" "pre_test_greenboot_check" "OK" - - run_tests host1 \ - --variable "EXPECTED_OS_VERSION:9.8" \ - suites/standard1/ -} diff --git a/test/scenarios-bootc/el9/releases/el98-lrel@tlsv13-standard2.sh b/test/scenarios-bootc/el9/releases/el98-lrel@tlsv13-standard2.sh deleted file mode 100644 index 9d70caa247..0000000000 --- a/test/scenarios-bootc/el9/releases/el98-lrel@tlsv13-standard2.sh +++ /dev/null @@ -1,45 +0,0 @@ -#!/bin/bash - -# Sourced from scenario.sh and uses functions defined there. - -start_image="rhel98-bootc-brew-lrel-optional" - -scenario_create_vms() { - exit_if_image_not_found "${start_image}" - - prepare_kickstart host1 kickstart-bootc.ks.template "${start_image}" - launch_vm rhel98-bootc -} - -scenario_remove_vms() { - exit_if_image_not_found "${start_image}" - - remove_vm host1 -} - -scenario_run_tests() { - exit_if_image_not_found "${start_image}" - - # Apply TLS v1.3 configuration via drop-in config - run_command_on_vm host1 "sudo mkdir -p /etc/microshift/config.d" - run_command_on_vm host1 "sudo tee /etc/microshift/config.d/10-tls.yaml > /dev/null << 'EOF' -apiServer: - tls: - minVersion: VersionTLS13 -EOF" - - # Restart MicroShift to apply TLS configuration - run_command_on_vm host1 "sudo systemctl restart microshift" - - # Wait for MicroShift to be ready - local vmname="host1" - local -r full_vmname="$(full_vm_name "${vmname}")" - local -r vm_ip="$(get_vm_property "${vmname}" ip)" - if ! wait_for_greenboot "${full_vmname}" "${vm_ip}"; then - record_junit "${vmname}" "pre_test_greenboot_check" "FAILED" - return 1 - fi - record_junit "${vmname}" "pre_test_greenboot_check" "OK" - - run_tests host1 suites/standard2/ -} diff --git a/test/scenarios/releases/el98-lrel@tlsv13-standard1.sh b/test/scenarios/releases/el98-lrel@tlsv13-standard1.sh deleted file mode 100644 index aa2e12d446..0000000000 --- a/test/scenarios/releases/el98-lrel@tlsv13-standard1.sh +++ /dev/null @@ -1,48 +0,0 @@ -#!/bin/bash - -# Sourced from scenario.sh and uses functions defined there. - -start_image="rhel98-brew-lrel-optional" - -scenario_create_vms() { - exit_if_commit_not_found "${start_image}" - - prepare_kickstart host1 kickstart.ks.template "${start_image}" - launch_vm rhel-9.8 --vm_vcpus 4 -} - -scenario_remove_vms() { - exit_if_commit_not_found "${start_image}" - - remove_vm host1 -} - -scenario_run_tests() { - exit_if_commit_not_found "${start_image}" - - # Apply TLS v1.3 configuration via drop-in config - run_command_on_vm host1 "sudo mkdir -p /etc/microshift/config.d" - run_command_on_vm host1 "sudo tee /etc/microshift/config.d/10-tls.yaml > /dev/null << 'EOF' -apiServer: - tls: - minVersion: VersionTLS13 -EOF" - - # Restart MicroShift to apply TLS configuration - run_command_on_vm host1 "sudo systemctl restart microshift" - - # Wait for MicroShift to be ready - # Wait for MicroShift to be ready - local vmname="host1" - local -r full_vmname="$(full_vm_name "${vmname}")" - local -r vm_ip="$(get_vm_property "${vmname}" ip)" - if ! wait_for_greenboot "${full_vmname}" "${vm_ip}"; then - record_junit "${vmname}" "pre_test_greenboot_check" "FAILED" - return 1 - fi - record_junit "${vmname}" "pre_test_greenboot_check" "OK" - - run_tests host1 \ - --variable "EXPECTED_OS_VERSION:9.8" \ - suites/standard1/ -} diff --git a/test/scenarios/releases/el98-lrel@tlsv13-standard2.sh b/test/scenarios/releases/el98-lrel@tlsv13-standard2.sh deleted file mode 100644 index d0acfa7ca5..0000000000 --- a/test/scenarios/releases/el98-lrel@tlsv13-standard2.sh +++ /dev/null @@ -1,46 +0,0 @@ -#!/bin/bash - -# Sourced from scenario.sh and uses functions defined there. - -start_image="rhel98-brew-lrel-optional" - -scenario_create_vms() { - exit_if_commit_not_found "${start_image}" - - prepare_kickstart host1 kickstart.ks.template "${start_image}" - launch_vm rhel-9.8 --vm_vcpus 4 -} - -scenario_remove_vms() { - exit_if_commit_not_found "${start_image}" - - remove_vm host1 -} - -scenario_run_tests() { - exit_if_commit_not_found "${start_image}" - - # Apply TLS v1.3 configuration via drop-in config - run_command_on_vm host1 "sudo mkdir -p /etc/microshift/config.d" - run_command_on_vm host1 "sudo tee /etc/microshift/config.d/10-tls.yaml > /dev/null << 'EOF' -apiServer: - tls: - minVersion: VersionTLS13 -EOF" - - # Restart MicroShift to apply TLS configuration - run_command_on_vm host1 "sudo systemctl restart microshift" - - # Wait for MicroShift to be ready - # Wait for MicroShift to be ready - local vmname="host1" - local -r full_vmname="$(full_vm_name "${vmname}")" - local -r vm_ip="$(get_vm_property "${vmname}" ip)" - if ! wait_for_greenboot "${full_vmname}" "${vm_ip}"; then - record_junit "${vmname}" "pre_test_greenboot_check" "FAILED" - return 1 - fi - record_junit "${vmname}" "pre_test_greenboot_check" "OK" - - run_tests host1 suites/standard2/ -} From a51546c35623186c9c896a7f227fc4cfaf47482d Mon Sep 17 00:00:00 2001 From: Alejandro Gullon Date: Mon, 27 Apr 2026 13:16:55 +0200 Subject: [PATCH 2/7] NO-JIRA: move configuration suite into dual-stack scenarios Piggyback the configuration test suite onto the dual-stack VM which is already provisioned with a compatible environment. The dual-stack scenario is renamed to dual-stack-configuration to reflect the combined coverage. Removes 3 VMs (1 per platform: el9/el10 bootc, ostree). Co-Authored-By: Claude Opus 4.6 pre-commit.check-secrets: ENABLED --- .../el10/releases/el102-lrel@configuration.sh | 24 ------------------- ...=> el102-lrel@dual-stack-configuration.sh} | 4 +++- .../el9/releases/el98-lrel@configuration.sh | 24 ------------------- ... => el98-lrel@dual-stack-configuration.sh} | 4 +++- .../releases/el98-lrel@configuration.sh | 24 ------------------- ... => el98-lrel@dual-stack-configuration.sh} | 4 +++- 6 files changed, 9 insertions(+), 75 deletions(-) delete mode 100644 test/scenarios-bootc/el10/releases/el102-lrel@configuration.sh rename test/scenarios-bootc/el10/releases/{el102-lrel@dual-stack.sh => el102-lrel@dual-stack-configuration.sh} (85%) delete mode 100644 test/scenarios-bootc/el9/releases/el98-lrel@configuration.sh rename test/scenarios-bootc/el9/releases/{el98-lrel@dual-stack.sh => el98-lrel@dual-stack-configuration.sh} (84%) delete mode 100644 test/scenarios/releases/el98-lrel@configuration.sh rename test/scenarios/releases/{el98-lrel@dual-stack.sh => el98-lrel@dual-stack-configuration.sh} (84%) diff --git a/test/scenarios-bootc/el10/releases/el102-lrel@configuration.sh b/test/scenarios-bootc/el10/releases/el102-lrel@configuration.sh deleted file mode 100644 index 665f3fb88a..0000000000 --- a/test/scenarios-bootc/el10/releases/el102-lrel@configuration.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/bash - -# Sourced from scenario.sh and uses functions defined there. - -start_image="rhel102-bootc-brew-lrel-optional" - -scenario_create_vms() { - exit_if_image_not_found "${start_image}" - - prepare_kickstart host1 kickstart-bootc.ks.template "${start_image}" - launch_vm rhel102-bootc --vm_vcpus 4 -} - -scenario_remove_vms() { - exit_if_image_not_found "${start_image}" - - remove_vm host1 -} - -scenario_run_tests() { - exit_if_image_not_found "${start_image}" - - run_tests host1 suites/configuration/ -} diff --git a/test/scenarios-bootc/el10/releases/el102-lrel@dual-stack.sh b/test/scenarios-bootc/el10/releases/el102-lrel@dual-stack-configuration.sh similarity index 85% rename from test/scenarios-bootc/el10/releases/el102-lrel@dual-stack.sh rename to test/scenarios-bootc/el10/releases/el102-lrel@dual-stack-configuration.sh index 80bfb6a27a..bdbb343784 100644 --- a/test/scenarios-bootc/el10/releases/el102-lrel@dual-stack.sh +++ b/test/scenarios-bootc/el10/releases/el102-lrel@dual-stack-configuration.sh @@ -19,5 +19,7 @@ scenario_remove_vms() { scenario_run_tests() { exit_if_image_not_found "${start_image}" - run_tests host1 suites/ipv6/dualstack.robot + run_tests host1 \ + suites/ipv6/dualstack.robot \ + suites/configuration/ } diff --git a/test/scenarios-bootc/el9/releases/el98-lrel@configuration.sh b/test/scenarios-bootc/el9/releases/el98-lrel@configuration.sh deleted file mode 100644 index 27b69f066c..0000000000 --- a/test/scenarios-bootc/el9/releases/el98-lrel@configuration.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/bash - -# Sourced from scenario.sh and uses functions defined there. - -start_image="rhel98-bootc-brew-lrel-optional" - -scenario_create_vms() { - exit_if_image_not_found "${start_image}" - - prepare_kickstart host1 kickstart-bootc.ks.template "${start_image}" - launch_vm rhel98-bootc --vm_vcpus 4 -} - -scenario_remove_vms() { - exit_if_image_not_found "${start_image}" - - remove_vm host1 -} - -scenario_run_tests() { - exit_if_image_not_found "${start_image}" - - run_tests host1 suites/configuration/ -} diff --git a/test/scenarios-bootc/el9/releases/el98-lrel@dual-stack.sh b/test/scenarios-bootc/el9/releases/el98-lrel@dual-stack-configuration.sh similarity index 84% rename from test/scenarios-bootc/el9/releases/el98-lrel@dual-stack.sh rename to test/scenarios-bootc/el9/releases/el98-lrel@dual-stack-configuration.sh index 2732da82c9..d403a60671 100644 --- a/test/scenarios-bootc/el9/releases/el98-lrel@dual-stack.sh +++ b/test/scenarios-bootc/el9/releases/el98-lrel@dual-stack-configuration.sh @@ -19,5 +19,7 @@ scenario_remove_vms() { scenario_run_tests() { exit_if_image_not_found "${start_image}" - run_tests host1 suites/ipv6/dualstack.robot + run_tests host1 \ + suites/ipv6/dualstack.robot \ + suites/configuration/ } diff --git a/test/scenarios/releases/el98-lrel@configuration.sh b/test/scenarios/releases/el98-lrel@configuration.sh deleted file mode 100644 index 27629a9d52..0000000000 --- a/test/scenarios/releases/el98-lrel@configuration.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/bash - -# Sourced from scenario.sh and uses functions defined there. - -start_image="rhel98-brew-lrel-optional" - -scenario_create_vms() { - exit_if_commit_not_found "${start_image}" - - prepare_kickstart host1 kickstart.ks.template "${start_image}" - launch_vm rhel-9.8 --vm_vcpus 4 -} - -scenario_remove_vms() { - exit_if_commit_not_found "${start_image}" - - remove_vm host1 -} - -scenario_run_tests() { - exit_if_commit_not_found "${start_image}" - - run_tests host1 suites/configuration/ -} diff --git a/test/scenarios/releases/el98-lrel@dual-stack.sh b/test/scenarios/releases/el98-lrel@dual-stack-configuration.sh similarity index 84% rename from test/scenarios/releases/el98-lrel@dual-stack.sh rename to test/scenarios/releases/el98-lrel@dual-stack-configuration.sh index 5ad417c0ed..2a63e3d50d 100644 --- a/test/scenarios/releases/el98-lrel@dual-stack.sh +++ b/test/scenarios/releases/el98-lrel@dual-stack-configuration.sh @@ -19,5 +19,7 @@ scenario_remove_vms() { scenario_run_tests() { exit_if_commit_not_found "${start_image}" - run_tests host1 suites/ipv6/dualstack.robot + run_tests host1 \ + suites/ipv6/dualstack.robot \ + suites/configuration/ } From 9b42989b2c8b6022b6b20998cbf6a364bcfaadee Mon Sep 17 00:00:00 2001 From: Alejandro Gullon Date: Mon, 27 Apr 2026 13:17:07 +0200 Subject: [PATCH 3/7] NO-JIRA: move FIPS suite into ai-model-serving-online scenarios Consolidate the FIPS test suite into the ai-model-serving-online VM by switching to the FIPS image, adding --fips to launch_vm for kernel-level FIPS enforcement, and appending suites/fips/ to the test run. Both scenarios already skip on aarch64. Removes 2 VMs (1 per platform: el9/el10 bootc; no ostree equivalent). Co-Authored-By: Claude Opus 4.6 pre-commit.check-secrets: ENABLED --- ...l102-lrel@ai-model-serving-online-fips.sh} | 7 ++-- .../el10/releases/el102-lrel@fips.sh | 34 ------------------- ...el98-lrel@ai-model-serving-online-fips.sh} | 7 ++-- .../el9/releases/el98-lrel@fips.sh | 34 ------------------- 4 files changed, 8 insertions(+), 74 deletions(-) rename test/scenarios-bootc/{el9/releases/el98-lrel@ai-model-serving-online.sh => el10/releases/el102-lrel@ai-model-serving-online-fips.sh} (82%) delete mode 100644 test/scenarios-bootc/el10/releases/el102-lrel@fips.sh rename test/scenarios-bootc/{el10/releases/el102-lrel@ai-model-serving-online.sh => el9/releases/el98-lrel@ai-model-serving-online-fips.sh} (82%) delete mode 100644 test/scenarios-bootc/el9/releases/el98-lrel@fips.sh diff --git a/test/scenarios-bootc/el9/releases/el98-lrel@ai-model-serving-online.sh b/test/scenarios-bootc/el10/releases/el102-lrel@ai-model-serving-online-fips.sh similarity index 82% rename from test/scenarios-bootc/el9/releases/el98-lrel@ai-model-serving-online.sh rename to test/scenarios-bootc/el10/releases/el102-lrel@ai-model-serving-online-fips.sh index da8e36575b..c0be5c20e0 100644 --- a/test/scenarios-bootc/el9/releases/el98-lrel@ai-model-serving-online.sh +++ b/test/scenarios-bootc/el10/releases/el102-lrel@ai-model-serving-online-fips.sh @@ -2,7 +2,7 @@ # Sourced from scenario.sh and uses functions defined there. -start_image="rhel98-bootc-brew-lrel-optional" +start_image="rhel102-bootc-brew-lrel-fips" # Currently, RHOAI is only available for x86_64 check_platform() { @@ -22,7 +22,7 @@ scenario_create_vms() { # 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 "${start_image}" - launch_vm rhel98-bootc --vm_disksize 30 --vm_vcpus 4 + launch_vm rhel102-bootc --fips --vm_disksize 30 --vm_vcpus 4 } scenario_remove_vms() { @@ -37,5 +37,6 @@ scenario_run_tests() { exit_if_image_not_found "${start_image}" run_tests host1 \ - suites/ai-model-serving/ai-model-serving-online.robot + suites/ai-model-serving/ai-model-serving-online.robot \ + suites/fips/ } diff --git a/test/scenarios-bootc/el10/releases/el102-lrel@fips.sh b/test/scenarios-bootc/el10/releases/el102-lrel@fips.sh deleted file mode 100644 index fe83bde19e..0000000000 --- a/test/scenarios-bootc/el10/releases/el102-lrel@fips.sh +++ /dev/null @@ -1,34 +0,0 @@ -#!/bin/bash - -# Sourced from scenario.sh and uses functions defined there. - -start_image="rhel102-bootc-brew-lrel-fips" - -check_platform() { - if [[ "${UNAME_M}" =~ aarch64 ]] ; then - record_junit "setup" "scenario_create_vms" "SKIPPED" - exit 0 - fi -} - -scenario_create_vms() { - check_platform - exit_if_image_not_found "${start_image}" - - prepare_kickstart host1 kickstart-bootc.ks.template "${start_image}" - launch_vm rhel102-bootc --fips --vm_vcpus 4 -} - -scenario_remove_vms() { - check_platform - exit_if_image_not_found "${start_image}" - - remove_vm host1 -} - -scenario_run_tests() { - check_platform - exit_if_image_not_found "${start_image}" - - run_tests host1 suites/fips/ -} diff --git a/test/scenarios-bootc/el10/releases/el102-lrel@ai-model-serving-online.sh b/test/scenarios-bootc/el9/releases/el98-lrel@ai-model-serving-online-fips.sh similarity index 82% rename from test/scenarios-bootc/el10/releases/el102-lrel@ai-model-serving-online.sh rename to test/scenarios-bootc/el9/releases/el98-lrel@ai-model-serving-online-fips.sh index 2691558115..4d5855dbc6 100644 --- a/test/scenarios-bootc/el10/releases/el102-lrel@ai-model-serving-online.sh +++ b/test/scenarios-bootc/el9/releases/el98-lrel@ai-model-serving-online-fips.sh @@ -2,7 +2,7 @@ # Sourced from scenario.sh and uses functions defined there. -start_image="rhel102-bootc-brew-lrel-optional" +start_image="rhel98-bootc-brew-lrel-fips" # Currently, RHOAI is only available for x86_64 check_platform() { @@ -22,7 +22,7 @@ scenario_create_vms() { # 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 "${start_image}" - launch_vm rhel102-bootc --vm_disksize 30 --vm_vcpus 4 + launch_vm rhel98-bootc --fips --vm_disksize 30 --vm_vcpus 4 } scenario_remove_vms() { @@ -37,5 +37,6 @@ scenario_run_tests() { exit_if_image_not_found "${start_image}" run_tests host1 \ - suites/ai-model-serving/ai-model-serving-online.robot + suites/ai-model-serving/ai-model-serving-online.robot \ + suites/fips/ } diff --git a/test/scenarios-bootc/el9/releases/el98-lrel@fips.sh b/test/scenarios-bootc/el9/releases/el98-lrel@fips.sh deleted file mode 100644 index ef8a4fda35..0000000000 --- a/test/scenarios-bootc/el9/releases/el98-lrel@fips.sh +++ /dev/null @@ -1,34 +0,0 @@ -#!/bin/bash - -# Sourced from scenario.sh and uses functions defined there. - -start_image="rhel98-bootc-brew-lrel-fips" - -check_platform() { - if [[ "${UNAME_M}" =~ aarch64 ]] ; then - record_junit "setup" "scenario_create_vms" "SKIPPED" - exit 0 - fi -} - -scenario_create_vms() { - check_platform - exit_if_image_not_found "${start_image}" - - prepare_kickstart host1 kickstart-bootc.ks.template "${start_image}" - launch_vm rhel98-bootc --fips --vm_vcpus 4 -} - -scenario_remove_vms() { - check_platform - exit_if_image_not_found "${start_image}" - - remove_vm host1 -} - -scenario_run_tests() { - check_platform - exit_if_image_not_found "${start_image}" - - run_tests host1 suites/fips/ -} From 536274e60bf557c67c9669cacc61b1b964cf9f2b Mon Sep 17 00:00:00 2001 From: Alejandro Gullon Date: Mon, 27 Apr 2026 13:18:31 +0200 Subject: [PATCH 4/7] NO-JIRA: consolidate upgrade standard suites into LVMS scenarios MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Merge the standalone upgrade+standard1/standard2 scenarios into the LVMS upgrade scenarios. Each LVMS VM now runs the full LVMS lifecycle (create/check/upgrade/validate/cleanup) followed by a standard suite, eliminating the need for separate standard-only VMs. The split follows a consistent pattern across el9/el10 bootc and ostree: - lvms-standard1: LVMS lifecycle + ginkgo (y2 only) + standard1 with EXPECTED_OS_VERSION + --vm_disksize 30 - lvms-standard2: LVMS lifecycle + standard2 + --vm_disksize 30 For el10, the el98→el102 cross-major upgrade scenarios also absorb LVMS lifecycle testing with --vm_disksize 30. Removes 12 VMs (4 per platform: el9/el10 bootc, ostree) and absorbs the el10 el98→el102 LVMS scenario into the standard1/standard2 cross-major scenarios. Co-Authored-By: Claude Opus 4.6 pre-commit.check-secrets: ENABLED --- ...h => el96-y1@el102-lrel@lvms-standard1.sh} | 2 +- ...h => el96-y1@el102-lrel@lvms-standard2.sh} | 11 ++-- .../releases/el96-y1@el102-lrel@standard1.sh | 37 ----------- .../releases/el96-y1@el102-lrel@standard2.sh | 36 ---------- ...h => el96-y2@el102-lrel@lvms-standard1.sh} | 2 +- .../el96-y2@el102-lrel@lvms-standard2.sh | 64 ++++++++++++++++++ .../releases/el96-y2@el102-lrel@standard1.sh | 37 ----------- .../releases/el96-y2@el102-lrel@standard2.sh | 36 ---------- .../el98-lrel@el102-lrel@standard1.sh | 34 +++++++++- .../el98-lrel@el102-lrel@standard2.sh | 34 +++++++++- ...sh => el96-y1@el98-lrel@lvms-standard1.sh} | 2 +- .../el96-y1@el98-lrel@lvms-standard2.sh | 64 ++++++++++++++++++ .../releases/el96-y1@el98-lrel@standard1.sh | 37 ----------- .../releases/el96-y1@el98-lrel@standard2.sh | 36 ---------- .../el96-y2@el98-lrel@lvms-standard1.sh | 65 +++++++++++++++++++ ...sh => el96-y2@el98-lrel@lvms-standard2.sh} | 7 +- .../releases/el96-y2@el98-lrel@standard1.sh | 35 ---------- .../releases/el96-y2@el98-lrel@standard2.sh | 36 ---------- ... el96-yminus1@el98-lrel@lvms-standard1.sh} | 2 +- .../el96-yminus1@el98-lrel@lvms-standard2.sh | 63 ++++++++++++++++++ .../el96-yminus1@el98-lrel@standard1.sh | 36 ---------- .../el96-yminus1@el98-lrel@standard2.sh | 35 ---------- .../el96-yminus2@el98-lrel@lvms-standard1.sh | 64 ++++++++++++++++++ ... el96-yminus2@el98-lrel@lvms-standard2.sh} | 7 +- .../el96-yminus2@el98-lrel@standard1.sh | 36 ---------- .../el96-yminus2@el98-lrel@standard2.sh | 35 ---------- 26 files changed, 400 insertions(+), 453 deletions(-) rename test/scenarios-bootc/el10/releases/{el96-y1@el102-lrel@lvms.sh => el96-y1@el102-lrel@lvms-standard1.sh} (97%) rename test/scenarios-bootc/el10/releases/{el98-lrel@el102-lrel@lvms.sh => el96-y1@el102-lrel@lvms-standard2.sh} (90%) delete mode 100644 test/scenarios-bootc/el10/releases/el96-y1@el102-lrel@standard1.sh delete mode 100644 test/scenarios-bootc/el10/releases/el96-y1@el102-lrel@standard2.sh rename test/scenarios-bootc/el10/releases/{el96-y2@el102-lrel@lvms.sh => el96-y2@el102-lrel@lvms-standard1.sh} (97%) create mode 100644 test/scenarios-bootc/el10/releases/el96-y2@el102-lrel@lvms-standard2.sh delete mode 100644 test/scenarios-bootc/el10/releases/el96-y2@el102-lrel@standard1.sh delete mode 100644 test/scenarios-bootc/el10/releases/el96-y2@el102-lrel@standard2.sh rename test/scenarios-bootc/el9/releases/{el96-y1@el98-lrel@lvms.sh => el96-y1@el98-lrel@lvms-standard1.sh} (97%) create mode 100644 test/scenarios-bootc/el9/releases/el96-y1@el98-lrel@lvms-standard2.sh delete mode 100644 test/scenarios-bootc/el9/releases/el96-y1@el98-lrel@standard1.sh delete mode 100644 test/scenarios-bootc/el9/releases/el96-y1@el98-lrel@standard2.sh create mode 100644 test/scenarios-bootc/el9/releases/el96-y2@el98-lrel@lvms-standard1.sh rename test/scenarios-bootc/el9/releases/{el96-y2@el98-lrel@lvms.sh => el96-y2@el98-lrel@lvms-standard2.sh} (95%) delete mode 100644 test/scenarios-bootc/el9/releases/el96-y2@el98-lrel@standard1.sh delete mode 100644 test/scenarios-bootc/el9/releases/el96-y2@el98-lrel@standard2.sh rename test/scenarios/releases/{el96-yminus1@el98-lrel@lvms.sh => el96-yminus1@el98-lrel@lvms-standard1.sh} (97%) create mode 100644 test/scenarios/releases/el96-yminus1@el98-lrel@lvms-standard2.sh delete mode 100644 test/scenarios/releases/el96-yminus1@el98-lrel@standard1.sh delete mode 100644 test/scenarios/releases/el96-yminus1@el98-lrel@standard2.sh create mode 100644 test/scenarios/releases/el96-yminus2@el98-lrel@lvms-standard1.sh rename test/scenarios/releases/{el96-yminus2@el98-lrel@lvms.sh => el96-yminus2@el98-lrel@lvms-standard2.sh} (95%) delete mode 100644 test/scenarios/releases/el96-yminus2@el98-lrel@standard1.sh delete mode 100644 test/scenarios/releases/el96-yminus2@el98-lrel@standard2.sh diff --git a/test/scenarios-bootc/el10/releases/el96-y1@el102-lrel@lvms.sh b/test/scenarios-bootc/el10/releases/el96-y1@el102-lrel@lvms-standard1.sh similarity index 97% rename from test/scenarios-bootc/el10/releases/el96-y1@el102-lrel@lvms.sh rename to test/scenarios-bootc/el10/releases/el96-y1@el102-lrel@lvms-standard1.sh index 36d2d3ee0d..2963a784c4 100644 --- a/test/scenarios-bootc/el10/releases/el96-y1@el102-lrel@lvms.sh +++ b/test/scenarios-bootc/el10/releases/el96-y1@el102-lrel@lvms-standard1.sh @@ -14,7 +14,7 @@ scenario_create_vms() { exit_if_image_not_found "${dest_image}" prepare_kickstart host1 kickstart-bootc.ks.template "${start_image}" - launch_vm rhel96-bootc --vm_vcpus 4 + launch_vm rhel96-bootc --vm_disksize 30 --vm_vcpus 4 } scenario_remove_vms() { diff --git a/test/scenarios-bootc/el10/releases/el98-lrel@el102-lrel@lvms.sh b/test/scenarios-bootc/el10/releases/el96-y1@el102-lrel@lvms-standard2.sh similarity index 90% rename from test/scenarios-bootc/el10/releases/el98-lrel@el102-lrel@lvms.sh rename to test/scenarios-bootc/el10/releases/el96-y1@el102-lrel@lvms-standard2.sh index c3971caa93..5f4f23bb07 100644 --- a/test/scenarios-bootc/el10/releases/el98-lrel@el102-lrel@lvms.sh +++ b/test/scenarios-bootc/el10/releases/el96-y1@el102-lrel@lvms-standard2.sh @@ -6,7 +6,7 @@ # ensure MicroShift is upgraded before running validation tests export TEST_RANDOMIZATION=none -start_image="rhel98-bootc-brew-lrel-optional" +start_image="rhel96-bootc-brew-y1-with-optional" dest_image="rhel102-bootc-brew-lrel-optional" scenario_create_vms() { @@ -14,7 +14,7 @@ scenario_create_vms() { exit_if_image_not_found "${dest_image}" prepare_kickstart host1 kickstart-bootc.ks.template "${start_image}" - launch_vm rhel98-bootc --vm_disksize 30 --vm_vcpus 4 + launch_vm rhel96-bootc --vm_disksize 30 --vm_vcpus 4 } scenario_remove_vms() { @@ -54,10 +54,11 @@ scenario_run_tests() { echo "INFO: Checking LVMS resources after upgrade..." run_command_on_vm host1 'bash -s' < "${TESTDIR}/../scripts/lvms-helpers/checkLvmsResources.sh" - # Run ginkgo tests to validate functionality - run_ginkgo_tests host1 "~Disruptive" - # Cleanup LVMS workloads echo "INFO: Cleaning up LVMS workloads..." run_command_on_vm host1 'bash -s' < "${TESTDIR}/../scripts/lvms-helpers/cleanupWorkload.sh" + + # Run standard2 suite for basic validation after upgrade + run_tests host1 \ + suites/standard2/ } diff --git a/test/scenarios-bootc/el10/releases/el96-y1@el102-lrel@standard1.sh b/test/scenarios-bootc/el10/releases/el96-y1@el102-lrel@standard1.sh deleted file mode 100644 index dac6eeab11..0000000000 --- a/test/scenarios-bootc/el10/releases/el96-y1@el102-lrel@standard1.sh +++ /dev/null @@ -1,37 +0,0 @@ -#!/bin/bash - -# Sourced from scenario.sh and uses functions defined there. - -# NOTE: Unlike most suites, these tests rely on being run IN ORDER to -# ensure MicroShift is upgraded before running standard suite tests -export TEST_RANDOMIZATION=none - -start_image="rhel96-bootc-brew-y1-with-optional" -dest_image="rhel102-bootc-brew-lrel-optional" - -scenario_create_vms() { - exit_if_image_not_found "${start_image}" - exit_if_image_not_found "${dest_image}" - - prepare_kickstart host1 kickstart-bootc.ks.template "${start_image}" - launch_vm rhel96-bootc --vm_vcpus 4 -} - -scenario_remove_vms() { - exit_if_image_not_found "${start_image}" - exit_if_image_not_found "${dest_image}" - - remove_vm host1 -} - -scenario_run_tests() { - exit_if_image_not_found "${start_image}" - exit_if_image_not_found "${dest_image}" - - run_tests host1 \ - --variable "TARGET_REF:${dest_image}" \ - --variable "BOOTC_REGISTRY:${MIRROR_REGISTRY_URL}" \ - --variable "EXPECTED_OS_VERSION:10.2" \ - suites/upgrade/upgrade-successful.robot \ - suites/standard1/ -} diff --git a/test/scenarios-bootc/el10/releases/el96-y1@el102-lrel@standard2.sh b/test/scenarios-bootc/el10/releases/el96-y1@el102-lrel@standard2.sh deleted file mode 100644 index fde190bfaa..0000000000 --- a/test/scenarios-bootc/el10/releases/el96-y1@el102-lrel@standard2.sh +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/bash - -# Sourced from scenario.sh and uses functions defined there. - -# NOTE: Unlike most suites, these tests rely on being run IN ORDER to -# ensure MicroShift is upgraded before running standard suite tests -export TEST_RANDOMIZATION=none - -start_image="rhel96-bootc-brew-y1-with-optional" -dest_image="rhel102-bootc-brew-lrel-optional" - -scenario_create_vms() { - exit_if_image_not_found "${start_image}" - exit_if_image_not_found "${dest_image}" - - prepare_kickstart host1 kickstart-bootc.ks.template "${start_image}" - launch_vm rhel96-bootc --vm_vcpus 4 -} - -scenario_remove_vms() { - exit_if_image_not_found "${start_image}" - exit_if_image_not_found "${dest_image}" - - remove_vm host1 -} - -scenario_run_tests() { - exit_if_image_not_found "${start_image}" - exit_if_image_not_found "${dest_image}" - - run_tests host1 \ - --variable "TARGET_REF:${dest_image}" \ - --variable "BOOTC_REGISTRY:${MIRROR_REGISTRY_URL}" \ - suites/upgrade/upgrade-successful.robot \ - suites/standard2/ -} diff --git a/test/scenarios-bootc/el10/releases/el96-y2@el102-lrel@lvms.sh b/test/scenarios-bootc/el10/releases/el96-y2@el102-lrel@lvms-standard1.sh similarity index 97% rename from test/scenarios-bootc/el10/releases/el96-y2@el102-lrel@lvms.sh rename to test/scenarios-bootc/el10/releases/el96-y2@el102-lrel@lvms-standard1.sh index e284ee6a70..c6985471b7 100644 --- a/test/scenarios-bootc/el10/releases/el96-y2@el102-lrel@lvms.sh +++ b/test/scenarios-bootc/el10/releases/el96-y2@el102-lrel@lvms-standard1.sh @@ -14,7 +14,7 @@ scenario_create_vms() { exit_if_image_not_found "${dest_image}" prepare_kickstart host1 kickstart-bootc.ks.template "${start_image}" - launch_vm rhel96-bootc --vm_vcpus 4 + launch_vm rhel96-bootc --vm_disksize 30 --vm_vcpus 4 } scenario_remove_vms() { diff --git a/test/scenarios-bootc/el10/releases/el96-y2@el102-lrel@lvms-standard2.sh b/test/scenarios-bootc/el10/releases/el96-y2@el102-lrel@lvms-standard2.sh new file mode 100644 index 0000000000..a8ad02b2a2 --- /dev/null +++ b/test/scenarios-bootc/el10/releases/el96-y2@el102-lrel@lvms-standard2.sh @@ -0,0 +1,64 @@ +#!/bin/bash + +# Sourced from scenario.sh and uses functions defined there. + +# NOTE: Unlike most suites, these tests rely on being run IN ORDER to +# ensure MicroShift is upgraded before running validation tests +export TEST_RANDOMIZATION=none + +start_image="rhel96-bootc-brew-y2-with-optional" +dest_image="rhel102-bootc-brew-lrel-optional" + +scenario_create_vms() { + exit_if_image_not_found "${start_image}" + exit_if_image_not_found "${dest_image}" + + prepare_kickstart host1 kickstart-bootc.ks.template "${start_image}" + launch_vm rhel96-bootc --vm_disksize 30 --vm_vcpus 4 +} + +scenario_remove_vms() { + exit_if_image_not_found "${start_image}" + exit_if_image_not_found "${dest_image}" + + remove_vm host1 +} + +scenario_run_tests() { + exit_if_image_not_found "${start_image}" + exit_if_image_not_found "${dest_image}" + + # Wait for MicroShift to be ready + wait_for_microshift_to_be_ready host1 + + # Setup oc client and kubeconfig for ginkgo tests + setup_oc_and_kubeconfig host1 + + # Pre-upgrade: Create LVMS workloads and validate LVMS is working + echo "INFO: Creating LVMS workloads before upgrade..." + run_command_on_vm host1 'bash -s' < "${TESTDIR}/../scripts/lvms-helpers/createWorkloads.sh" + + echo "INFO: Checking LVMS resources before upgrade..." + run_command_on_vm host1 'bash -s' < "${TESTDIR}/../scripts/lvms-helpers/checkLvmsResources.sh" + + # Perform upgrade and validate + run_tests host1 \ + --variable "TARGET_REF:${dest_image}" \ + --variable "BOOTC_REGISTRY:${MIRROR_REGISTRY_URL}" \ + suites/upgrade/upgrade-successful.robot + + # Post-upgrade: Validate LVMS workloads survived the upgrade + echo "INFO: Checking LVMS workloads survived upgrade..." + run_command_on_vm host1 'bash -s' < "${TESTDIR}/../scripts/lvms-helpers/checkWorkloadExists.sh" + + echo "INFO: Checking LVMS resources after upgrade..." + run_command_on_vm host1 'bash -s' < "${TESTDIR}/../scripts/lvms-helpers/checkLvmsResources.sh" + + # Cleanup LVMS workloads + echo "INFO: Cleaning up LVMS workloads..." + run_command_on_vm host1 'bash -s' < "${TESTDIR}/../scripts/lvms-helpers/cleanupWorkload.sh" + + # Run standard2 suite for basic validation after upgrade + run_tests host1 \ + suites/standard2/ +} diff --git a/test/scenarios-bootc/el10/releases/el96-y2@el102-lrel@standard1.sh b/test/scenarios-bootc/el10/releases/el96-y2@el102-lrel@standard1.sh deleted file mode 100644 index 9f3f7b3378..0000000000 --- a/test/scenarios-bootc/el10/releases/el96-y2@el102-lrel@standard1.sh +++ /dev/null @@ -1,37 +0,0 @@ -#!/bin/bash - -# Sourced from scenario.sh and uses functions defined there. - -# NOTE: Unlike most suites, these tests rely on being run IN ORDER to -# ensure MicroShift is upgraded before running standard suite tests -export TEST_RANDOMIZATION=none - -start_image="rhel96-bootc-brew-y2-with-optional" -dest_image="rhel102-bootc-brew-lrel-optional" - -scenario_create_vms() { - exit_if_image_not_found "${start_image}" - exit_if_image_not_found "${dest_image}" - - prepare_kickstart host1 kickstart-bootc.ks.template "${start_image}" - launch_vm rhel96-bootc --vm_vcpus 4 -} - -scenario_remove_vms() { - exit_if_image_not_found "${start_image}" - exit_if_image_not_found "${dest_image}" - - remove_vm host1 -} - -scenario_run_tests() { - exit_if_image_not_found "${start_image}" - exit_if_image_not_found "${dest_image}" - - run_tests host1 \ - --variable "TARGET_REF:${dest_image}" \ - --variable "BOOTC_REGISTRY:${MIRROR_REGISTRY_URL}" \ - --variable "EXPECTED_OS_VERSION:10.2" \ - suites/upgrade/upgrade-successful.robot \ - suites/standard1/ -} diff --git a/test/scenarios-bootc/el10/releases/el96-y2@el102-lrel@standard2.sh b/test/scenarios-bootc/el10/releases/el96-y2@el102-lrel@standard2.sh deleted file mode 100644 index d75902bdca..0000000000 --- a/test/scenarios-bootc/el10/releases/el96-y2@el102-lrel@standard2.sh +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/bash - -# Sourced from scenario.sh and uses functions defined there. - -# NOTE: Unlike most suites, these tests rely on being run IN ORDER to -# ensure MicroShift is upgraded before running standard suite tests -export TEST_RANDOMIZATION=none - -start_image="rhel96-bootc-brew-y2-with-optional" -dest_image="rhel102-bootc-brew-lrel-optional" - -scenario_create_vms() { - exit_if_image_not_found "${start_image}" - exit_if_image_not_found "${dest_image}" - - prepare_kickstart host1 kickstart-bootc.ks.template "${start_image}" - launch_vm rhel96-bootc --vm_vcpus 4 -} - -scenario_remove_vms() { - exit_if_image_not_found "${start_image}" - exit_if_image_not_found "${dest_image}" - - remove_vm host1 -} - -scenario_run_tests() { - exit_if_image_not_found "${start_image}" - exit_if_image_not_found "${dest_image}" - - run_tests host1 \ - --variable "TARGET_REF:${dest_image}" \ - --variable "BOOTC_REGISTRY:${MIRROR_REGISTRY_URL}" \ - suites/upgrade/upgrade-successful.robot \ - suites/standard2/ -} diff --git a/test/scenarios-bootc/el10/releases/el98-lrel@el102-lrel@standard1.sh b/test/scenarios-bootc/el10/releases/el98-lrel@el102-lrel@standard1.sh index 191277eda8..2b2d1db342 100644 --- a/test/scenarios-bootc/el10/releases/el98-lrel@el102-lrel@standard1.sh +++ b/test/scenarios-bootc/el10/releases/el98-lrel@el102-lrel@standard1.sh @@ -3,7 +3,7 @@ # Sourced from scenario.sh and uses functions defined there. # NOTE: Unlike most suites, these tests rely on being run IN ORDER to -# ensure MicroShift is upgraded before running standard suite tests +# ensure MicroShift is upgraded before running validation tests export TEST_RANDOMIZATION=none start_image="rhel98-bootc-brew-lrel-optional" @@ -14,7 +14,7 @@ scenario_create_vms() { exit_if_image_not_found "${dest_image}" prepare_kickstart host1 kickstart-bootc.ks.template "${start_image}" - launch_vm rhel98-bootc --vm_vcpus 4 + launch_vm rhel98-bootc --vm_disksize 30 --vm_vcpus 4 } scenario_remove_vms() { @@ -28,10 +28,38 @@ scenario_run_tests() { exit_if_image_not_found "${start_image}" exit_if_image_not_found "${dest_image}" + # Wait for MicroShift to be ready + wait_for_microshift_to_be_ready host1 + + # Setup oc client and kubeconfig for ginkgo tests + setup_oc_and_kubeconfig host1 + + # Pre-upgrade: Create LVMS workloads and validate LVMS is working + echo "INFO: Creating LVMS workloads before upgrade..." + run_command_on_vm host1 'bash -s' < "${TESTDIR}/../scripts/lvms-helpers/createWorkloads.sh" + + echo "INFO: Checking LVMS resources before upgrade..." + run_command_on_vm host1 'bash -s' < "${TESTDIR}/../scripts/lvms-helpers/checkLvmsResources.sh" + + # Perform upgrade and validate run_tests host1 \ --variable "TARGET_REF:${dest_image}" \ --variable "BOOTC_REGISTRY:${MIRROR_REGISTRY_URL}" \ + suites/upgrade/upgrade-successful.robot + + # Post-upgrade: Validate LVMS workloads survived the upgrade + echo "INFO: Checking LVMS workloads survived upgrade..." + run_command_on_vm host1 'bash -s' < "${TESTDIR}/../scripts/lvms-helpers/checkWorkloadExists.sh" + + echo "INFO: Checking LVMS resources after upgrade..." + run_command_on_vm host1 'bash -s' < "${TESTDIR}/../scripts/lvms-helpers/checkLvmsResources.sh" + + # Cleanup LVMS workloads + echo "INFO: Cleaning up LVMS workloads..." + run_command_on_vm host1 'bash -s' < "${TESTDIR}/../scripts/lvms-helpers/cleanupWorkload.sh" + + # Run standard1 suite for basic validation after upgrade + run_tests host1 \ --variable "EXPECTED_OS_VERSION:10.2" \ - suites/upgrade/upgrade-successful.robot \ suites/standard1/ } diff --git a/test/scenarios-bootc/el10/releases/el98-lrel@el102-lrel@standard2.sh b/test/scenarios-bootc/el10/releases/el98-lrel@el102-lrel@standard2.sh index 6796d9a0f0..f360398444 100644 --- a/test/scenarios-bootc/el10/releases/el98-lrel@el102-lrel@standard2.sh +++ b/test/scenarios-bootc/el10/releases/el98-lrel@el102-lrel@standard2.sh @@ -3,7 +3,7 @@ # Sourced from scenario.sh and uses functions defined there. # NOTE: Unlike most suites, these tests rely on being run IN ORDER to -# ensure MicroShift is upgraded before running standard suite tests +# ensure MicroShift is upgraded before running validation tests export TEST_RANDOMIZATION=none start_image="rhel98-bootc-brew-lrel-optional" @@ -14,7 +14,7 @@ scenario_create_vms() { exit_if_image_not_found "${dest_image}" prepare_kickstart host1 kickstart-bootc.ks.template "${start_image}" - launch_vm rhel98-bootc --vm_vcpus 4 + launch_vm rhel98-bootc --vm_disksize 30 --vm_vcpus 4 } scenario_remove_vms() { @@ -28,9 +28,37 @@ scenario_run_tests() { exit_if_image_not_found "${start_image}" exit_if_image_not_found "${dest_image}" + # Wait for MicroShift to be ready + wait_for_microshift_to_be_ready host1 + + # Setup oc client and kubeconfig for ginkgo tests + setup_oc_and_kubeconfig host1 + + # Pre-upgrade: Create LVMS workloads and validate LVMS is working + echo "INFO: Creating LVMS workloads before upgrade..." + run_command_on_vm host1 'bash -s' < "${TESTDIR}/../scripts/lvms-helpers/createWorkloads.sh" + + echo "INFO: Checking LVMS resources before upgrade..." + run_command_on_vm host1 'bash -s' < "${TESTDIR}/../scripts/lvms-helpers/checkLvmsResources.sh" + + # Perform upgrade and validate run_tests host1 \ --variable "TARGET_REF:${dest_image}" \ --variable "BOOTC_REGISTRY:${MIRROR_REGISTRY_URL}" \ - suites/upgrade/upgrade-successful.robot \ + suites/upgrade/upgrade-successful.robot + + # Post-upgrade: Validate LVMS workloads survived the upgrade + echo "INFO: Checking LVMS workloads survived upgrade..." + run_command_on_vm host1 'bash -s' < "${TESTDIR}/../scripts/lvms-helpers/checkWorkloadExists.sh" + + echo "INFO: Checking LVMS resources after upgrade..." + run_command_on_vm host1 'bash -s' < "${TESTDIR}/../scripts/lvms-helpers/checkLvmsResources.sh" + + # Cleanup LVMS workloads + echo "INFO: Cleaning up LVMS workloads..." + run_command_on_vm host1 'bash -s' < "${TESTDIR}/../scripts/lvms-helpers/cleanupWorkload.sh" + + # Run standard2 suite for basic validation after upgrade + run_tests host1 \ suites/standard2/ } diff --git a/test/scenarios-bootc/el9/releases/el96-y1@el98-lrel@lvms.sh b/test/scenarios-bootc/el9/releases/el96-y1@el98-lrel@lvms-standard1.sh similarity index 97% rename from test/scenarios-bootc/el9/releases/el96-y1@el98-lrel@lvms.sh rename to test/scenarios-bootc/el9/releases/el96-y1@el98-lrel@lvms-standard1.sh index ac37d6b792..fc5b15fbef 100644 --- a/test/scenarios-bootc/el9/releases/el96-y1@el98-lrel@lvms.sh +++ b/test/scenarios-bootc/el9/releases/el96-y1@el98-lrel@lvms-standard1.sh @@ -14,7 +14,7 @@ scenario_create_vms() { exit_if_image_not_found "${dest_image}" prepare_kickstart host1 kickstart-bootc.ks.template "${start_image}" - launch_vm rhel96-bootc --vm_vcpus 4 + launch_vm rhel96-bootc --vm_disksize 30 --vm_vcpus 4 } scenario_remove_vms() { diff --git a/test/scenarios-bootc/el9/releases/el96-y1@el98-lrel@lvms-standard2.sh b/test/scenarios-bootc/el9/releases/el96-y1@el98-lrel@lvms-standard2.sh new file mode 100644 index 0000000000..c81f7e24e5 --- /dev/null +++ b/test/scenarios-bootc/el9/releases/el96-y1@el98-lrel@lvms-standard2.sh @@ -0,0 +1,64 @@ +#!/bin/bash + +# Sourced from scenario.sh and uses functions defined there. + +# NOTE: Unlike most suites, these tests rely on being run IN ORDER to +# ensure MicroShift is upgraded before running validation tests +export TEST_RANDOMIZATION=none + +start_image="rhel96-bootc-brew-y1-with-optional" +dest_image="rhel98-bootc-brew-lrel-optional" + +scenario_create_vms() { + exit_if_image_not_found "${start_image}" + exit_if_image_not_found "${dest_image}" + + prepare_kickstart host1 kickstart-bootc.ks.template "${start_image}" + launch_vm rhel96-bootc --vm_disksize 30 --vm_vcpus 4 +} + +scenario_remove_vms() { + exit_if_image_not_found "${start_image}" + exit_if_image_not_found "${dest_image}" + + remove_vm host1 +} + +scenario_run_tests() { + exit_if_image_not_found "${start_image}" + exit_if_image_not_found "${dest_image}" + + # Wait for MicroShift to be ready + wait_for_microshift_to_be_ready host1 + + # Setup oc client and kubeconfig for ginkgo tests + setup_oc_and_kubeconfig host1 + + # Pre-upgrade: Create LVMS workloads and validate LVMS is working + echo "INFO: Creating LVMS workloads before upgrade..." + run_command_on_vm host1 'bash -s' < "${TESTDIR}/../scripts/lvms-helpers/createWorkloads.sh" + + echo "INFO: Checking LVMS resources before upgrade..." + run_command_on_vm host1 'bash -s' < "${TESTDIR}/../scripts/lvms-helpers/checkLvmsResources.sh" + + # Perform upgrade and validate + run_tests host1 \ + --variable "TARGET_REF:${dest_image}" \ + --variable "BOOTC_REGISTRY:${MIRROR_REGISTRY_URL}" \ + suites/upgrade/upgrade-successful.robot + + # Post-upgrade: Validate LVMS workloads survived the upgrade + echo "INFO: Checking LVMS workloads survived upgrade..." + run_command_on_vm host1 'bash -s' < "${TESTDIR}/../scripts/lvms-helpers/checkWorkloadExists.sh" + + echo "INFO: Checking LVMS resources after upgrade..." + run_command_on_vm host1 'bash -s' < "${TESTDIR}/../scripts/lvms-helpers/checkLvmsResources.sh" + + # Cleanup LVMS workloads + echo "INFO: Cleaning up LVMS workloads..." + run_command_on_vm host1 'bash -s' < "${TESTDIR}/../scripts/lvms-helpers/cleanupWorkload.sh" + + # Run standard2 suite for basic validation after upgrade + run_tests host1 \ + suites/standard2/ +} diff --git a/test/scenarios-bootc/el9/releases/el96-y1@el98-lrel@standard1.sh b/test/scenarios-bootc/el9/releases/el96-y1@el98-lrel@standard1.sh deleted file mode 100644 index 536ad55584..0000000000 --- a/test/scenarios-bootc/el9/releases/el96-y1@el98-lrel@standard1.sh +++ /dev/null @@ -1,37 +0,0 @@ -#!/bin/bash - -# Sourced from scenario.sh and uses functions defined there. - -# NOTE: Unlike most suites, these tests rely on being run IN ORDER to -# ensure MicroShift is upgraded before running standard suite tests -export TEST_RANDOMIZATION=none - -start_image="rhel96-bootc-brew-y1-with-optional" -dest_image="rhel98-bootc-brew-lrel-optional" - -scenario_create_vms() { - exit_if_image_not_found "${start_image}" - exit_if_image_not_found "${dest_image}" - - prepare_kickstart host1 kickstart-bootc.ks.template "${start_image}" - launch_vm rhel96-bootc --vm_vcpus 4 -} - -scenario_remove_vms() { - exit_if_image_not_found "${start_image}" - exit_if_image_not_found "${dest_image}" - - remove_vm host1 -} - -scenario_run_tests() { - exit_if_image_not_found "${start_image}" - exit_if_image_not_found "${dest_image}" - - run_tests host1 \ - --variable "TARGET_REF:${dest_image}" \ - --variable "BOOTC_REGISTRY:${MIRROR_REGISTRY_URL}" \ - --variable "EXPECTED_OS_VERSION:9.8" \ - suites/upgrade/upgrade-successful.robot \ - suites/standard1/ -} diff --git a/test/scenarios-bootc/el9/releases/el96-y1@el98-lrel@standard2.sh b/test/scenarios-bootc/el9/releases/el96-y1@el98-lrel@standard2.sh deleted file mode 100644 index 391734c232..0000000000 --- a/test/scenarios-bootc/el9/releases/el96-y1@el98-lrel@standard2.sh +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/bash - -# Sourced from scenario.sh and uses functions defined there. - -# NOTE: Unlike most suites, these tests rely on being run IN ORDER to -# ensure MicroShift is upgraded before running standard suite tests -export TEST_RANDOMIZATION=none - -start_image="rhel96-bootc-brew-y1-with-optional" -dest_image="rhel98-bootc-brew-lrel-optional" - -scenario_create_vms() { - exit_if_image_not_found "${start_image}" - exit_if_image_not_found "${dest_image}" - - prepare_kickstart host1 kickstart-bootc.ks.template "${start_image}" - launch_vm rhel96-bootc --vm_vcpus 4 -} - -scenario_remove_vms() { - exit_if_image_not_found "${start_image}" - exit_if_image_not_found "${dest_image}" - - remove_vm host1 -} - -scenario_run_tests() { - exit_if_image_not_found "${start_image}" - exit_if_image_not_found "${dest_image}" - - run_tests host1 \ - --variable "TARGET_REF:${dest_image}" \ - --variable "BOOTC_REGISTRY:${MIRROR_REGISTRY_URL}" \ - suites/upgrade/upgrade-successful.robot \ - suites/standard2/ -} diff --git a/test/scenarios-bootc/el9/releases/el96-y2@el98-lrel@lvms-standard1.sh b/test/scenarios-bootc/el9/releases/el96-y2@el98-lrel@lvms-standard1.sh new file mode 100644 index 0000000000..28ae952980 --- /dev/null +++ b/test/scenarios-bootc/el9/releases/el96-y2@el98-lrel@lvms-standard1.sh @@ -0,0 +1,65 @@ +#!/bin/bash + +# Sourced from scenario.sh and uses functions defined there. + +# NOTE: Unlike most suites, these tests rely on being run IN ORDER to +# ensure MicroShift is upgraded before running validation tests +export TEST_RANDOMIZATION=none + +start_image="rhel96-bootc-brew-y2-with-optional" +dest_image="rhel98-bootc-brew-lrel-optional" + +scenario_create_vms() { + exit_if_image_not_found "${start_image}" + exit_if_image_not_found "${dest_image}" + + prepare_kickstart host1 kickstart-bootc.ks.template "${start_image}" + launch_vm rhel96-bootc --vm_disksize 30 --vm_vcpus 4 +} + +scenario_remove_vms() { + exit_if_image_not_found "${start_image}" + exit_if_image_not_found "${dest_image}" + + remove_vm host1 +} + +scenario_run_tests() { + exit_if_image_not_found "${start_image}" + exit_if_image_not_found "${dest_image}" + + # Wait for MicroShift to be ready + wait_for_microshift_to_be_ready host1 + + # Setup oc client and kubeconfig for ginkgo tests + setup_oc_and_kubeconfig host1 + + # Pre-upgrade: Create LVMS workloads and validate LVMS is working + echo "INFO: Creating LVMS workloads before upgrade..." + run_command_on_vm host1 'bash -s' < "${TESTDIR}/../scripts/lvms-helpers/createWorkloads.sh" + + echo "INFO: Checking LVMS resources before upgrade..." + run_command_on_vm host1 'bash -s' < "${TESTDIR}/../scripts/lvms-helpers/checkLvmsResources.sh" + + # Perform upgrade and validate + run_tests host1 \ + --variable "TARGET_REF:${dest_image}" \ + --variable "BOOTC_REGISTRY:${MIRROR_REGISTRY_URL}" \ + suites/upgrade/upgrade-successful.robot + + # Post-upgrade: Validate LVMS workloads survived the upgrade + echo "INFO: Checking LVMS workloads survived upgrade..." + run_command_on_vm host1 'bash -s' < "${TESTDIR}/../scripts/lvms-helpers/checkWorkloadExists.sh" + + echo "INFO: Checking LVMS resources after upgrade..." + run_command_on_vm host1 'bash -s' < "${TESTDIR}/../scripts/lvms-helpers/checkLvmsResources.sh" + + # Cleanup LVMS workloads + echo "INFO: Cleaning up LVMS workloads..." + run_command_on_vm host1 'bash -s' < "${TESTDIR}/../scripts/lvms-helpers/cleanupWorkload.sh" + + # Run standard1 suite for basic validation after upgrade + run_tests host1 \ + --variable "EXPECTED_OS_VERSION:9.8" \ + suites/standard1/ +} diff --git a/test/scenarios-bootc/el9/releases/el96-y2@el98-lrel@lvms.sh b/test/scenarios-bootc/el9/releases/el96-y2@el98-lrel@lvms-standard2.sh similarity index 95% rename from test/scenarios-bootc/el9/releases/el96-y2@el98-lrel@lvms.sh rename to test/scenarios-bootc/el9/releases/el96-y2@el98-lrel@lvms-standard2.sh index 55393ba7f2..985690dcb0 100644 --- a/test/scenarios-bootc/el9/releases/el96-y2@el98-lrel@lvms.sh +++ b/test/scenarios-bootc/el9/releases/el96-y2@el98-lrel@lvms-standard2.sh @@ -54,10 +54,11 @@ scenario_run_tests() { echo "INFO: Checking LVMS resources after upgrade..." run_command_on_vm host1 'bash -s' < "${TESTDIR}/../scripts/lvms-helpers/checkLvmsResources.sh" - # Run ginkgo tests to validate functionality - run_ginkgo_tests host1 "~Disruptive" - # Cleanup LVMS workloads echo "INFO: Cleaning up LVMS workloads..." run_command_on_vm host1 'bash -s' < "${TESTDIR}/../scripts/lvms-helpers/cleanupWorkload.sh" + + # Run standard2 suite for basic validation after upgrade + run_tests host1 \ + suites/standard2/ } diff --git a/test/scenarios-bootc/el9/releases/el96-y2@el98-lrel@standard1.sh b/test/scenarios-bootc/el9/releases/el96-y2@el98-lrel@standard1.sh deleted file mode 100644 index e6014ab9a0..0000000000 --- a/test/scenarios-bootc/el9/releases/el96-y2@el98-lrel@standard1.sh +++ /dev/null @@ -1,35 +0,0 @@ -#!/bin/bash - -# Sourced from scenario.sh and uses functions defined there. - -# NOTE: Unlike most suites, these tests rely on being run IN ORDER to -# ensure MicroShift is upgraded before running standard suite tests -export TEST_RANDOMIZATION=none - -start_image="rhel96-bootc-brew-y2-with-optional" -dest_image="rhel98-bootc-brew-lrel-optional" - -scenario_create_vms() { - exit_if_image_not_found "${start_image}" - exit_if_image_not_found "${dest_image}" - - prepare_kickstart host1 kickstart-bootc.ks.template "${start_image}" - launch_vm rhel96-bootc --vm_vcpus 4 -} -scenario_remove_vms() { - exit_if_image_not_found "${start_image}" - exit_if_image_not_found "${dest_image}" - - remove_vm host1 -} -scenario_run_tests() { - exit_if_image_not_found "${start_image}" - exit_if_image_not_found "${dest_image}" - - run_tests host1 \ - --variable "TARGET_REF:${dest_image}" \ - --variable "BOOTC_REGISTRY:${MIRROR_REGISTRY_URL}" \ - --variable "EXPECTED_OS_VERSION:9.8" \ - suites/upgrade/upgrade-successful.robot \ - suites/standard1/ -} diff --git a/test/scenarios-bootc/el9/releases/el96-y2@el98-lrel@standard2.sh b/test/scenarios-bootc/el9/releases/el96-y2@el98-lrel@standard2.sh deleted file mode 100644 index 204eee8d23..0000000000 --- a/test/scenarios-bootc/el9/releases/el96-y2@el98-lrel@standard2.sh +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/bash - -# Sourced from scenario.sh and uses functions defined there. - -# NOTE: Unlike most suites, these tests rely on being run IN ORDER to -# ensure MicroShift is upgraded before running standard suite tests -export TEST_RANDOMIZATION=none - -start_image="rhel96-bootc-brew-y2-with-optional" -dest_image="rhel98-bootc-brew-lrel-optional" - -scenario_create_vms() { - exit_if_image_not_found "${start_image}" - exit_if_image_not_found "${dest_image}" - - prepare_kickstart host1 kickstart-bootc.ks.template "${start_image}" - launch_vm rhel96-bootc --vm_vcpus 4 -} - -scenario_remove_vms() { - exit_if_image_not_found "${start_image}" - exit_if_image_not_found "${dest_image}" - - remove_vm host1 -} - -scenario_run_tests() { - exit_if_image_not_found "${start_image}" - exit_if_image_not_found "${dest_image}" - - run_tests host1 \ - --variable "TARGET_REF:${dest_image}" \ - --variable "BOOTC_REGISTRY:${MIRROR_REGISTRY_URL}" \ - suites/upgrade/upgrade-successful.robot \ - suites/standard2/ -} diff --git a/test/scenarios/releases/el96-yminus1@el98-lrel@lvms.sh b/test/scenarios/releases/el96-yminus1@el98-lrel@lvms-standard1.sh similarity index 97% rename from test/scenarios/releases/el96-yminus1@el98-lrel@lvms.sh rename to test/scenarios/releases/el96-yminus1@el98-lrel@lvms-standard1.sh index f6ea2d6e54..83da15dd3d 100644 --- a/test/scenarios/releases/el96-yminus1@el98-lrel@lvms.sh +++ b/test/scenarios/releases/el96-yminus1@el98-lrel@lvms-standard1.sh @@ -14,7 +14,7 @@ scenario_create_vms() { exit_if_commit_not_found "${dest_image}" prepare_kickstart host1 kickstart.ks.template "${start_image}" - launch_vm rhel-9.6 --vm_vcpus 4 + launch_vm rhel-9.6 --vm_disksize 30 --vm_vcpus 4 } scenario_remove_vms() { diff --git a/test/scenarios/releases/el96-yminus1@el98-lrel@lvms-standard2.sh b/test/scenarios/releases/el96-yminus1@el98-lrel@lvms-standard2.sh new file mode 100644 index 0000000000..40ac1b3cdb --- /dev/null +++ b/test/scenarios/releases/el96-yminus1@el98-lrel@lvms-standard2.sh @@ -0,0 +1,63 @@ +#!/bin/bash + +# Sourced from scenario.sh and uses functions defined there. + +# NOTE: Unlike most suites, these tests rely on being run IN ORDER to +# ensure MicroShift is upgraded before running validation tests +export TEST_RANDOMIZATION=none + +start_image="rhel-9.6-microshift-brew-optionals-4.${PREVIOUS_MINOR_VERSION}-zstream" +dest_image="rhel98-brew-lrel-optional" + +scenario_create_vms() { + exit_if_commit_not_found "${start_image}" + exit_if_commit_not_found "${dest_image}" + + prepare_kickstart host1 kickstart.ks.template "${start_image}" + launch_vm rhel-9.6 --vm_disksize 30 --vm_vcpus 4 +} + +scenario_remove_vms() { + exit_if_commit_not_found "${start_image}" + exit_if_commit_not_found "${dest_image}" + + remove_vm host1 +} + +scenario_run_tests() { + exit_if_commit_not_found "${start_image}" + exit_if_commit_not_found "${dest_image}" + + # Wait for MicroShift to be ready + wait_for_microshift_to_be_ready host1 + + # Setup oc client and kubeconfig for ginkgo tests + setup_oc_and_kubeconfig host1 + + # Pre-upgrade: Create LVMS workloads and validate LVMS is working + echo "INFO: Creating LVMS workloads before upgrade..." + run_command_on_vm host1 'bash -s' < "${TESTDIR}/../scripts/lvms-helpers/createWorkloads.sh" + + echo "INFO: Checking LVMS resources before upgrade..." + run_command_on_vm host1 'bash -s' < "${TESTDIR}/../scripts/lvms-helpers/checkLvmsResources.sh" + + # Perform upgrade and validate + run_tests host1 \ + --variable "TARGET_REF:${dest_image}" \ + suites/upgrade/upgrade-successful.robot + + # Post-upgrade: Validate LVMS workloads survived the upgrade + echo "INFO: Checking LVMS workloads survived upgrade..." + run_command_on_vm host1 'bash -s' < "${TESTDIR}/../scripts/lvms-helpers/checkWorkloadExists.sh" + + echo "INFO: Checking LVMS resources after upgrade..." + run_command_on_vm host1 'bash -s' < "${TESTDIR}/../scripts/lvms-helpers/checkLvmsResources.sh" + + # Cleanup LVMS workloads + echo "INFO: Cleaning up LVMS workloads..." + run_command_on_vm host1 'bash -s' < "${TESTDIR}/../scripts/lvms-helpers/cleanupWorkload.sh" + + # Run standard2 suite for basic validation after upgrade + run_tests host1 \ + suites/standard2/ +} diff --git a/test/scenarios/releases/el96-yminus1@el98-lrel@standard1.sh b/test/scenarios/releases/el96-yminus1@el98-lrel@standard1.sh deleted file mode 100644 index 32d65c9fc2..0000000000 --- a/test/scenarios/releases/el96-yminus1@el98-lrel@standard1.sh +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/bash - -# Sourced from scenario.sh and uses functions defined there. - -# NOTE: Unlike most suites, these tests rely on being run IN ORDER to -# ensure MicroShift is upgraded before running standard suite tests -export TEST_RANDOMIZATION=none - -start_image="rhel-9.6-microshift-brew-optionals-4.${PREVIOUS_MINOR_VERSION}-zstream" -dest_image="rhel98-brew-lrel-optional" - -scenario_create_vms() { - exit_if_commit_not_found "${start_image}" - exit_if_commit_not_found "${dest_image}" - - prepare_kickstart host1 kickstart.ks.template "${start_image}" - launch_vm rhel-9.6 --vm_vcpus 4 -} - -scenario_remove_vms() { - exit_if_commit_not_found "${start_image}" - exit_if_commit_not_found "${dest_image}" - - remove_vm host1 -} - -scenario_run_tests() { - exit_if_commit_not_found "${start_image}" - exit_if_commit_not_found "${dest_image}" - - run_tests host1 \ - --variable "TARGET_REF:${dest_image}" \ - --variable "EXPECTED_OS_VERSION:9.8" \ - suites/upgrade/upgrade-successful.robot \ - suites/standard1/ -} diff --git a/test/scenarios/releases/el96-yminus1@el98-lrel@standard2.sh b/test/scenarios/releases/el96-yminus1@el98-lrel@standard2.sh deleted file mode 100644 index 8afcaa38ff..0000000000 --- a/test/scenarios/releases/el96-yminus1@el98-lrel@standard2.sh +++ /dev/null @@ -1,35 +0,0 @@ -#!/bin/bash - -# Sourced from scenario.sh and uses functions defined there. - -# NOTE: Unlike most suites, these tests rely on being run IN ORDER to -# ensure MicroShift is upgraded before running standard suite tests -export TEST_RANDOMIZATION=none - -start_image="rhel-9.6-microshift-brew-optionals-4.${PREVIOUS_MINOR_VERSION}-zstream" -dest_image="rhel98-brew-lrel-optional" - -scenario_create_vms() { - exit_if_commit_not_found "${start_image}" - exit_if_commit_not_found "${dest_image}" - - prepare_kickstart host1 kickstart.ks.template "${start_image}" - launch_vm rhel-9.6 --vm_vcpus 4 -} - -scenario_remove_vms() { - exit_if_commit_not_found "${start_image}" - exit_if_commit_not_found "${dest_image}" - - remove_vm host1 -} - -scenario_run_tests() { - exit_if_commit_not_found "${start_image}" - exit_if_commit_not_found "${dest_image}" - - run_tests host1 \ - --variable "TARGET_REF:${dest_image}" \ - suites/upgrade/upgrade-successful.robot \ - suites/standard2/ -} diff --git a/test/scenarios/releases/el96-yminus2@el98-lrel@lvms-standard1.sh b/test/scenarios/releases/el96-yminus2@el98-lrel@lvms-standard1.sh new file mode 100644 index 0000000000..04a24bd55a --- /dev/null +++ b/test/scenarios/releases/el96-yminus2@el98-lrel@lvms-standard1.sh @@ -0,0 +1,64 @@ +#!/bin/bash + +# Sourced from scenario.sh and uses functions defined there. + +# NOTE: Unlike most suites, these tests rely on being run IN ORDER to +# ensure MicroShift is upgraded before running validation tests +export TEST_RANDOMIZATION=none + +start_image="rhel-9.6-microshift-brew-optionals-4.${YMINUS2_MINOR_VERSION}-zstream" +dest_image="rhel98-brew-lrel-optional" + +scenario_create_vms() { + exit_if_commit_not_found "${start_image}" + exit_if_commit_not_found "${dest_image}" + + prepare_kickstart host1 kickstart.ks.template "${start_image}" + launch_vm rhel-9.6 --vm_disksize 30 --vm_vcpus 4 +} + +scenario_remove_vms() { + exit_if_commit_not_found "${start_image}" + exit_if_commit_not_found "${dest_image}" + + remove_vm host1 +} + +scenario_run_tests() { + exit_if_commit_not_found "${start_image}" + exit_if_commit_not_found "${dest_image}" + + # Wait for MicroShift to be ready + wait_for_microshift_to_be_ready host1 + + # Setup oc client and kubeconfig for ginkgo tests + setup_oc_and_kubeconfig host1 + + # Pre-upgrade: Create LVMS workloads and validate LVMS is working + echo "INFO: Creating LVMS workloads before upgrade..." + run_command_on_vm host1 'bash -s' < "${TESTDIR}/../scripts/lvms-helpers/createWorkloads.sh" + + echo "INFO: Checking LVMS resources before upgrade..." + run_command_on_vm host1 'bash -s' < "${TESTDIR}/../scripts/lvms-helpers/checkLvmsResources.sh" + + # Perform upgrade and validate + run_tests host1 \ + --variable "TARGET_REF:${dest_image}" \ + suites/upgrade/upgrade-successful.robot + + # Post-upgrade: Validate LVMS workloads survived the upgrade + echo "INFO: Checking LVMS workloads survived upgrade..." + run_command_on_vm host1 'bash -s' < "${TESTDIR}/../scripts/lvms-helpers/checkWorkloadExists.sh" + + echo "INFO: Checking LVMS resources after upgrade..." + run_command_on_vm host1 'bash -s' < "${TESTDIR}/../scripts/lvms-helpers/checkLvmsResources.sh" + + # Cleanup LVMS workloads + echo "INFO: Cleaning up LVMS workloads..." + run_command_on_vm host1 'bash -s' < "${TESTDIR}/../scripts/lvms-helpers/cleanupWorkload.sh" + + # Run standard1 suite for basic validation after upgrade + run_tests host1 \ + --variable "EXPECTED_OS_VERSION:9.8" \ + suites/standard1/ +} diff --git a/test/scenarios/releases/el96-yminus2@el98-lrel@lvms.sh b/test/scenarios/releases/el96-yminus2@el98-lrel@lvms-standard2.sh similarity index 95% rename from test/scenarios/releases/el96-yminus2@el98-lrel@lvms.sh rename to test/scenarios/releases/el96-yminus2@el98-lrel@lvms-standard2.sh index 1a13566e2a..0e28d6efe5 100644 --- a/test/scenarios/releases/el96-yminus2@el98-lrel@lvms.sh +++ b/test/scenarios/releases/el96-yminus2@el98-lrel@lvms-standard2.sh @@ -53,10 +53,11 @@ scenario_run_tests() { echo "INFO: Checking LVMS resources after upgrade..." run_command_on_vm host1 'bash -s' < "${TESTDIR}/../scripts/lvms-helpers/checkLvmsResources.sh" - # Run ginkgo tests to validate functionality - run_ginkgo_tests host1 "~Disruptive" - # Cleanup LVMS workloads echo "INFO: Cleaning up LVMS workloads..." run_command_on_vm host1 'bash -s' < "${TESTDIR}/../scripts/lvms-helpers/cleanupWorkload.sh" + + # Run standard2 suite for basic validation after upgrade + run_tests host1 \ + suites/standard2/ } diff --git a/test/scenarios/releases/el96-yminus2@el98-lrel@standard1.sh b/test/scenarios/releases/el96-yminus2@el98-lrel@standard1.sh deleted file mode 100644 index f1f318d24c..0000000000 --- a/test/scenarios/releases/el96-yminus2@el98-lrel@standard1.sh +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/bash - -# Sourced from scenario.sh and uses functions defined there. - -# NOTE: Unlike most suites, these tests rely on being run IN ORDER to -# ensure MicroShift is upgraded before running standard suite tests -export TEST_RANDOMIZATION=none - -start_image="rhel-9.6-microshift-brew-optionals-4.${YMINUS2_MINOR_VERSION}-zstream" -dest_image="rhel98-brew-lrel-optional" - -scenario_create_vms() { - exit_if_commit_not_found "${start_image}" - exit_if_commit_not_found "${dest_image}" - - prepare_kickstart host1 kickstart.ks.template "${start_image}" - launch_vm rhel-9.6 --vm_vcpus 4 -} - -scenario_remove_vms() { - exit_if_commit_not_found "${start_image}" - exit_if_commit_not_found "${dest_image}" - - remove_vm host1 -} - -scenario_run_tests() { - exit_if_commit_not_found "${start_image}" - exit_if_commit_not_found "${dest_image}" - - run_tests host1 \ - --variable "TARGET_REF:${dest_image}" \ - --variable "EXPECTED_OS_VERSION:9.8" \ - suites/upgrade/upgrade-successful.robot \ - suites/standard1/ -} diff --git a/test/scenarios/releases/el96-yminus2@el98-lrel@standard2.sh b/test/scenarios/releases/el96-yminus2@el98-lrel@standard2.sh deleted file mode 100644 index c6d2139629..0000000000 --- a/test/scenarios/releases/el96-yminus2@el98-lrel@standard2.sh +++ /dev/null @@ -1,35 +0,0 @@ -#!/bin/bash - -# Sourced from scenario.sh and uses functions defined there. - -# NOTE: Unlike most suites, these tests rely on being run IN ORDER to -# ensure MicroShift is upgraded before running standard suite tests -export TEST_RANDOMIZATION=none - -start_image="rhel-9.6-microshift-brew-optionals-4.${YMINUS2_MINOR_VERSION}-zstream" -dest_image="rhel98-brew-lrel-optional" - -scenario_create_vms() { - exit_if_commit_not_found "${start_image}" - exit_if_commit_not_found "${dest_image}" - - prepare_kickstart host1 kickstart.ks.template "${start_image}" - launch_vm rhel-9.6 --vm_vcpus 4 -} - -scenario_remove_vms() { - exit_if_commit_not_found "${start_image}" - exit_if_commit_not_found "${dest_image}" - - remove_vm host1 -} - -scenario_run_tests() { - exit_if_commit_not_found "${start_image}" - exit_if_commit_not_found "${dest_image}" - - run_tests host1 \ - --variable "TARGET_REF:${dest_image}" \ - suites/upgrade/upgrade-successful.robot \ - suites/standard2/ -} From bda9bc39d99e166772e56c3d4dcbc1a5514927c3 Mon Sep 17 00:00:00 2001 From: Alejandro Gullon Date: Mon, 27 Apr 2026 13:18:55 +0200 Subject: [PATCH 5/7] NO-JIRA: re-enable ostree RPM scenarios Remove the .disabled suffix from el98 RPM standard1, standard2, and upgrade scenarios to restore their execution in CI. Co-Authored-By: Claude Opus 4.6 pre-commit.check-secrets: ENABLED --- .../{el98@rpm-standard1.sh.disabled => el98@rpm-standard1.sh} | 0 .../{el98@rpm-standard2.sh.disabled => el98@rpm-standard2.sh} | 0 .../{el98@rpm-upgrade.sh.disabled => el98@rpm-upgrade.sh} | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename test/scenarios/releases/{el98@rpm-standard1.sh.disabled => el98@rpm-standard1.sh} (100%) rename test/scenarios/releases/{el98@rpm-standard2.sh.disabled => el98@rpm-standard2.sh} (100%) rename test/scenarios/releases/{el98@rpm-upgrade.sh.disabled => el98@rpm-upgrade.sh} (100%) diff --git a/test/scenarios/releases/el98@rpm-standard1.sh.disabled b/test/scenarios/releases/el98@rpm-standard1.sh similarity index 100% rename from test/scenarios/releases/el98@rpm-standard1.sh.disabled rename to test/scenarios/releases/el98@rpm-standard1.sh diff --git a/test/scenarios/releases/el98@rpm-standard2.sh.disabled b/test/scenarios/releases/el98@rpm-standard2.sh similarity index 100% rename from test/scenarios/releases/el98@rpm-standard2.sh.disabled rename to test/scenarios/releases/el98@rpm-standard2.sh diff --git a/test/scenarios/releases/el98@rpm-upgrade.sh.disabled b/test/scenarios/releases/el98@rpm-upgrade.sh similarity index 100% rename from test/scenarios/releases/el98@rpm-upgrade.sh.disabled rename to test/scenarios/releases/el98@rpm-upgrade.sh From 7011295319b13bc87192fb8afcaf753ed75b51e6 Mon Sep 17 00:00:00 2001 From: Alejandro Gullon Date: Mon, 27 Apr 2026 13:20:01 +0200 Subject: [PATCH 6/7] fix: enable error checking in LVMS cleanupWorkload.sh Change set -ux to set -eux so that cleanup failures (API server unreachable, RBAC errors, etc.) abort the scenario instead of silently exiting 0 and letting subsequent standard suite tests run on a degraded cluster. Co-Authored-By: Claude Opus 4.6 pre-commit.check-secrets: ENABLED --- scripts/lvms-helpers/cleanupWorkload.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/lvms-helpers/cleanupWorkload.sh b/scripts/lvms-helpers/cleanupWorkload.sh index f5a3753acc..ee00934254 100755 --- a/scripts/lvms-helpers/cleanupWorkload.sh +++ b/scripts/lvms-helpers/cleanupWorkload.sh @@ -1,6 +1,6 @@ #!/bin/bash -set -ux +set -eux # Set KUBECONFIG path - use dynamic IP-based path KUBECONFIG=${KUBECONFIG:-/var/lib/microshift/resources/kubeadmin/kubeconfig} From 8d4fd1b72a151723c2cab41fdf2fe70fa008e0d4 Mon Sep 17 00:00:00 2001 From: Alejandro Gullon Date: Mon, 27 Apr 2026 15:42:56 +0200 Subject: [PATCH 7/7] fix: exclude version suite from multi-config scenarios The tuned image overwrites /etc/tuned/microshift-baseline-variables.conf with test-specific values, causing rpm -V --configfiles to fail in the version.robot RPM integrity check. Co-Authored-By: Claude Opus 4.6 pre-commit.check-secrets: ENABLED --- .../el10/releases/el102-lrel@multi-config-standard1.sh | 1 + .../el9/releases/el98-lrel@multi-config-standard1.sh | 1 + 2 files changed, 2 insertions(+) diff --git a/test/scenarios-bootc/el10/releases/el102-lrel@multi-config-standard1.sh b/test/scenarios-bootc/el10/releases/el102-lrel@multi-config-standard1.sh index 7ff48b910e..e0e9a1b94e 100644 --- a/test/scenarios-bootc/el10/releases/el102-lrel@multi-config-standard1.sh +++ b/test/scenarios-bootc/el10/releases/el102-lrel@multi-config-standard1.sh @@ -96,6 +96,7 @@ EOF" echo "INFO: Running validation tests for multi-config scenario..." run_tests host1 \ --variable "EXPECTED_OS_VERSION:10.2" \ + --exclude version \ suites/standard1/ echo "SUCCESS: Multi-config scenario validation completed - no conflicts detected" diff --git a/test/scenarios-bootc/el9/releases/el98-lrel@multi-config-standard1.sh b/test/scenarios-bootc/el9/releases/el98-lrel@multi-config-standard1.sh index f1b3b3675f..dd3304fb00 100644 --- a/test/scenarios-bootc/el9/releases/el98-lrel@multi-config-standard1.sh +++ b/test/scenarios-bootc/el9/releases/el98-lrel@multi-config-standard1.sh @@ -96,6 +96,7 @@ EOF" echo "INFO: Running validation tests for multi-config scenario..." run_tests host1 \ --variable "EXPECTED_OS_VERSION:9.8" \ + --exclude version \ suites/standard1/ echo "SUCCESS: Multi-config scenario validation completed - no conflicts detected"