diff --git a/docs/guidelines/openqa_manual_install.md b/docs/guidelines/openqa_manual_install.md index 999c04e..298ee20 100644 --- a/docs/guidelines/openqa_manual_install.md +++ b/docs/guidelines/openqa_manual_install.md @@ -1,10 +1,11 @@ --- title: Manual Install of OpenQA for rockylinux author: Alan Marshall -revision_date: 2024-04-27 +version: v1.0 +revision_date: 2024-04-28 rc: prod: Rocky Linux - level: Draft + level: Issue --- @@ -27,7 +28,7 @@ Some pages use queries to select what should be shown. The query parameters are ## Step-by-step Install Guide -OpenQA can be installed only on a Fedora (or OpenSUSE) server or workstation. The following install procedure was tested on Fedora 40 Server. +OpenQA can be installed only on a Fedora (or OpenSUSE) server or workstation. The following install procedure was tested on Fedora 40 Server. You can use either a local terminal or an ssh login from another host on the lan. ``` # install Packages @@ -129,18 +130,35 @@ sudo init 6 # post tests and view progress on webui cd /var/lib/openqa/tests/rocky/ +sudo ./fifloader.py -c -l templates.fif.json sudo openqa-cli api -X POST isos ISO=Rocky-9.3-x86_64-minimal.iso ARCH=x86_64 DISTRI=rocky FLAVOR=minimal-iso VERSION=9.3 BUILD="$(date +%Y%m%d.%H%M%S).0"-minimal sudo openqa-cli api -X POST isos ISO=Rocky-9.3-x86_64-boot.iso ARCH=x86_64 DISTRI=rocky FLAVOR=boot-iso VERSION=9.3 BUILD="$(date +%Y%m%d.%H%M%S).0"-boot - +and for a full build (this will post 95 jobs) +sudo openqa-cli api -X POST isos ISO=Rocky-9.3-x86_64-dvd.iso ARCH=x86_64 DISTRI=rocky FLAVOR=dvd-iso VERSION=9.3 BUILD="$(date +%Y%m%d.%H%M%S).0"-dvd-iso +sudo openqa-cli api -X POST isos ISO=Rocky-9.3-x86_64-dvd.iso ARCH=x86_64 DISTRI=rocky FLAVOR=universal VERSION=9.3 BUILD="$(date +%Y%m%d.%H%M%S).0"-universal ``` -At this point your system is configured for single vm deployment and it can be used as such. Pause here if you wish to get some practice using openqa before progressing further (recommended). +You can watch progress of these tests on the webui on any browser on the same lan as the test host at + +```http:///tests``` + +If you click "login" in the top right corner you will be able to control tests from the webui. + +At this point the multi-vm tests will fail or be skipped. This is because at the moment your system is configured for single vm deployment and it can be used as such. Pause your installation here if you wish to get some practice using openqa before progressing further (recommended). + Installation of facilities for multi-vm testing, which is substantially more complicated, will be described in this document in a later revision (watch this space). -### Helper Scripts +### Helpers -[see here](https://github.com/rocky-linux/os-autoinst-distri-rocky/tree/develop/scripts) +#### Createhdds +Createhdds is used to prepare .img and .qcow2 files for some of the Rocky tests. If you ran the above procedure you will have noticed that it produces a number of files in /var/lib/openqa/factory/hdd/fixed determined by the files provided [here](https://github.com/rocky-linux/createhdds). +#### openqa-cli + +Tests are normally posted using openqa-cli as you have already used above. Test parameters are listed and explained [here](https://github.com/rocky-linux/os-autoinst-distri-rocky/blob/develop/VARIABLES.md) + +#### Scripts +see [here](https://github.com/rocky-linux/os-autoinst-distri-rocky/tree/develop/scripts) - cancel-build.sh is especially useful when you discover that you have initiated a large build and got it wrong... d'oh. ### Using Templates @@ -156,10 +174,12 @@ This section describes how an instance of OpenQA *could* be configured using the 1. Define job groups in 'Job groups' menu for groups of tests 1. Select individual 'Job groups' and decide what combinations make sense and need to be tested -If you followed the install guide above then the cloned Rocky tests from [os-autoinst-distri-rocky](https://github.com/rocky-linux/os-autoinst-distri-rocky) will have pre-configured the admin area of the webUI. You may find it useful when reading the following sections. +If you followed the install guide above then the cloned Rocky tests from [os-autoinst-distri-rocky](https://github.com/rocky-linux/os-autoinst-distri-rocky) will have pre-configured the admin area of the webUI. You may find it useful to consult when reading the following sections. Machines, mediums, test suites and job templates can all set various configuration variables. The job templates within the job groups define how the test suites, mediums and machines should be combined in various ways to produce individual 'jobs'. All the variables from the test suite, medium, machine and job template are combined and made available to the actual test code run by the 'job', along with variables specified as part of the job creation request. Certain variables also influence OpenQA’s and/or os-autoinst’s own behavior in terms of how it configures the environment for the job. +The configuration is set up from /var/lib/openqa/tests/rocky/templates.fif.json + #### Machines You need to have at least one machine set up to be able to run any tests. Those machines represent virtual machine types that you want to test. Realistically to make tests actually happen, you have to have a number of 'OpenQA workers' connected that can fulfill these specifications. @@ -210,6 +230,8 @@ The scenario definitions within the job groups can be created and configured by ### Needles Needles are very precise and the slightest deviation from the specified display will be detected. This means that every time there is a new release, very small changes occur in layout of displays resulting in many new or modified needles being required. There is always a significant amount of work needed by the Test Team to produce the automatic tests for a new version. +A very useful feature of the webui is the online needle editor. When a test fails for a missing needle, the needle editor can be activated by clicking the icon and a new needle can be created, usually by copying a similar needle together with the current screenshot. The needle files are saved in the /var/lib/openqa/tests/rocky/needles directory. + ### Upstream Documentation [Upstream documentation](https://github.com/os-autoinst/openQA/blob/master/docs/Installing.asciidoc) is useful for reference but since it is a mixture of advice and instructions relating to openSUSE and Fedora which have substantial differences between them it is not always clear which are significant for Rocky. However, as an rpm based distribution, Rocky Linux use is loosely related to the [Fedora](https://fedoraproject.org/wiki/OpenQA) version. @@ -258,17 +280,20 @@ scenario build * Different versions of a product as tested, can be considered a "sub-version" of version, e.g. "Build1234"; CAUTION: ambiguity: either with the prefix "Build" included or not -#### History (briefly) +### History (briefly) Openqa started with OS-autoinst: automated testing of Operating Systems The OS-autoinst project aims at providing a means to run fully automated tests, especially to run tests of basic and low-level operating system components such as bootloader, kernel, installer and upgrade, which can not easily be tested with other automated testing frameworks. However, it can just as well be used to test firefox and openoffice operation on top of a newly installed OS. OpenQA is a test-scheduler and web-front for openSUSE and Fedora using OS-autoinst as a backend. OpenQA originated at openSuse and was adopted by Fedora as the automated test system for their frequent distribution updates. Maintenance activity is fairly intense and is ongoing at various levels of users. OpenQA was adopted by Rocky Linux Test Team as the preferred automated testing system for the ongoing releases of it's distribution. OpenQA is free software released under the GPLv2 license. -#### Attribution +### Attribution This guide is heavily inspired by the numerous upstream documents in which installation and usage of OS-autoinst and OpenQA are described. -#### References +### References Since Rocky Linux use of OpenQA is drawn from upstream Fedora and hence openSUSE this document contains **many** passages which are edited versions of upstream documentation and that use is hereby gratefully acknowledged. As with many open source projects, we build on previous work. +### Revision History + +v1.0 - 2024/04/28 - First Issue