Skip to content

AlmaLinux/openqa-infra

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Almalinux OpenQA :id=start

AlmaLinux OS testing framework implemented using OpenSUSE OpenQA test framework. This repository contains the necessary install scripts and documentation to set up the OpenQA environment.

Quick Start

Quick Start is divided into a few parts. Use the left-side navigation to jump to any required topic. Check the sections below for hardware and software needed to work on fixes or enhancements.

  • Summary of repositories
  • Installation
  • Tests

Repositories

There are three GitHub Repositories involved in AlmaLinux OpenQA Testing.

  • openqa-infra - Contains the install and configuration scripts (shell and Dockerfile) and essential documentation. Documentation written in Markdown language, rendered using Doctify library. Web pages are rendered using gh-pages service.
  • os-autoinst-distri-almalinux - OpenQA Test scripts. Test scripts are written in Perl, and utilities and templates are written in Python and JSON. This repository also contains OpenQA needles which are used for test validation.
  • openqa-createhdds - Utility project to create hard-disk image files from KickStarts files using Python and Libvirt Guest OS API. Some preprocessed HDDs (QCOW2 files) were used as input for advanced OpenQA tests.

Type of Installation

A single workstation or VM install is recommended for normal test development, fixes, and enhancements. Server Web UI and Worker Node(s) are on the same device in this approach.

Docker container-based setup is recommended for multi-user usage environments.

Tests

When the Test environment is ready, proceed to initialize the database and load config, jobs, and schedules.

Start work on testing!

What is OpenQA

openQA is a testing framework that allows you to test GUI applications on one hand and bootloader and kernel on the other. In both cases, it is difficult to script tests and verify the output. Output can be a popup window or it can be an error in early boot even before init is executed.

Therefore openQA runs virtual machines and closely monitors their state and runs tests on them.

The testing framework can be divided in two parts. The one that is hosted in this repository contains the web frontend and management logic (test scheduling, management, high-level API, ...)

The other part that you need to run openQA is the OS-autoinst test engine that is hosted in a separate repository.

Setup Requirements

Software Requirements

Setting up a test environment in a clean/fresh dedicated system is recommended.

  • Almaliux 9 system, Fedora 37 can be used as an alternative.
  • Internet connection at the time of installation and configuration.
  • Docker installed and configured, in case of using a docker/container environment for tests

Hardware Requirements

The minimum hardware requirements for the host test system to run server UI and one worker node are as follows ...

  • 4 core cups
  • 8GB RAM
  • 64GB HDD
  • Internet connection

?> NOTE: Two or more times, the hardware specifications are required to set up advanced tests script environments.

Next Steps

We have two high level methods to get your AlmaLinux OpenQA test environments ready.

  • Using BMs/VMs - Install server and worker node(s) in bare metals or high configuration VM(s) required for this method. Both server and worker are installed and configured to perform tests. Native KVM support is required for better performance.
  • Using docker/podman - Use docker/container images for a quick start. The docker hub already has container images for immediate use. Source container files are also available for any further customizations.

References

OpenQA Knowledge references: