RHEL-Edge help documentation
RHEL for Edge test from QE is more like an integration test. The test flow aligns with the customer scenario. The whole test includes three parts:
RHEL for Edge image building with osbuild-composer
RHEL for Edge image installation
edge-commit/iot-commit
: Setup HTTP server to serve as ostree repo, and HTTP boot to install with kickstartedge-container/iot-container
: Setup prod ostree repo, edge-container/iot-container
as stage repo, and install with kickstart from prod ostree repoedge-installer/iot-installer
: Install from edge-installer/iot-installer
ISOedge-raw-image/iot-raw-image
: Boot from raw image with KVMedge-simplified-installer
: Install from edge-simplified-installer
ISOminimal-raw
: Boot from RPM based raw image with KVMedge-ami
: Image for AWS ec2 instanceRHEL for Edge system upgrade
Checkings after installation/upgrade.
greenboot
servicespodman
(root and non-root)greenboot
when failure is detectedFor RHEL-Edge project, 90% of features come from osbuild and osbuild-composer. In this case, osbuild and osbuild-composer CI will be used ad RHEL-Edge project upstream CI.
The Upstream CI is triggered by each PR and it focuses on code change.
Considering Upstream CI environment and test duration, the Upstream CI only covers virtualization tests, bare metal is out of Upstream CI scope.
RHEL 8/9, CentOS Stream 8/9 report dashboard
Package greenboot, fido-device-onboard, rust-coreos-installer, rpm-ostree, ostree report
CI for this repository is to test test code
. It's triggered by PR in this repository. Any changes for test code
has to be pass all tests of CI before they are merged into master.
Test of this CI includes:
RHEL-Edge CI details can be found from CI doc
Test suites in scenario:
ostree.sh
and arm-commit.sh
: edge-commit/iot-commit(tar) image type test on RHEL 8.x, RHEL 9.x, CentOS Stream 8, CentOS Stream 9, and Fedoraostree-ng.sh
and arm-installer.sh
: edge-container/iot-container and edge-installer/iot-installer(ISO) image types test on RHEL 8.x, RHEL 9.x, CentOS Stream 8, CentOS Stream 9 and Fedoraostree-raw-image.sh
and arm-raw.sh
: edge-raw-image/iot-raw-image(raw) image types test on RHEL 8.x, RHEL 9.x, CentOS Stream 8, CentOS Stream 9, and Fedoraostree-simplified-installer.sh
and arm-simplified.sh
: edge-simplified-installer(ISO) image types test on RHEL 8.x, RHEL 9.x, CentOS Stream 8, and CentOS Stream 9arm-rebase.sh
: Different ostree ref rebase test on RHEL 8.x and CentOS Stream 8ostree-8-to-9.sh
: RHEL 8/CentOS Stream 8 Edge system upgrade to RHEL 9/CentOS Stream 9 Edge system testostree-9-to-9.sh
: RHEL 9/CentOS Stream 9 Edge system upgrade and rebase to RHEL 9/CentOS Stream 9 Edge system testminimal-raw.sh
and arm-minimal.sh
: RPM based system test (Not ostree)ostree-ignition.sh
and arm-ignition.sh
: Ignition test for simplified installer and raw imageostree-ami-image.sh
: AWS ec2 instance image testYou can run RHEL for Edge test on any x86_64 machine, like server, laptop, or VM, but KVM has to be enabled. Otherwise QEMU will be used and the test will take a really long time.
$ls -l /dev/kvm
To run RHEL for Edge test on ARM server, a bare metal ARM server is required.
RHEL 8.6/8.8/8.9
RHEL 9.0/9.2/9.3
CentOS Stream 8
CentOS Stream 9
Fedora 37 (Simplified-installer not supported)
Fedora 38 (Simplified-installer not supported)
Fedora rawhide (Simplified-installer not supported)
$ DOWNLOAD_NODE="hello-world.com" ./ostree.sh
$ DOWNLOAD_NODE="hello-world.com" OCP4_TOKEN=abcdefg QUAY_USERNAME=rhel-edge QUAY_PASSWORD=123456 ./ostree-ng.sh
$ DOWNLOAD_NODE="hello-world.com" DOCKERHUB_USERNAME=rhel-edge DOCKERHUB_PASSWORD=123456 ./ostree-raw-image.sh
$ DOWNLOAD_NODE="hello-world.com" ./ostree-simplified-installer.sh
$ DOWNLOAD_NODE="hello-world.com" ./ostree-8-to-9.sh
$ DOWNLOAD_NODE="hello-world.com" ./ostree-9-to-9.sh
$ ./minimal-raw.sh (Fedora 37 and above)
$ DOWNLOAD_NODE="hello-world.com" ./ostree-ignition.sh
$ DOWNLOAD_NODE="hello-world.com" ./ostree-ami-image.sh
$ tools/deploy_bare.sh
$ DOWNLOAD_NODE="hello-world.com" ./arm-commit.sh <test os>
$ DOWNLOAD_NODE="hello-world.com" QUAY_USERNAME=rhel-edge QUAY_PASSWORD=123456 ./arm-installer.sh <test os>
$ DOWNLOAD_NODE="hello-world.com" DOCKERHUB_USERNAME=rhel-edge DOCKERHUB_PASSWORD=123456 ./arm-raw.sh <test os>
$ DOWNLOAD_NODE="hello-world.com" ./arm-simplified.sh <test os>
$ DOWNLOAD_NODE="hello-world.com" ./arm-ignition.sh <centos-stream-9 or rhel-9-2>
$ DOWNLOAD_NODE="hello-world.com" ./arm-minimal.sh <fedora-37 or fedora-38>
<test os> can be one of "rhel-9-3", "centos-stream-9", "fedora-38"
You can set these environment variables to run test
QUAY_USERNAME quay.io username
Used to test pushing Edge OCI-archive image to quay.io
QUAY_PASSWORD quay.io password
Used to test pushing Edge OCI-archive image to quay.io
DOCKERHUB_USERNAME Docker hub account username
Used to test pushing Edge OCI-archive image to Docker hub
DOCKERHUB_PASSWORD Docker hub account password
Used to test pushing Edge OCI-archive image to Docker hub
OCP4_TOKEN Edit-able SA token on PSI Openshift 4
Deploy edge-container on PSI OCP4
DOWNLOAD_NODE RHEL nightly compose download URL
Google Chat room