Skip to content
Open
Show file tree
Hide file tree
Changes from 9 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion test/bin/manage_build_cache.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ SCRIPTDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
# shellcheck source=test/bin/common.sh
source "${SCRIPTDIR}/common.sh"

AWS_BUCKET_NAME="${AWS_BUCKET_NAME:-microshift-build-cache}"
AWS_BUCKET_NAME="microshift-ushift-6072-cache-us-west-2"
Copy link
Contributor Author

@agullon agullon Sep 3, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this line change will be removed before merging this PR, add it to speed up this PR testing changes

BCH_SUBDIR=
TAG_SUBDIR=

Expand Down
1 change: 1 addition & 0 deletions test/bin/scenario.sh
Original file line number Diff line number Diff line change
Expand Up @@ -892,6 +892,7 @@ configure_vm_firewall() {
}

# Function to report the full version of locally built RPMs, e.g. "4.17.0"

local_rpm_version() {
if [ ! -d "${LOCAL_REPO}" ]; then
"${TESTDIR}/bin/build_rpms.sh"
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{{- if env.Getenv "BREW_EC_RELEASE_VERSION" "" -}}
localhost/rhel96-bootc-brew-ec-with-optional:latest
{{- end }}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{{- if env.Getenv "BREW_NIGHTLY_RELEASE_VERSION" "" -}}
localhost/rhel96-bootc-brew-nightly-with-optional:latest
{{- end }}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{{- if env.Getenv "BREW_RC_RELEASE_VERSION" "" -}}
localhost/rhel96-bootc-brew-rc-with-optional:latest
{{- end }}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{{- if env.Getenv "BREW_Y0_RELEASE_VERSION" "" -}}
localhost/rhel96-bootc-brew-zstream-with-optional:latest
{{- end }}
2 changes: 1 addition & 1 deletion test/scenarios-bootc/releases/[email protected]
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

scenario_create_vms() {
prepare_kickstart host1 kickstart-bootc.ks.template "rhel96-bootc-brew-${LATEST_RELEASE_TYPE}-with-optional"
launch_vm --boot_blueprint rhel96-bootc
launch_vm --boot_blueprint "rhel96-bootc-brew-${LATEST_RELEASE_TYPE}-with-optional"
}

scenario_remove_vms() {
Expand Down
2 changes: 1 addition & 1 deletion test/scenarios-bootc/releases/[email protected]
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

scenario_create_vms() {
prepare_kickstart host1 kickstart-bootc.ks.template "rhel96-bootc-brew-${LATEST_RELEASE_TYPE}-with-optional"
launch_vm --boot_blueprint rhel96-bootc
launch_vm --boot_blueprint "rhel96-bootc-brew-${LATEST_RELEASE_TYPE}-with-optional"
}

scenario_remove_vms() {
Expand Down
2 changes: 1 addition & 1 deletion test/scenarios/presubmits/[email protected]
Original file line number Diff line number Diff line change
Expand Up @@ -112,5 +112,5 @@ scenario_run_tests() {
--variable "SOURCE_REPO_URL:${source_repo_url}" \
--variable "TARGET_VERSION:${target_version}" \
--variable "PREVIOUS_MINOR_VERSION:${PREVIOUS_MINOR_VERSION}" \
suites/rpm/install-and-upgrade-successful.robot
suites/rpm/install.robot suites/rpm/upgrade-successful.robot
}
18 changes: 0 additions & 18 deletions test/scenarios/releases/[email protected]

This file was deleted.

16 changes: 0 additions & 16 deletions test/scenarios/releases/[email protected]

This file was deleted.

116 changes: 116 additions & 0 deletions test/scenarios/releases/[email protected]
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
#!/bin/bash

# Sourced from scenario.sh and uses functions defined there.

# The RPM-based image used to create the VM for this test does not
# include MicroShift or greenboot, so tell the framework not to wait
# for greenboot to finish when creating the VM.
export SKIP_GREENBOOT=true

# NOTE: Unlike most suites, these tests rely on being run IN ORDER to
# ensure the host is in a good state at the start of each test. We
# could have separated them and run them as separate scenarios, but
# did not want to spend the resources on a new VM.
export TEST_RANDOMIZATION=none

configure_microshift_mirror() {
local -r repo=$1

# `repo` might be empty if we install microshift from rhocp
if [[ -z "${repo}" ]] ; then
return
fi

# `repo` might be an enabled repo from a released version instead
# of a mirror.
if [[ ! "${repo}" =~ ^http ]]; then
return
fi

local -r tmp_file=$(mktemp)
tee "${tmp_file}" >/dev/null <<EOF
[microshift-mirror-rpms]
name=MicroShift Mirror
baseurl=${repo}
enabled=1
gpgcheck=0
skip_if_unavailable=0
EOF
copy_file_to_vm host1 "${tmp_file}" "${tmp_file}"
run_command_on_vm host1 "sudo cp ${tmp_file} /etc/yum.repos.d/microshift-mirror-rpms.repo"
rm -f "${tmp_file}"
}

configure_rhocp_repo() {
local -r rhocp=$1
local -r version=$2

# The repository may be empty if the beta mirror is not up yet
if [[ -z "${rhocp}" ]] ; then
return
fi

if [[ "${rhocp}" =~ ^[0-9]{2} ]]; then
run_command_on_vm host1 "sudo subscription-manager repos --enable rhocp-4.${rhocp}-for-rhel-9-\$(uname -m)-rpms"
elif [[ "${rhocp}" =~ ^http ]]; then
local -r ocp_repo_name="rhocp-4.${version}-for-rhel-9-mirrorbeta-rpms"
local -r tmp_file=$(mktemp)

tee "${tmp_file}" >/dev/null <<EOF
[${ocp_repo_name}]
name=Beta rhocp RPMs for RHEL 9
baseurl=${rhocp}
enabled=1
gpgcheck=0
skip_if_unavailable=0
EOF
copy_file_to_vm host1 "${tmp_file}" "${tmp_file}"
run_command_on_vm host1 "sudo cp ${tmp_file} /etc/yum.repos.d/${ocp_repo_name}.repo"
rm -f "${tmp_file}"
fi
}

scenario_create_vms() {
prepare_kickstart host1 kickstart-liveimg.ks.template ""
launch_vm

# Open the firewall ports. Other scenarios get this behavior by
# embedding settings in the blueprint, but there is no blueprint
# for this scenario. We need do this step before running the RF
# suite so that suite can assume it can reach all of the same
# ports as for any other test.
configure_vm_firewall host1

# Register the host with subscription manager so we can install
# dependencies.
subscription_manager_register host1
}

scenario_remove_vms() {
remove_vm host1
}

scenario_run_tests() {
local -r reponame=$(basename "${BREW_REPO}")
local -r repo_url="${WEB_SERVER_URL}/rpm-repos/${reponame}"
local -r target_version=$(local_rpm_version "${BREW_REPO}")

# Enable the rhocp and dependency repositories.
#
# Note that rhocp or beta dependencies repository may not yet exist
# for the current version. Then, just use whatever we can get for
# the previous minor version.
configure_rhocp_repo "${RHOCP_MINOR_Y}" "${MINOR_VERSION}"
configure_rhocp_repo "${RHOCP_MINOR_Y_BETA}" "${MINOR_VERSION}"
configure_rhocp_repo "${RHOCP_MINOR_Y1}" "${PREVIOUS_MINOR_VERSION}"
configure_rhocp_repo "${RHOCP_MINOR_Y1_BETA}" "${PREVIOUS_MINOR_VERSION}"
configure_microshift_mirror "${PREVIOUS_RELEASE_REPO}"
run_command_on_vm host1 "sudo subscription-manager repos --enable fast-datapath-for-rhel-9-\$(uname -m)-rpms"

run_tests host1 \
--exitonfailure \
--variable "SOURCE_REPO_URL:${repo_url}" \
--variable "TARGET_VERSION:${target_version}" \
--variable "PREVIOUS_MINOR_VERSION:${PREVIOUS_MINOR_VERSION}" \
suites/rpm/install-and-upgrade-successful.robot
}
85 changes: 85 additions & 0 deletions test/scenarios/releases/[email protected]
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
#!/bin/bash

# Sourced from scenario.sh and uses functions defined there.

# The RPM-based image used to create the VM for this test does not
# include MicroShift or greenboot, so tell the framework not to wait
# for greenboot to finish when creating the VM.
export SKIP_GREENBOOT=true

# NOTE: Unlike most suites, these tests rely on being run IN ORDER to
# ensure the host is in a good state at the start of each test. We
# could have separated them and run them as separate scenarios, but
# did not want to spend the resources on a new VM.
export TEST_RANDOMIZATION=none

configure_rhocp_repo() {
local -r rhocp=$1
local -r version=$2

# The repository may be empty if the beta mirror is not up yet
if [[ -z "${rhocp}" ]] ; then
return
fi

if [[ "${rhocp}" =~ ^[0-9]{2} ]]; then
run_command_on_vm host1 "sudo subscription-manager repos --enable rhocp-4.${rhocp}-for-rhel-9-\$(uname -m)-rpms"
elif [[ "${rhocp}" =~ ^http ]]; then
local -r ocp_repo_name="rhocp-4.${version}-for-rhel-9-mirrorbeta-rpms"
local -r tmp_file=$(mktemp)

tee "${tmp_file}" >/dev/null <<EOF
[${ocp_repo_name}]
name=Beta rhocp RPMs for RHEL 9
baseurl=${rhocp}
enabled=1
gpgcheck=0
skip_if_unavailable=0
EOF
copy_file_to_vm host1 "${tmp_file}" "${tmp_file}"
run_command_on_vm host1 "sudo cp ${tmp_file} /etc/yum.repos.d/${ocp_repo_name}.repo"
rm -f "${tmp_file}"
fi
}

scenario_create_vms() {
prepare_kickstart host1 kickstart-liveimg.ks.template ""
launch_vm

# Open the firewall ports. Other scenarios get this behavior by
# embedding settings in the blueprint, but there is no blueprint
# for this scenario. We need do this step before running the RF
# suite so that suite can assume it can reach all of the same
# ports as for any other test.
configure_vm_firewall host1

# Register the host with subscription manager so we can install
# dependencies.
subscription_manager_register host1
}

scenario_remove_vms() {
remove_vm host1
}

scenario_run_tests() {
local -r reponame=$(basename "${BREW_REPO}")
local -r repo_url="${WEB_SERVER_URL}/rpm-repos/${reponame}"

# Enable the rhocp and dependency repositories.
#
# Note that rhocp or beta dependencies repository may not yet exist
# for the current version. Then, just use whatever we can get for
# the previous minor version.
configure_rhocp_repo "${RHOCP_MINOR_Y}" "${MINOR_VERSION}"
configure_rhocp_repo "${RHOCP_MINOR_Y_BETA}" "${MINOR_VERSION}"
run_command_on_vm host1 "sudo subscription-manager repos --enable fast-datapath-for-rhel-9-\$(uname -m)-rpms"

run_tests host1 \
--exitonfailure \
--variable "SOURCE_REPO_URL:${repo_url}" \
--variable "TARGET_VERSION:${BREW_LREL_RELEASE_VERSION}" \
--variable "EXPECTED_OS_VERSION:9.6" \
suites/rpm/install.robot \
suites/standard1/ suites/selinux/validate-selinux-policy.robot
}
85 changes: 85 additions & 0 deletions test/scenarios/releases/[email protected]
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
#!/bin/bash

# Sourced from scenario.sh and uses functions defined there.

# The RPM-based image used to create the VM for this test does not
# include MicroShift or greenboot, so tell the framework not to wait
# for greenboot to finish when creating the VM.
export SKIP_GREENBOOT=true

# NOTE: Unlike most suites, these tests rely on being run IN ORDER to
# ensure the host is in a good state at the start of each test. We
# could have separated them and run them as separate scenarios, but
# did not want to spend the resources on a new VM.
export TEST_RANDOMIZATION=none

configure_rhocp_repo() {
local -r rhocp=$1
local -r version=$2

# The repository may be empty if the beta mirror is not up yet
if [[ -z "${rhocp}" ]] ; then
return
fi

if [[ "${rhocp}" =~ ^[0-9]{2} ]]; then
run_command_on_vm host1 "sudo subscription-manager repos --enable rhocp-4.${rhocp}-for-rhel-9-\$(uname -m)-rpms"
elif [[ "${rhocp}" =~ ^http ]]; then
local -r ocp_repo_name="rhocp-4.${version}-for-rhel-9-mirrorbeta-rpms"
local -r tmp_file=$(mktemp)

tee "${tmp_file}" >/dev/null <<EOF
[${ocp_repo_name}]
name=Beta rhocp RPMs for RHEL 9
baseurl=${rhocp}
enabled=1
gpgcheck=0
skip_if_unavailable=0
EOF
copy_file_to_vm host1 "${tmp_file}" "${tmp_file}"
run_command_on_vm host1 "sudo cp ${tmp_file} /etc/yum.repos.d/${ocp_repo_name}.repo"
rm -f "${tmp_file}"
fi
}

scenario_create_vms() {
prepare_kickstart host1 kickstart-liveimg.ks.template ""
launch_vm

# Open the firewall ports. Other scenarios get this behavior by
# embedding settings in the blueprint, but there is no blueprint
# for this scenario. We need do this step before running the RF
# suite so that suite can assume it can reach all of the same
# ports as for any other test.
configure_vm_firewall host1

# Register the host with subscription manager so we can install
# dependencies.
subscription_manager_register host1
}

scenario_remove_vms() {
remove_vm host1
}

scenario_run_tests() {
local -r reponame=$(basename "${BREW_REPO}")
local -r repo_url="${WEB_SERVER_URL}/rpm-repos/${reponame}"

# Enable the rhocp and dependency repositories.
#
# Note that rhocp or beta dependencies repository may not yet exist
# for the current version. Then, just use whatever we can get for
# the previous minor version.
configure_rhocp_repo "${RHOCP_MINOR_Y}" "${MINOR_VERSION}"
configure_rhocp_repo "${RHOCP_MINOR_Y_BETA}" "${MINOR_VERSION}"
run_command_on_vm host1 "sudo subscription-manager repos --enable fast-datapath-for-rhel-9-\$(uname -m)-rpms"

run_tests host1 \
--exitonfailure \
--variable "SOURCE_REPO_URL:${repo_url}" \
--variable "TARGET_VERSION:${BREW_LREL_RELEASE_VERSION}" \
--variable "EXPECTED_OS_VERSION:9.6" \
suites/rpm/install.robot \
suites/standard2/
}
Loading