Test Environment
This page describes details about the test environment.
Supported Architectures
Epel
Before Testing Farm starts installing artifacts into the test environment, it adds the EPEL repositories to the system.
Epel repository is added only for CentOS Stream distributions tested via the 🌍 Public ranch.
For RHEL the repository is not added by default, as this is not considered a best practice when testing RHEL.
For enabling the repository for RHEL you can use:
-
a tmt prepare step running a shell command as described in EPEL quickstart guide
-
in case you are a Beakerlib user, you can use the BeakerLib epel library
Tag Repository
Before Testing Farm starts installing artifacts into the test environment, it adds the "tag repository" to the system.
This repository contains all builds tagged with -candidate
(i.e. which passed gating) that are not yet present in the nightly repository.
It’s currently necessary as landing in nightly can take an indefinite amount of time due to the manual "pre-validation" and "attach to erratum" steps.
Adding this repository greatly reduces the number of artifact installation failures.
The tag repository is auto-generated by the build system - Koji or Brew. As a package maintainer you might know it under the name brew/koji buildroot repository.
The base URL of the repository is set up according to the test environment operating system.
Tag repository is added:
-
for RHEL, CentOS Stream and Fedora based distributions
-
when testing on VM or Bare Metal, i.e. for container testing the setup is skipped
-
for Fedora and CentOS the tag repository is enabled during test execution, see Disabling section if you would like to disable the repository during your testing
-
for RHEL the tag repository is disabled during the test execution, see Enabling section if you would like to enable the repository during your testing
Tag repository details:
-
repository name:
testing-farm-tag-repository
-
priority
-
🌍 Public Ranch -
9
(higher than system repos) -
🎩 Red Hat Ranch -
999
(lower than system repos)
-
Disabling
This is applicable only for CentOS Stream and Fedora, in RHEL the tag repository is disabled for test execution. |
If you would like to disable the tag repository during test execution add below adjust rule to your tmt
plan.
This can be useful if the tag repository is causing issues for your testing.:W!
-
Fedora
adjust: - when: distro == fedora prepare+: - how: shell order: 20 script: dnf config-manager --set-disabled testing-farm-tag-repository because: Don't use Testing Farm tag repository.
-
CentOS Stream
adjust: - when: distro == centos-stream prepare+: - how: shell order: 20 script: dnf config-manager --set-disabled testing-farm-tag-repository because: Don't use Testing Farm tag repository.
Enabling
This is applicable only for RHEL, for CentOS Stream and Fedora the tag repository is enabled during test execution. |
If you would like to enable the tag repository during test execution add the below adjust rule to your plan.
This can be useful if you package depends on a specific version of another package pulled in from the tag repository and your want to install some additional packages from it, e.g. the -devel
package.
adjust:
- when: distro == rhel
prepare+:
- how: shell
order: 20
script: dnf config-manager --set-enabled testing-farm-tag-repository
because: Use Testing Farm tag repository during test execution.
Composes
Testing farm supports a variety of composes, depending on the ranch being used. The lists of composes for every ranch are available below:
When Compose YUM repositories are removed upstream, the composes become almost useless.
If you would like to keep a compose for longer than the default time, you will need to request that it be tagged with by ENGCMP with do-not-remove
.
You will also need to change the keep_until
date in variables-composes-yaml.
Either request this from Testing Farm team or make a merge request.