wiki/search/search_index.json

1 line
313 KiB
JSON

{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"]},"docs":[{"location":"","title":"Testing Team Wiki","text":""},{"location":"#links","title":"Links","text":"<ul> <li>Rocky Linux Mattermost: ~Testing</li> <li>Rocky Linux openQA: https://openqa.rockylinux.org</li> </ul>"},{"location":"#responsibilities","title":"Responsibilities","text":"<p>The Testing Team handles testing and QA for Rocky Linux.</p>"},{"location":"#meetings-communications","title":"Meetings / Communications","text":"<ul> <li>Weekly Team Meeting: Zoom</li> </ul>"},{"location":"#members","title":"Members","text":"<p>For a list of our members, see the Members page.</p> Additional Information ContactDisclaimerLicense <p>If you have questions with respect to this content or to report concerns regarding the use or misuse content please do not hesitate to contact us at info@rockylinux.org.</p> <p>Rocky Linux and the Rocky Enterprise Software Foundation (RESF) does not make any express or implied warranties, including but not limited to the warranties of non-infringement of any third party intellectual property rights. RESF does not warrant that any pending trademark applications for trademarks of RESF will result in any granted trademark protection. RESF shall not be liable for any claims relating to user's activities falling within the scope of the permission and user hereby agrees to indemnify, defend and hold RESF and its contributors harmless against any such claim.</p> <p>This content is licensed under under Attribution-Share Alike 4.0 International license unless otherwise noted.</p>"},{"location":"members/","title":"Members","text":"Role Name Email Mattermost Name IRC Name Testing Lead Chris Stackpole stack@rockylinux.org @stack Testing Team Al Bowles @raktajino raktajino Testing Team Trevor Cooper tcooper@rockylinux.org @tcooper Testing Team Lukas Magauer lukas@magauer.eu @lumarel Testing Team Alan Marshall @alangm alangm Testing Team Rich Alloway @ralloway Testing Team Anthony Navarro @anavarro10 Additional Information ContactDisclaimerLicense <p>If you have questions with respect to this content or to report concerns regarding the use or misuse content please do not hesitate to contact us at info@rockylinux.org.</p> <p>Rocky Linux and the Rocky Enterprise Software Foundation (RESF) does not make any express or implied warranties, including but not limited to the warranties of non-infringement of any third party intellectual property rights. RESF does not warrant that any pending trademark applications for trademarks of RESF will result in any granted trademark protection. RESF shall not be liable for any claims relating to user's activities falling within the scope of the permission and user hereby agrees to indemnify, defend and hold RESF and its contributors harmless against any such claim.</p> <p>This content is licensed under under Attribution-Share Alike 4.0 International license unless otherwise noted.</p>"},{"location":"documentation/","title":"Documentation","text":"<p>This section goes over various Documentation for the Testing team. Please use the menu items to find the various pages of interest.</p> Additional Information ContactDisclaimerLicense <p>If you have questions with respect to this content or to report concerns regarding the use or misuse content please do not hesitate to contact us at info@rockylinux.org.</p> <p>Rocky Linux and the Rocky Enterprise Software Foundation (RESF) does not make any express or implied warranties, including but not limited to the warranties of non-infringement of any third party intellectual property rights. RESF does not warrant that any pending trademark applications for trademarks of RESF will result in any granted trademark protection. RESF shall not be liable for any claims relating to user's activities falling within the scope of the permission and user hereby agrees to indemnify, defend and hold RESF and its contributors harmless against any such claim.</p> <p>This content is licensed under under Attribution-Share Alike 4.0 International license unless otherwise noted.</p>"},{"location":"documentation/qa_test_cases/","title":"QA:Test Cases","text":"<p>This page lists all test cases in work and who is working on them...</p>"},{"location":"documentation/qa_test_cases/#initialization-requirements","title":"Initialization Requirements","text":"Requirement Test Case Assignee Status Release-blocking images must bootRocky Linux 8 Rocky Linux 9 QA:Testcase Boot Methods Boot ISO @tcooper template exists, openQA covered (ref) Release-blocking images must bootRocky Linux 8 Rocky Linux 9 QA:Testcase Boot Methods DVD @tcooper template exists, openQA covered (ref) Basic Graphics Mode behaviorsRocky Linux 8 QA:Testcase Basic Graphics Mode @tcooper openQA TestCase VNC Graphics Mode behaviorsRocky Linux 9 QA:Testcase VNC Graphics Mode @tcooper openQA TestCase No Broken PackagesRocky Linux 8 Rocky Linux 9 QA:Testcase Media RepoclosureQA:Testcase Media File Conflicts @tcooper manual using scripts or automated in CI Repositories Must Match UpstreamRocky Linux 8 Rocky Linux 9 QA:Testcase repocompare @tcooper manual using Skip's repocompare DebrandingRocky Linux 8 Rocky Linux 9 QA:Testcase Debranding Analysis @tcooper manual using scripts or automated in CI"},{"location":"documentation/qa_test_cases/#installer-requirements","title":"Installer Requirements","text":"Requirement Test Case Assignee Status Media Consistency Verification QA:Testcase Media USB ddQA:Testcase Boot Methods Boot ISOQA:Testcase Boot Methods DVD @raktajino Packages and Installer Sources QA:Testcase Packages and Installer Sources @raktajino Implemented in openQA, document NAS (Network Attached Storage) QA:Testcase Network Attached Storage @raktajino Installation Interfaces QA:Testcase Installation Interfaces @raktajino Implemented in openQA, document Minimal Installation QA:Testcase Minimal Installation @raktajino Implemented in openQA, document Kickstart Installation QA:Testcase Kickstart Installation @raktajino Implemented in openQA, document Disk Layouts QA:Testcase Disk Layouts @raktajino Implemented in openQA, document Firmware RAID QA:Testcase Firmware RAID @raktajino Bootloader Disk Selection QA:Testcase Bootloader Disk Selection @raktajino Storage Volume Resize QA:Testcase Storage Volume Resize @raktajino Implemented in openQA, document Update Image QA:Testcase Update Image @raktajino Implemented in openQA, document Installer Help QA:Testcase Installer Help @raktajino Implemented in openQA, document Installer Translations QA:Testcase Installer Translations @raktajino Implemented in openQA, document"},{"location":"documentation/qa_test_cases/#cloud-image-requirements","title":"Cloud Image Requirements","text":"Requirement Test Case Assignee Status Images Published to Cloud Providers QA:Testcase TBD @tbd"},{"location":"documentation/qa_test_cases/#post-installation-requirements","title":"Post-Installation Requirements","text":"Requirement Test Case Assignee Status System Services QA:Testcase System Services @lumarel manual guide documented or needs new openQA testcase Keyboard Layout QA:Testcase Keyboard Layout @lumarel implemented in openQA SELinux Errors (Server) QA:Testcase SELinux Errors on Server @lumarel implemented in openQA SELinux and Crash Notifications (Desktop Only) QA:Testcase SELinux Errors on Desktop @lumarel partly implemented in openQA Default Application Functionality (Desktop Only) QA:Testcase Application Functionality @lumarel manual guide documented Default Panel Functionality (Desktop Only) QA:Testcase GNOME UI Functionality @lumarel implemented in openQA, additionally documented for manual inspection Dual Monitor Setup (Desktop Only) QA:Testcase Multimonitor Setup @lumarel manual guide documented Artwork and Assets (Server and Desktop) QA:Testcase Artwork and Assets @lumarel implemented in openQA, additionally documented for manual inspection Packages and Module Installation QA:Testcase Basic Package installsQA:Testcase Module Streams @lumarel partly implemented in openQA, manual guide documented Identity Management (FreeIPA) QA:Testcase Identity Management @lumarel manual guide documented, PR open for openQA implementation Additional Information ContactDisclaimerLicense <p>If you have questions with respect to this content or to report concerns regarding the use or misuse content please do not hesitate to contact us at info@rockylinux.org.</p> <p>Rocky Linux and the Rocky Enterprise Software Foundation (RESF) does not make any express or implied warranties, including but not limited to the warranties of non-infringement of any third party intellectual property rights. RESF does not warrant that any pending trademark applications for trademarks of RESF will result in any granted trademark protection. RESF shall not be liable for any claims relating to user's activities falling within the scope of the permission and user hereby agrees to indemnify, defend and hold RESF and its contributors harmless against any such claim.</p> <p>This content is licensed under under Attribution-Share Alike 4.0 International license unless otherwise noted.</p>"},{"location":"documentation/QA/Testcase_Basic_Graphics_Mode/","title":"QA:Testcase Basic Graphics Mode","text":"<p>REFERENCED RELEASE CRITERIA IS OVERLY GENERAL AND UNTESTABLE</p> <p>The associated release criteria, Release_Criteria#basic-graphics-mode-behaviors, for this test case is overly general and must be modified to specific enough to be testable.</p> <p>Associated release criterion</p> <p>This test case is associated with the Release_Criteria#basic-graphics-mode-behaviors release criterion. If you are doing release validation testing, a failure of this test case may be a breach of that release criterion.</p>"},{"location":"documentation/QA/Testcase_Basic_Graphics_Mode/#description","title":"Description","text":"<p>This test case will verify that release-blocking installers function as intended using the generic video driver option (\u201cbasic graphics mode\u201d) on supported systems and classes of hardware.</p> Supported Systems and Hardware Classes x86_64aarch64ppc64s309x <p>TBD</p> <p>TBD</p> <p>TBD</p> <p>TBD</p>"},{"location":"documentation/QA/Testcase_Basic_Graphics_Mode/#setup","title":"Setup","text":"<ol> <li>Obtain access to supported system and hardware class to be installed.</li> <li>Prepare appropriate media for the selected ISO to be tested.<ul> <li>Example: QA:Testcase Media USB dd</li> </ul> </li> </ol>"},{"location":"documentation/QA/Testcase_Basic_Graphics_Mode/#how-to-test","title":"How to test","text":"<ol> <li>Boot the system from the prepared optical, USB media or virtual device attachment.<ul> <li>Examples: QA:Testcase Boot Methods Boot ISO, QA:Testcase Boot Methods DVD</li> </ul> </li> <li>In the boot menu select the appropriate option to boot the installer.</li> <li>In the installer select the appropriate option to intall in basic graphics mode.</li> <li>Proceed with installation on the test system.Depending on installer choices this MAY destroy all the data on the test system.</li> </ol> <p>DATA LOSS</p> <p>If you choose to complete the installation of the test system any/all data on the system may be lost. Please do not install on a system whose contents you need to keep.</p>"},{"location":"documentation/QA/Testcase_Basic_Graphics_Mode/#expected-results","title":"Expected Results","text":"<ol> <li>Selection of basic graphics mode in the Anaconda installer is possible.</li> <li>Anaconda installer presents a usable graphical intallation environment.</li> <li>System under test can be installed normally.</li> <li>After reboot system boots into graphical environment.</li> <li>After login user is able to operate the graphical environment.</li> </ol> Additional Information ContactDisclaimerAttributionLicense <p>If you have questions with respect to this content or to report concerns regarding the use or misuse content please do not hesitate to contact us at testing@rockylinux.org.</p> <p>Rocky Linux and the Rocky Enterprise Software Foundation (RESF) does not make any express or implied warranties, including but not limited to the warranties of non-infringement of any third party intellectual property rights. RESF does not warrant that any pending trademark applications for trademarks of RESF will result in any granted trademark protection. RESF shall not be liable for any claims relating to user's activities falling within the scope of the permission and user hereby agrees to indemnify, defend and hold RESF and its contributors harmless against any such claim.</p> <p>This work is heavily inspired by the Fedora Quality Assurance documents which were made available under Attribution-Share Alike 4.0 International license unless otherwise noted.</p> <p>This content is licensed under under Attribution-Share Alike 4.0 International license unless otherwise noted.</p>"},{"location":"documentation/QA/Testcase_Boot_Methods_Boot_Iso/","title":"QA:Testcase Boot Methods Boot Iso","text":"<p>Associated release criterion</p> <p>This test case is associated with the Release_Criteria#initialization-requirements release criterion. If you are doing release validation testing, a failure of this test case may be a breach of that release criterion.</p>"},{"location":"documentation/QA/Testcase_Boot_Methods_Boot_Iso/#description","title":"Description","text":"<p>This is to verify that the Anaconda installer starts correctly when booting from the Rocky Linux boot.iso.</p>"},{"location":"documentation/QA/Testcase_Boot_Methods_Boot_Iso/#setup","title":"Setup","text":"<ol> <li>Prepare your system for booting the boot.iso image. This may involve writing the image to a USB key or burning it to an optical disk. Additionally, attaching the boot.iso to a virtual machine instance as a Virtual Optical Disk or mounting the boot.iso to server via baseboard management controller virtual media attach should be possible but is not expressly required.</li> </ol>"},{"location":"documentation/QA/Testcase_Boot_Methods_Boot_Iso/#how-to-test","title":"How to test","text":"<ol> <li>Boot the system from the prepared optical, USB media or virtual device attachment.</li> <li>In the boot menu select the appropriate option to boot the installer.</li> </ol>"},{"location":"documentation/QA/Testcase_Boot_Methods_Boot_Iso/#expected-results","title":"Expected Results","text":"<ol> <li>Graphical boot menu is displayed for users to select install options. Navigating the menu and selecting entries must work. If no option is selected, the installer should load after a reasonable timeout.</li> <li>System boots into the Anaconda installer.</li> </ol> Additional Information ContactDisclaimerAttributionLicense <p>If you have questions with respect to this content or to report concerns regarding the use or misuse content please do not hesitate to contact us at testing@rockylinux.org.</p> <p>Rocky Linux and the Rocky Enterprise Software Foundation (RESF) does not make any express or implied warranties, including but not limited to the warranties of non-infringement of any third party intellectual property rights. RESF does not warrant that any pending trademark applications for trademarks of RESF will result in any granted trademark protection. RESF shall not be liable for any claims relating to user's activities falling within the scope of the permission and user hereby agrees to indemnify, defend and hold RESF and its contributors harmless against any such claim.</p> <p>This work is heavily inspired by the Fedora Quality Assurance documents which were made available under Attribution-Share Alike 4.0 International license unless otherwise noted.</p> <p>This content is licensed under under Attribution-Share Alike 4.0 International license unless otherwise noted.</p>"},{"location":"documentation/QA/Testcase_Boot_Methods_Dvd/","title":"QA:Testcase Boot Methods DVD","text":"<p>Associated release criterion</p> <p>This test case is associated with the Release_Criteria#initialization-requirements release criterion. If you are doing release validation testing, a failure of this test case may be a breach of that release criterion.</p>"},{"location":"documentation/QA/Testcase_Boot_Methods_Dvd/#description","title":"Description","text":"<p>This is to verify that the Anaconda installer starts correctly when booting from DVD.iso.</p>"},{"location":"documentation/QA/Testcase_Boot_Methods_Dvd/#setup","title":"Setup","text":"<ol> <li>Prepare your system for booting the DVD.iso image. This may involve writing the image to a USB key or burning it to an optical disk of sufficient capacity. Additionally, attaching the DVD.iso to a virtual machine instance as a Virtual Optical Disk or mounting the DVD.iso to server via baseboard management controller virtual media attach should be possible but is not expressly required.</li> </ol>"},{"location":"documentation/QA/Testcase_Boot_Methods_Dvd/#how-to-test","title":"How to test","text":"<ol> <li>Boot the system from the prepared optical, USB media or virtual device attachment.</li> <li>In the boot menu select the appropriate option to boot the installer.</li> </ol>"},{"location":"documentation/QA/Testcase_Boot_Methods_Dvd/#expected-results","title":"Expected Results","text":"<ol> <li>Graphical boot menu is displayed for users to select install options. Navigating the menu and selecting entries must work. If no option is selected, the installer should load after a reasonable timeout.</li> <li>System boots into the Anaconda installer.</li> </ol> Additional Information ContactDisclaimerAttributionLicense <p>If you have questions with respect to this content or to report concerns regarding the use or misuse content please do not hesitate to contact us at testing@rockylinux.org.</p> <p>Rocky Linux and the Rocky Enterprise Software Foundation (RESF) does not make any express or implied warranties, including but not limited to the warranties of non-infringement of any third party intellectual property rights. RESF does not warrant that any pending trademark applications for trademarks of RESF will result in any granted trademark protection. RESF shall not be liable for any claims relating to user's activities falling within the scope of the permission and user hereby agrees to indemnify, defend and hold RESF and its contributors harmless against any such claim.</p> <p>This work is heavily inspired by the Fedora Quality Assurance documents which were made available under Attribution-Share Alike 4.0 International license unless otherwise noted.</p> <p>This content is licensed under under Attribution-Share Alike 4.0 International license unless otherwise noted.</p>"},{"location":"documentation/QA/Testcase_Bootloader_Disk_Selection/","title":"QA:Testcase Bootloader Disk Selection","text":"<p>Associated release criterion</p> <p>This test case is associated with the Release_Criteria#Bootloader Disk Selection release criterion. If you are doing release validation testing, a failure of this test case may be a breach of that release criterion.</p>"},{"location":"documentation/QA/Testcase_Bootloader_Disk_Selection/#description","title":"Description","text":"<p>This test case verifies that the user is able to select an alternative disk on which to install the bootloader. It also verifies that, if the user is so inclined, they may choose not to install a bootloader at all.</p> <p>DATA LOSS</p> <p>Depending on installer choices this MAY destroy all the data on the test system. If you choose to complete the installation of the test system any/all data on the system may be lost. Please do not install on a system whose contents you need to keep.</p>"},{"location":"documentation/QA/Testcase_Bootloader_Disk_Selection/#setup","title":"Setup","text":"<ol> <li>Obtain access to supported system and hardware class to be installed.</li> <li>Prepare appropriate media for the selected ISO to be tested.<ul> <li>Example: QA:Testcase Media USB dd</li> </ul> </li> <li>Boot the system from the prepared optical, USB media or virtual device attachment.<ul> <li>Examples: QA:Testcase Boot Methods Boot ISO, QA:Testcase Boot Methods DVD</li> </ul> </li> <li>In the boot menu select the appropriate option to boot the installer.</li> </ol>"},{"location":"documentation/QA/Testcase_Bootloader_Disk_Selection/#how-to-test","title":"How to test","text":"<ol> <li>In the Installation Destination spoke, select the disk(s) to install to, then click the \"Full disk summary and bootl loader...\" button at the bottom of the screen: </li> <li>Click the checkbox next to the disk on which the bootloader is desired</li> <li>Alternatively, uncheck the boot checkbox next to all disks to skip bootloader installation</li> <li>Proceed with installation on the test system.</li> </ol>"},{"location":"documentation/QA/Testcase_Bootloader_Disk_Selection/#expected-results","title":"Expected Results","text":"<ol> <li>Installation should complete successfully.</li> <li>Note that if no bootloader is installed, the system may not boot after installation is complete. This is expected.</li> </ol> Additional Information ContactDisclaimerAttributionLicense <p>If you have questions with respect to this content or to report concerns regarding the use or misuse content please do not hesitate to contact us at testing@rockylinux.org.</p> <p>Rocky Linux and the Rocky Enterprise Software Foundation (RESF) does not make any express or implied warranties, including but not limited to the warranties of non-infringement of any third party intellectual property rights. RESF does not warrant that any pending trademark applications for trademarks of RESF will result in any granted trademark protection. RESF shall not be liable for any claims relating to user's activities falling within the scope of the permission and user hereby agrees to indemnify, defend and hold RESF and its contributors harmless against any such claim.</p> <p>This work is heavily inspired by the Fedora Quality Assurance documents which were made available under Attribution-Share Alike 4.0 International license unless otherwise noted.</p> <p>This content is licensed under under Attribution-Share Alike 4.0 International license unless otherwise noted.</p>"},{"location":"documentation/QA/Testcase_Custom_Boot_Methods_Boot_Iso/","title":"QA:Testcase Custom Boot Methods Boot Iso","text":"<p>Associated release criterion</p> <p>This test case is associated with the Release_Criteria#vnc-graphics-mode-behaviors release criterion. If you are doing release validation testing, a failure of this test case may be a breach of that release criterion.</p>"},{"location":"documentation/QA/Testcase_Custom_Boot_Methods_Boot_Iso/#description","title":"Description","text":"<p>This is to verify that the Anaconda installer starts correctly when booting from the Rocky Linux boot.iso using a custom kernel command line.</p>"},{"location":"documentation/QA/Testcase_Custom_Boot_Methods_Boot_Iso/#setup","title":"Setup","text":"<ol> <li>Prepare your system for booting the boot.iso image. This may involve writing the image to a USB key or burning it to an optical disk. Additionally, attaching the boot.iso to a virtual machine instance as a Virtual Optical Disk or mounting the boot.iso to server via baseboard management controller virtual media attach should be possible but is not expressly required.</li> </ol>"},{"location":"documentation/QA/Testcase_Custom_Boot_Methods_Boot_Iso/#how-to-test","title":"How to test","text":"<ol> <li>Boot the system from the prepared optical, USB media or virtual device attachment.</li> <li>In the boot menu select the appropriate option to boot the installer.</li> <li>Interrupt the normal boot and edit the kernel command line.</li> <li>Add appropriate/required options to the kernel command line and resume booting into the installer.<ul> <li>Example: For network install from an alternate repository add <code>--inst.url=http://&lt;server&gt;/&lt;path_to_BaseOS_repo&gt;</code> and (optionally) <code>--inst.repo=AppStream,http://&lt;server&gt;/&lt;path_to_AppStream_repo&gt;</code> to the kernel command line.</li> <li>Example: For VNC install in Direct Mode add <code>--inst.vnc</code> to the kernel command line. For VNC install in Connect Mode add <code>--inst.vnc</code> and <code>--inst.vncserver=&lt;host&gt;:&lt;port&gt;</code> to the kernel command line.</li> </ul> </li> </ol>"},{"location":"documentation/QA/Testcase_Custom_Boot_Methods_Boot_Iso/#expected-results","title":"Expected Results","text":"<ol> <li>Boot menu is displayed for users to select install options. Navigating the menu and selecting entries must work. Editing the boot command line must be possible. If no option is selected, the installer should load after a reasonable timeout.</li> <li>System boots into the Anaconda installer and any command line options specified are utilized.</li> </ol> Additional Information ContactDisclaimerAttributionLicense <p>If you have questions with respect to this content or to report concerns regarding the use or misuse content please do not hesitate to contact us at testing@rockylinux.org.</p> <p>Rocky Linux and the Rocky Enterprise Software Foundation (RESF) does not make any express or implied warranties, including but not limited to the warranties of non-infringement of any third party intellectual property rights. RESF does not warrant that any pending trademark applications for trademarks of RESF will result in any granted trademark protection. RESF shall not be liable for any claims relating to user's activities falling within the scope of the permission and user hereby agrees to indemnify, defend and hold RESF and its contributors harmless against any such claim.</p> <p>This work is heavily inspired by the Fedora Quality Assurance documents which were made available under Attribution-Share Alike 4.0 International license unless otherwise noted.</p> <p>This content is licensed under under Attribution-Share Alike 4.0 International license unless otherwise noted.</p>"},{"location":"documentation/QA/Testcase_Debranding/","title":"QA:Testcase Debranding","text":"<p>Associated release criterion</p> <p>This test case is associated with the Release_Criteria - Debranding release criterion. If you are doing release validation testing, a failure of this test case may be a breach of that release criterion.</p>"},{"location":"documentation/QA/Testcase_Debranding/#description","title":"Description","text":"<p>The Rocky Linux Release Engineering Team builds and maintains tools to manage the debranding of packages received from the upstream vendor. They have published a comprehensive debranding guide and maintain a list of packages requiring debranding patches.</p> <p>This testcase will verify that all packages available on released media that Rocky Linux Release Engineering has identified as requiring debranding are debranded successfully per their specification.</p>"},{"location":"documentation/QA/Testcase_Debranding/#setup","title":"Setup","text":"<ol> <li>Obtain access to an environment with the <code>dnf</code>, and <code>koji</code> commands and access to Rocky Linux Gitlab and Rocky Linux Koji</li> <li>Download the ISO to be tested to test machine.</li> <li>Configure <code>/etc/koji.conf</code> to access the Rocky Linux Koji.</li> <li>Download a recent copy the patch.yml from Rocky Linux Gitlab.</li> </ol> <p>patch.yml</p> <p>Packages listed in <code>patch.yml</code> are names of source RPMs. Binary RPMs containing content produced by building the patched source RPMs need to be validated. The easiest way to get the list of all possible binary RPMs for a particular package and arch is to ask obtain that information in koji.</p>"},{"location":"documentation/QA/Testcase_Debranding/#how-to-test","title":"How to test","text":"<ol> <li>Mount the ISO to be tested locally.<ul> <li>Example: <pre><code>$ mount -o loop Rocky-8.5-x86_64-dvd1.iso /media\n</code></pre></li> </ul> </li> <li>Determine the path(s) to the <code>repodata</code> directory(ies) on the ISO.<ul> <li>Example: <pre><code>$ find /media -name repodata\n</code></pre></li> </ul> </li> <li>For each package to be validated get the names of the <code>noarch</code> and <code>&lt;arch&gt;</code> specific packages created from it.<ul> <li>Example: <pre><code>$ koji --quiet latest-build --arch=x86_64 dist-rocky8-compose &lt;package&gt;\n$ koji --quiet latest-build --arch=noarch dist-rocky8-compose &lt;package&gt;\n</code></pre></li> </ul> </li> <li>Use <code>dnf</code> to obtain the paths to the binary packages requiring debranding.<ul> <li>Example: <pre><code>$ dnf download --urls --repofrompath BaseOS,/media/BaseOS --repo BaseOS \\\n --repofrompath Minimal,/media/Minimal --repo Minimal \\\n &lt;binary_package&gt;\n</code></pre></li> </ul> </li> <li> <p>Copy the <code>&lt;binary_package&gt;</code> from the media and examine it's metadata and/or contents to determine if it has obviously been patched.</p> <ul> <li>Example: <pre><code>$ rpm -q --changelog -p &lt;path_to_binary_package&gt; | head | \\\n grep \"Release Engineering &lt;releng@rockylinux.org&gt;\" -C2 | \\\n grep -Eq \"&lt;pattern_to_find&gt;\"\n\n$ rpm2cpio &lt;path_to_binary_package&gt; |\n cpio --quiet --extract --to-stdout .&lt;file_to_examine&gt; | \\\n grep -Eq \"&lt;pattern_to_find&gt;\"\n</code></pre></li> </ul> <p>NOTE</p> <p>Note all debranding patches will patch files directly and leave very obvious traces, some patches don't even add changelog messages to use as an indicator that the package has been patched or debranded. Sometimes the only solution is to extract the binary package and examine the contents directly to find something to test.</p> </li> <li> <p>Unmount the ISO.</p> <ul> <li>Example: <pre><code>$ umount /media\n</code></pre></li> </ul> </li> </ol>"},{"location":"documentation/QA/Testcase_Debranding/#expected-results","title":"Expected Results","text":"<ol> <li>Packages tracked by Release Engineering as requiring debranding and published on installation media are, in fact, debranded per their specification.</li> </ol> Sample Output SuccessFailure <pre><code>$ sudo mount -o loop Rocky-8.5-aarch64-minimal.iso /media\nmount: /media: WARNING: device write-protected, mounted read-only.\n\n$ find /media -name repodata\n/media/BaseOS/repodata\n/media/Minimal/repodata\n\n$ curl -LOR https://git.rockylinux.org/rocky/metadata/-/raw/main/patch.yml\n % Total % Received % Xferd Average Speed Time Time Time Current\n Dload Upload Total Spent Left Speed\n100 3410 100 3410 0 0 20419 0 --:--:-- --:--:-- --:--:-- 20419\n\n$ yq .debrand.all[] patch.yml | column -x -c 100 -o \" \"\nabrt anaconda anaconda-user-help chrony\ncloud-init cockpit crash dhcp\ndnf firefox fwupd gcc\ngcc-toolset-9-gcc gcc-toolset-10-gcc gcc-toolset-11-gcc gcc-toolset-12-gcc\ngnome-settings-daemon grub2 httpd initial-setup\nkernel kernel-rt libdnf libreoffice\nlibreport nginx opa-ff opa-fm\nopenscap pesign PackageKit python-pip\npython3 redhat-rpm-config scap-security-guide shim\nshim-unsigned-x64 shim-unsigned-aarch64 sos subscription-manager\nsystemd thunderbird WALinuxAgent\n\n$ ./yq .debrand.r8[] patch.yml | column -x -c 100 -o \" \"\ndotnet3.0 fwupdate gnome-boxes libguestfs pcs plymouth\npython2\n\nNOTE: Only a single package will be shown in this Example.\n\n$ koji --quiet latest-build --arch=x86_64 dist-rocky8-compose sos\n\n$ koji --quiet latest-build --arch=noarch dist-rocky8-compose sos\nsos-4.1-9.el8_5.rocky.3.noarch\nsos-audit-4.1-9.el8_5.rocky.3.noarch\n\n$ dnf download --urls --repofrompath BaseOS,/media/BaseOS --repo BaseOS \\\n --repofrompath Minimal,/media/Minimal --repo Minimal \\\n sos sos-audit | grep -E \"^file\"\nfile:///media/BaseOS/Packages/s/sos-4.1-5.el8.noarch.rpm\nfile:///media/BaseOS/Packages/s/sos-audit-4.1-5.el8.noarch.rpm\n\n$ rpm -q --changelog -p /media/BaseOS/Packages/s/sos-4.1-5.el8.noarch.rpm | \\\n head | grep \"Release Engineering &lt;releng@rockylinux.org&gt;\" -C2\n* Mon Oct 18 2021 Release Engineering &lt;releng@rockylinux.org&gt; - 4.1-5\n- Remove Red Hat branding from sos\n$ echo $?\n0\n\n$ rpm -q --changelog -p /media/BaseOS/Packages/s/sos-audit-4.1-5.el8.noarch.rpm | \\\n head | grep \"Release Engineering &lt;releng@rockylinux.org&gt;\" -C2\n* Mon Oct 18 2021 Release Engineering &lt;releng@rockylinux.org&gt; - 4.1-5\n- Remove Red Hat branding from sos\n$ echo $?\n0\n\n$ umount /media\n</code></pre> <pre><code>$ sudo mount -o loop Rocky-8.5-aarch64-minimal.iso /media\nmount: /media: WARNING: device write-protected, mounted read-only.\n\n$ find /media -name repodata\n/media/BaseOS/repodata\n/media/Minimal/repodata\n\n$ curl -LOR https://git.rockylinux.org/rocky/metadata/-/raw/main/patch.yml\n % Total % Received % Xferd Average Speed Time Time Time Current\n Dload Upload Total Spent Left Speed\n100 3410 100 3410 0 0 20419 0 --:--:-- --:--:-- --:--:-- 20419\n\n$ yq .debrand.all[] patch.yml | column -x -c 100 -o \" \"\nabrt anaconda anaconda-user-help chrony\ncloud-init cockpit crash dhcp\ndnf firefox fwupd gcc\ngcc-toolset-9-gcc gcc-toolset-10-gcc gcc-toolset-11-gcc gcc-toolset-12-gcc\ngnome-settings-daemon grub2 httpd initial-setup\nkernel kernel-rt libdnf libreoffice\nlibreport nginx opa-ff opa-fm\nopenscap pesign PackageKit python-pip\npython3 redhat-rpm-config scap-security-guide shim\nshim-unsigned-x64 shim-unsigned-aarch64 sos subscription-manager\nsystemd thunderbird WALinuxAgent\n\n$ ./yq .debrand.r8[] patch.yml | column -x -c 100 -o \" \"\ndotnet3.0 fwupdate gnome-boxes libguestfs pcs plymouth\npython2\n\nNOTE: Only a single package will be shown in this Example.\n\n$ koji --quiet latest-build --arch=x86_64 dist-rocky8-compose sos\n\n$ koji --quiet latest-build --arch=noarch dist-rocky8-compose sos\nsos-4.1-9.el8_5.rocky.3.noarch\nsos-audit-4.1-9.el8_5.rocky.3.noarch\n\n$ dnf download --urls --repofrompath BaseOS,/media/BaseOS --repo BaseOS \\\n --repofrompath Minimal,/media/Minimal --repo Minimal \\\n sos sos-audit | grep -E \"^file\"\nfile:///media/BaseOS/Packages/s/sos-4.1-5.el8.noarch.rpm\nfile:///media/BaseOS/Packages/s/sos-audit-4.1-5.el8.noarch.rpm\n\n$ rpm -q --changelog -p /media/BaseOS/Packages/s/sos-4.1-5.el8.noarch.rpm | \\\n head | grep \"Release Engineering &lt;releng@rockylinux.org&gt;\" -C2\n$ echo $?\n1\n\n$ rpm -q --changelog -p /media/BaseOS/Packages/s/sos-audit-4.1-5.el8.noarch.rpm | \\\n head | grep \"Release Engineering &lt;releng@rockylinux.org&gt;\" -C2\n$ echo $?\n1\n\n$ umount /media\n</code></pre> Additional Information ContactDisclaimerAttributionLicense <p>If you have questions with respect to this content or to report concerns regarding the use or misuse content please do not hesitate to contact us at testing@rockylinux.org.</p> <p>Rocky Linux and the Rocky Enterprise Software Foundation (RESF) does not make any express or implied warranties, including but not limited to the warranties of non-infringement of any third party intellectual property rights. RESF does not warrant that any pending trademark applications for trademarks of RESF will result in any granted trademark protection. RESF shall not be liable for any claims relating to user's activities falling within the scope of the permission and user hereby agrees to indemnify, defend and hold RESF and its contributors harmless against any such claim.</p> <p>This work is heavily inspired by the Fedora Quality Assurance documents which were made available under Attribution-Share Alike 4.0 International license unless otherwise noted.</p> <p>This content is licensed under under Attribution-Share Alike 4.0 International license unless otherwise noted.</p>"},{"location":"documentation/QA/Testcase_Disk_Layouts/","title":"QA:Testcase Disk Layouts","text":"<p>Associated release criterion</p> <p>This test case is associated with the Release_Criteria#Disk Layouts release criterion. If you are doing release validation testing, a failure of this test case may be a breach of that release criterion.</p>"},{"location":"documentation/QA/Testcase_Disk_Layouts/#description","title":"Description","text":"<p>This test case verifies successful installation to any supported partition layout using any file system or format combination.</p> <p>DATA LOSS</p> <p>Depending on installer choices this MAY destroy all the data on the test system. If you choose to complete the installation of the test system any/all data on the system may be lost. Please do not install on a system whose contents you need to keep.</p>"},{"location":"documentation/QA/Testcase_Disk_Layouts/#setup","title":"Setup","text":"<ol> <li>Obtain access to supported system and hardware class to be installed.</li> <li>Prepare appropriate media for the selected ISO to be tested.<ul> <li>Example: QA:Testcase Media USB dd</li> </ul> </li> <li>Boot the system from the prepared optical, USB media or virtual device attachment.<ul> <li>Examples: QA:Testcase Boot Methods Boot ISO, QA:Testcase Boot Methods DVD</li> </ul> </li> <li>In the boot menu select the appropriate option to boot the installer.</li> </ol>"},{"location":"documentation/QA/Testcase_Disk_Layouts/#how-to-test","title":"How to test","text":"<ol> <li>Select the Installation Destination spoke.</li> <li>Select the volumes to which the operating system should be installed.</li> <li>Select the Custom radio button under the Storage Configuration section, then click \"Done\".</li> <li>For each volume, perform these steps:<ol> <li>Choose the desired partitioning scheme from the dropdown menu. Supported options are Standard Partition, LVM, and LVM Thin Provisioning.</li> <li>Select the \"Encrypt my data\" checkbox to create an encrypted filesystem.</li> <li>Select the plus (+) button in the lower left hand corner to add a partition.</li> <li>Define the desired mount point and volume capacity, then click \"Add mount point\".</li> <li>Set the device type. Supported options are LVM, RAID, Standard Partition, and LVM Thin Provisioning.</li> <li>If device type was set to RAID, select the RAID level. Supported options are RAID0, RAID1, RAID4, RAID5, RAID6, and RAID10.</li> <li>Set the filesystem type. Supported options are BIOS Boot, ext2, ext3, ext4, swap, vfat, and xfs.</li> <li>In supported cases you may choose to disable formatting of existing partitions by unchecking the Reformat checkbox.</li> </ol> </li> <li>When all partitions have been created, click the blue Done button in the upper left corner.</li> <li>Review the Summary of Changes dialog, then click Accept Changes.</li> <li>Continue the installation as normal.</li> </ol>"},{"location":"documentation/QA/Testcase_Disk_Layouts/#expected-results","title":"Expected Results","text":"<ol> <li>The installation should complete successfully and boot to the appropriate disk.</li> <li>The specified filesystem type and partition scheme should be used.</li> <li>If configured, software RAID should function as expected.</li> </ol>"},{"location":"documentation/QA/Testcase_Disk_Layouts/#testing-with-openqa","title":"Testing with openQA","text":"<p>The following openQA test suites satisfy this release criteria:</p> <ul> <li><code>install_standard_partition_ext4</code></li> <li><code>install_custom_gui_standard_partition_ext4</code></li> <li><code>install_lvm_ext4</code></li> <li><code>install_custom_gui_lvm_ext4</code></li> <li><code>install_software_raid</code></li> <li><code>install_custom_gui_software_raid</code></li> <li><code>install_xfs</code></li> <li><code>install_custom_gui_xfs</code></li> <li><code>install_lvmthin</code></li> <li><code>install_multi</code></li> <li><code>install_multi_empty</code></li> </ul> Additional Information ContactDisclaimerAttributionLicense <p>If you have questions with respect to this content or to report concerns regarding the use or misuse content please do not hesitate to contact us at testing@rockylinux.org.</p> <p>Rocky Linux and the Rocky Enterprise Software Foundation (RESF) does not make any express or implied warranties, including but not limited to the warranties of non-infringement of any third party intellectual property rights. RESF does not warrant that any pending trademark applications for trademarks of RESF will result in any granted trademark protection. RESF shall not be liable for any claims relating to user's activities falling within the scope of the permission and user hereby agrees to indemnify, defend and hold RESF and its contributors harmless against any such claim.</p> <p>This work is heavily inspired by the Fedora Quality Assurance documents which were made available under Attribution-Share Alike 4.0 International license unless otherwise noted.</p> <p>This content is licensed under under Attribution-Share Alike 4.0 International license unless otherwise noted.</p>"},{"location":"documentation/QA/Testcase_Firmware_RAID/","title":"QA:Testcase Firmware RAID","text":"<p>Associated release criterion</p> <p>This test case is associated with the Release_Criteria#Firmware RAID release criterion. If you are doing release validation testing, a failure of this test case may be a breach of that release criterion.</p>"},{"location":"documentation/QA/Testcase_Firmware_RAID/#description","title":"Description","text":"<p>The installer must be able to detect and install to firmware RAID devices. Note that system-specific bugs do not count as blockers. It is likely that some hardware support might be broken or not available at all. DUDs (driver update disks) are not considered for this criteria.</p>"},{"location":"documentation/QA/Testcase_Firmware_RAID/#setup","title":"Setup","text":"<ol> <li>Add steps for setup for this Testcase.</li> </ol>"},{"location":"documentation/QA/Testcase_Firmware_RAID/#how-to-test","title":"How to test","text":"<ol> <li>Do this first...</li> <li>Then do this...</li> </ol>"},{"location":"documentation/QA/Testcase_Firmware_RAID/#expected-results","title":"Expected Results","text":"<ol> <li>This is what you should see/verify.</li> <li>You should also see/verify this.</li> </ol> Additional Information ContactDisclaimerAttributionLicense <p>If you have questions with respect to this content or to report concerns regarding the use or misuse content please do not hesitate to contact us at testing@rockylinux.org.</p> <p>Rocky Linux and the Rocky Enterprise Software Foundation (RESF) does not make any express or implied warranties, including but not limited to the warranties of non-infringement of any third party intellectual property rights. RESF does not warrant that any pending trademark applications for trademarks of RESF will result in any granted trademark protection. RESF shall not be liable for any claims relating to user's activities falling within the scope of the permission and user hereby agrees to indemnify, defend and hold RESF and its contributors harmless against any such claim.</p> <p>This work is heavily inspired by the Fedora Quality Assurance documents which were made available under Attribution-Share Alike 4.0 International license unless otherwise noted.</p> <p>This content is licensed under under Attribution-Share Alike 4.0 International license unless otherwise noted.</p>"},{"location":"documentation/QA/Testcase_Installation_Interfaces/","title":"QA:Testcase Installation Interfaces","text":"<p>Associated release criterion</p> <p>This test case is associated with the Release_Criteria#Installation Interfaces release criterion. If you are doing release validation testing, a failure of this test case may be a breach of that release criterion.</p>"},{"location":"documentation/QA/Testcase_Installation_Interfaces/#description","title":"Description","text":"<p>This test case verifies that the installer can complete an installation using all Anaconda spokes.</p> <p>DATA LOSS</p> <p>Depending on installer choices this MAY destroy all the data on the test system. If you choose to complete the installation of the test system any/all data on the system may be lost. Please do not install on a system whose contents you need to keep.</p>"},{"location":"documentation/QA/Testcase_Installation_Interfaces/#setup","title":"Setup","text":"<ol> <li>Obtain access to supported system and hardware class to be installed.</li> <li>Prepare appropriate media for the selected ISO to be tested.<ul> <li>Example: QA:Testcase Media USB dd</li> </ul> </li> <li>Boot the system from the prepared optical, USB media or virtual device attachment.<ul> <li>Examples: QA:Testcase Boot Methods Boot ISO, QA:Testcase Boot Methods DVD</li> </ul> </li> <li>In the boot menu select the appropriate option to boot the installer.</li> </ol>"},{"location":"documentation/QA/Testcase_Installation_Interfaces/#how-to-test","title":"How to test","text":"<ol> <li>Select a keyboard layout in the Keyboard Layout spoke</li> <li>Set language support in the Language spoke</li> <li>Set the system time and date in the Time and Date spoke</li> </ol> <ol> <li>Set a root password in the Root Password spoke</li> <li>Create a user in the user creation spoke</li> </ol> <ol> <li>Select an installation source from the Installation Source spoke</li> <li>Select a set of packages to install from the Package Selection spoke</li> </ol> <ol> <li>Set a disk to which the operating system should install in the Installation Destination spoke</li> <li>Set the kdump state from the Kdump spoke</li> <li>Configure the system's network and hostname from the Network and Hostname spoke</li> <li>Select a security policy from the Security Policy spoke</li> </ol>"},{"location":"documentation/QA/Testcase_Installation_Interfaces/#expected-results","title":"Expected Results","text":"<ol> <li>The installation should complete and boot successfully.</li> </ol>"},{"location":"documentation/QA/Testcase_Installation_Interfaces/#testing-in-openqa","title":"Testing in openQA","text":"<p>The following openQA test suites satisfy this release criteria:</p> <ul> <li><code>install_arabic_language</code> OR <code>install_asian_language</code></li> </ul> Additional Information ContactDisclaimerAttributionLicense <p>If you have questions with respect to this content or to report concerns regarding the use or misuse content please do not hesitate to contact us at testing@rockylinux.org.</p> <p>Rocky Linux and the Rocky Enterprise Software Foundation (RESF) does not make any express or implied warranties, including but not limited to the warranties of non-infringement of any third party intellectual property rights. RESF does not warrant that any pending trademark applications for trademarks of RESF will result in any granted trademark protection. RESF shall not be liable for any claims relating to user's activities falling within the scope of the permission and user hereby agrees to indemnify, defend and hold RESF and its contributors harmless against any such claim.</p> <p>This work is heavily inspired by the Fedora Quality Assurance documents which were made available under Attribution-Share Alike 4.0 International license unless otherwise noted.</p> <p>This content is licensed under under Attribution-Share Alike 4.0 International license unless otherwise noted.</p>"},{"location":"documentation/QA/Testcase_Installer_Help/","title":"QA:Testcase Installer Help","text":"<p>Associated release criterion</p> <p>This test case is associated with the Release_Criteria#Installer Help release criterion. If you are doing release validation testing, a failure of this test case may be a breach of that release criterion.</p>"},{"location":"documentation/QA/Testcase_Installer_Help/#description","title":"Description","text":"<p>Any element in the installer which contains a \u201chelp\u201d text must display the appropriate help documentation when selected.</p>"},{"location":"documentation/QA/Testcase_Installer_Help/#setup","title":"Setup","text":"<ol> <li>Obtain access to supported system and hardware class to be installed.</li> <li>Prepare appropriate media for the selected ISO to be tested.<ul> <li>Example: QA:Testcase Media USB dd</li> </ul> </li> <li>Boot the system from the prepared optical, USB media or virtual device attachment.<ul> <li>Examples: QA:Testcase Boot Methods Boot ISO, QA:Testcase Boot Methods DVD</li> </ul> </li> <li>In the boot menu select the appropriate option to boot the installer.</li> </ol>"},{"location":"documentation/QA/Testcase_Installer_Help/#how-to-test","title":"How to test","text":"<ol> <li>From the Anaconda Hub, click the Help button in the upper right hand corner.</li> <li>Verify that you see the \"Customizing your Installation\" help page.</li> <li>Verify that the \"Configuring language and location settings\" link displays a topically appropriate page.</li> <li>Close the Help browser to return to the Anaconda Hub.</li> <li>Verify that the Localization help page displays for the Keyboard, Language Support, and Time &amp; Date spokes:<ol> <li>Select the spoke, then click the Help button.</li> <li>Verify that you see the \"Configuring localization options\" page containing a functioning link to the \"Configuring keyboard, language, and time and date settings\" page.</li> <li>Close the Help browser (and click Done if necessary) to return to the Anaconda Hub.</li> </ol> </li> <li>Verify that the Help button in the Installation Source spoke displays the \"Configuring installation source\" page.</li> <li>Verify that the Help button in the Software Selection spoke displays the \"Configuring software selection\" page.</li> <li>Verify that the Help button in the Installation Destination spoke displays the \"Configuring storage devices\" page.</li> <li>Verify that the Help button in the Network &amp; Host Name spoke displays the \"Configuring network and host name options\" page.</li> <li>Verify that the Help button in the Root Password spoke displays the \"Configuring a root password\" page.</li> <li>Verify that the Help button in the User Creation spoke displays the \"Creating a user account\" page.</li> </ol>"},{"location":"documentation/QA/Testcase_Installer_Help/#expected-results","title":"Expected Results","text":"<ol> <li>All links should work and display relevant content.</li> </ol>"},{"location":"documentation/QA/Testcase_Installer_Help/#testing-in-openqa","title":"Testing in openQA","text":"<p>The following openQA test suites satisfy this release criteria:</p> <ul> <li><code>anaconda_help</code></li> </ul> Additional Information ContactDisclaimerAttributionLicense <p>If you have questions with respect to this content or to report concerns regarding the use or misuse content please do not hesitate to contact us at testing@rockylinux.org.</p> <p>Rocky Linux and the Rocky Enterprise Software Foundation (RESF) does not make any express or implied warranties, including but not limited to the warranties of non-infringement of any third party intellectual property rights. RESF does not warrant that any pending trademark applications for trademarks of RESF will result in any granted trademark protection. RESF shall not be liable for any claims relating to user's activities falling within the scope of the permission and user hereby agrees to indemnify, defend and hold RESF and its contributors harmless against any such claim.</p> <p>This work is heavily inspired by the Fedora Quality Assurance documents which were made available under Attribution-Share Alike 4.0 International license unless otherwise noted.</p> <p>This content is licensed under under Attribution-Share Alike 4.0 International license unless otherwise noted.</p>"},{"location":"documentation/QA/Testcase_Installer_Translations/","title":"QA:Testcase Installer Translations","text":"<p>Associated release criterion</p> <p>This test case is associated with the Release_Criteria#Installer Translations release criterion. If you are doing release validation testing, a failure of this test case may be a breach of that release criterion.</p>"},{"location":"documentation/QA/Testcase_Installer_Translations/#description","title":"Description","text":"<p>The installer must correctly display all complete translations that are available for use.</p>"},{"location":"documentation/QA/Testcase_Installer_Translations/#setup","title":"Setup","text":"<ol> <li>Obtain access to supported system and hardware class to be installed.</li> <li>Prepare appropriate media for the selected ISO to be tested.<ul> <li>Example: QA:Testcase Media USB dd</li> </ul> </li> <li>Boot the system from the prepared optical, USB media or virtual device attachment.<ul> <li>Examples: QA:Testcase Boot Methods Boot ISO, QA:Testcase Boot Methods DVD</li> </ul> </li> <li>In the boot menu select the appropriate option to boot the installer.</li> </ol>"},{"location":"documentation/QA/Testcase_Installer_Translations/#how-to-test","title":"How to test","text":"<ol> <li>From the Language Selection spoke, select a language.</li> </ol>"},{"location":"documentation/QA/Testcase_Installer_Translations/#expected-results","title":"Expected Results","text":"<ol> <li>All spokes should display at least some of the content in the selected language.</li> <li>It is expected to still see some content displayed in Latin characters even if a language that does not use Latin characters is selected.</li> </ol>"},{"location":"documentation/QA/Testcase_Installer_Translations/#testing-in-openqa","title":"Testing in openQA","text":"<p>The following openQA test suites satisfy this release criteria:</p> <ul> <li><code>install_asian_language</code></li> <li><code>install_arabic_language</code></li> <li><code>install_cyrillic_language</code></li> <li><code>install_european_language</code></li> </ul> Additional Information ContactDisclaimerAttributionLicense <p>If you have questions with respect to this content or to report concerns regarding the use or misuse content please do not hesitate to contact us at testing@rockylinux.org.</p> <p>Rocky Linux and the Rocky Enterprise Software Foundation (RESF) does not make any express or implied warranties, including but not limited to the warranties of non-infringement of any third party intellectual property rights. RESF does not warrant that any pending trademark applications for trademarks of RESF will result in any granted trademark protection. RESF shall not be liable for any claims relating to user's activities falling within the scope of the permission and user hereby agrees to indemnify, defend and hold RESF and its contributors harmless against any such claim.</p> <p>This work is heavily inspired by the Fedora Quality Assurance documents which were made available under Attribution-Share Alike 4.0 International license unless otherwise noted.</p> <p>This content is licensed under under Attribution-Share Alike 4.0 International license unless otherwise noted.</p>"},{"location":"documentation/QA/Testcase_Kickstart_Installation/","title":"QA:Testcase Kickstart Installation","text":"<p>Associated release criterion</p> <p>This test case is associated with the Release_Criteria#Kickstart Installation release criterion. If you are doing release validation testing, a failure of this test case may be a breach of that release criterion.</p>"},{"location":"documentation/QA/Testcase_Kickstart_Installation/#description","title":"Description","text":"<p>This test case verifies that installations via both local and remote Kickstart configuration files are successful.</p> <p>DATA LOSS</p> <p>Depending on installer choices this MAY destroy all the data on the test system. If you choose to complete the installation of the test system any/all data on the system may be lost. Please do not install on a system whose contents you need to keep.</p>"},{"location":"documentation/QA/Testcase_Kickstart_Installation/#setup","title":"Setup","text":"<ol> <li>Copy a valid Kickstart file to a USB stick</li> <li>Connect the USB stick to the test system</li> <li>Obtain access to supported system and hardware class to be installed.</li> <li>Prepare appropriate media for the selected ISO to be tested.<ul> <li>Example: QA:Testcase Media USB dd</li> </ul> </li> <li>Boot the system from the prepared optical, USB media or virtual device attachment.<ul> <li>Examples: QA:Testcase Boot Methods Boot ISO, QA:Testcase Boot Methods DVD</li> </ul> </li> <li>In the boot menu select the appropriate option to boot the installer.</li> <li>Hit the Tab key to edit the boot command</li> <li>Provide a local Kickstart file by supplying the GRUB boot option <code>inst.ks=file:/path/to/local.ks</code> or a remote Kickstart file by supplying the GRUB boot option <code>inst.ks=https://git.resf.org/testing/createhdds/raw/branch/rocky/server.ks</code>.</li> </ol>"},{"location":"documentation/QA/Testcase_Kickstart_Installation/#how-to-test","title":"How to test","text":"<ol> <li>Continue booting the installer as normal.</li> </ol>"},{"location":"documentation/QA/Testcase_Kickstart_Installation/#expected-results","title":"Expected Results","text":"<ol> <li>The installation should complete and boot successfully, automatically populating the options specified in the Kickstart file.</li> </ol>"},{"location":"documentation/QA/Testcase_Kickstart_Installation/#testing-in-openqa","title":"Testing in openQA","text":"<p>The following openQA test suites satisfy this release criteria:</p> <ul> <li><code>install_kickstart_nfs</code></li> <li><code>server_realmd_join_kickstart</code></li> </ul> Additional Information ContactDisclaimerAttributionLicense <p>If you have questions with respect to this content or to report concerns regarding the use or misuse content please do not hesitate to contact us at testing@rockylinux.org.</p> <p>Rocky Linux and the Rocky Enterprise Software Foundation (RESF) does not make any express or implied warranties, including but not limited to the warranties of non-infringement of any third party intellectual property rights. RESF does not warrant that any pending trademark applications for trademarks of RESF will result in any granted trademark protection. RESF shall not be liable for any claims relating to user's activities falling within the scope of the permission and user hereby agrees to indemnify, defend and hold RESF and its contributors harmless against any such claim.</p> <p>This work is heavily inspired by the Fedora Quality Assurance documents which were made available under Attribution-Share Alike 4.0 International license unless otherwise noted.</p> <p>This content is licensed under under Attribution-Share Alike 4.0 International license unless otherwise noted.</p>"},{"location":"documentation/QA/Testcase_Media_File_Conflicts/","title":"QA:Testcase Media File Conflicts","text":"<p>Associated release criterion</p> <p>This test case is associated with the Release_Criteria#no-broken-packages release criterion. If you are doing release validation testing, a failure of this test case may be a breach of that release criterion.</p>"},{"location":"documentation/QA/Testcase_Media_File_Conflicts/#description","title":"Description","text":"<p>This testcase will verify that the offline repository included on release blocking images will not contain any file conflicts between packages without explicit <code>Conflicts:</code> tag in the package metadata.</p>"},{"location":"documentation/QA/Testcase_Media_File_Conflicts/#setup","title":"Setup","text":"<ol> <li>Obtain access to an environment with the <code>dnf</code> and <code>python3</code> commands.</li> <li>Download the ISO to be tested to that machine.</li> <li>Download the <code>potential_conflict.py</code> script provided by Rocky Linux Testing Team.</li> </ol>"},{"location":"documentation/QA/Testcase_Media_File_Conflicts/#how-to-test","title":"How to test","text":"<ol> <li>Mount the ISO to be tested locally.<ul> <li>Example:<code>mount -o loop Rocky-8.5-x86_64-minimal.iso /media</code></li> </ul> </li> <li>Determine the path to the <code>repodata</code> directory(ies) on the ISO.<ul> <li>Example:<code>find /media -name repodata</code></li> </ul> </li> <li>Run the <code>potential_conflict.py</code> script on the mounted ISO.<ul> <li>Example:<code>python3 /vagrant/scripts/potential_conflict.py --repofrompath BaseOS,/media/BaseOS --repoid BaseOS --repofrompath Minimal,/media/Minimal --repoid Minimal</code></li> </ul> </li> <li>Unmount the ISO.<ul> <li>Example:<code>umount /media</code></li> </ul> </li> </ol>"},{"location":"documentation/QA/Testcase_Media_File_Conflicts/#expected-results","title":"Expected Results","text":"<ol> <li>The <code>potential_conflict.py</code> script does not report any packages with non-declared conflicts.</li> </ol> Sample Output SuccessFailure <pre><code>$ sudo mount -o loop Rocky-8.5-aarch64-minimal.iso /media\nmount: /media: WARNING: device write-protected, mounted read-only.\n\n$ python3 /vagrant/scripts/potential_conflict.py \\\n --repofrompath BaseOS,/media/BaseOS --repoid BaseOS \\\n --repofrompath Minimal,/media/Minimal --repoid Minimal\n\nAdded BaseOS repo from /media/BaseOS\nAdded Minimal repo from /media/Minimal\nGetting complete filelist for:\nfile:///media/BaseOS\nfile:///media/Minimal\n168374 files found.\n\nLooking for duplicated filenames:\n524 duplicates found.\n\nDoing more advanced checks to see if these are real conflicts:\n 10% complete ( 52/ 524, 1139/sec), 0 found - eta 0:00:00\n 35% complete ( 182/ 524, 1146/sec), 0 found - eta 0:00:00\n 45% complete ( 234/ 524, 1818/sec), 0 found - eta 0:00:00\n 50% complete ( 260/ 524, 592673/sec), 0 found - eta 0:00:00\n 55% complete ( 286/ 524, 778942/sec), 0 found - eta 0:00:00\n 60% complete ( 312/ 524, 801852/sec), 0 found - eta 0:00:00\n 79% complete ( 416/ 524, 234/sec), 0 found - eta 0:00:00\n 84% complete ( 442/ 524, 902/sec), 0 found - eta 0:00:00\n 89% complete ( 468/ 524, 935/sec), 0 found - eta 0:00:00\n 94% complete ( 494/ 524, 1616/sec), 0 found - eta 0:00:00\n 99% complete ( 520/ 524, 1114/sec), 0 found - eta 0:00:00\n\n0 file conflicts found.\n0 package conflicts found.\n\n== Package conflicts ==\n\n== File conflicts, listed by conflicting packages ==\n\n$ sudo umount /media\n</code></pre> <pre><code>$ sudo mount -o loop Rocky-8.5-x86_64-dvd1.iso /media\nmount: /media: WARNING: device write-protected, mounted read-only.\n\n\n$ python3 /vagrant/scripts/potential_conflict.py \\\n --repofrompath AppStream,/media/AppStream --repoid AppStream \\\n --repofrompath BaseOS,/media/BaseOS --repoid BaseOS\n\n Added AppStream repo from /media/AppStream\n Added BaseOS repo from /media/BaseOS\n Getting complete filelist for:\n file:///media/AppStream\n file:///media/BaseOS\n 851967 files found.\n\n Looking for duplicated filenames:\n 101865 duplicates found.\n\n Doing more advanced checks to see if these are real conflicts:\n 5% complete ( 5093/101865, 8713/sec), 0 found - eta 0:00:11\n 10% complete ( 10186/101865, 1787281/sec), 0 found - eta 0:00:05\n 15% complete ( 15279/101865, 2223312/sec), 0 found - eta 0:00:03\n 20% complete ( 20372/101865, 23614/sec), 0 found - eta 0:00:03\n 25% complete ( 25465/101865, 57188/sec), 0 found - eta 0:00:02\n 30% complete ( 30558/101865, 3831/sec), 0 found - eta 0:00:05\n 35% complete ( 35651/101865, 48455/sec), 0 found - eta 0:00:04\n 40% complete ( 40744/101865, 32067/sec), 0 found - eta 0:00:03\n 45% complete ( 45837/101865, 2136586/sec), 0 found - eta 0:00:03\n 50% complete ( 50930/101865, 72529/sec), 0 found - eta 0:00:02\n 55% complete ( 56023/101865, 176294/sec), 0 found - eta 0:00:02\n 60% complete ( 61116/101865, 68622/sec), 1 found - eta 0:00:01\n 65% complete ( 66209/101865, 155133/sec), 1 found - eta 0:00:01\n 70% complete ( 71302/101865, 13874/sec), 1 found - eta 0:00:01\n 75% complete ( 76395/101865, 10835/sec), 1 found - eta 0:00:01\n 80% complete ( 81488/101865, 27477/sec), 1 found - eta 0:00:00\n 85% complete ( 86581/101865, 9075/sec), 1 found - eta 0:00:00\n 90% complete ( 91674/101865, 14807/sec), 1 found - eta 0:00:00\n 95% complete ( 96767/101865, 197437/sec), 1 found - eta 0:00:00\n 100% complete (101860/101865, 38727/sec), 1 found - eta 0:00:00\n\n 1 file conflicts found.\n 11 package conflicts found.\n\n == Package conflicts ==\n mariadb-server-utils-3:10.3.28-1.module+el8.4.0+427+adf35707.x86_64\n mysql-server-8.0.26-1.module+el8.4.0+652+6de068a7.x86_64\n\n python3-mod_wsgi-4.6.4-4.el8.x86_64\n python38-mod_wsgi-4.6.8-3.module+el8.4.0+570+c2eaf144.x86_64\n python39-mod_wsgi-4.7.1-4.module+el8.4.0+574+843c4898.x86_64\n\n libcmpiCppImpl0-2.0.3-15.el8.i686\n tog-pegasus-libs-2:2.14.1-46.el8.i686\n\n mariadb-connector-c-devel-3.1.11-2.el8_3.i686\n mariadb-connector-c-devel-3.1.11-2.el8_3.x86_64\n mariadb-devel-3:10.3.28-1.module+el8.4.0+427+adf35707.x86_64\n mysql-devel-8.0.26-1.module+el8.4.0+652+6de068a7.x86_64\n\n mariadb-server-3:10.3.28-1.module+el8.4.0+427+adf35707.x86_64\n mysql-server-8.0.26-1.module+el8.4.0+652+6de068a7.x86_64\n\n mariadb-test-3:10.3.28-1.module+el8.4.0+427+adf35707.x86_64\n mysql-test-8.0.26-1.module+el8.4.0+652+6de068a7.x86_64\n\n mariadb-connector-c-devel-3.1.11-2.el8_3.i686\n mariadb-connector-c-devel-3.1.11-2.el8_3.x86_64\n mysql-devel-8.0.26-1.module+el8.4.0+652+6de068a7.x86_64\n\n mariadb-devel-3:10.3.28-1.module+el8.4.0+427+adf35707.x86_64\n mysql-devel-8.0.26-1.module+el8.4.0+652+6de068a7.x86_64\n\n mariadb-3:10.3.28-1.module+el8.4.0+427+adf35707.x86_64\n mysql-8.0.26-1.module+el8.4.0+652+6de068a7.x86_64\n\n libcmpiCppImpl0-2.0.3-15.el8.x86_64\n tog-pegasus-libs-2:2.14.1-46.el8.x86_64\n\n libev-libevent-devel-4.24-6.el8.i686\n libev-libevent-devel-4.24-6.el8.x86_64\n libevent-devel-2.1.8-5.el8.i686\n libevent-devel-2.1.8-5.el8.x86_64\n\n\n == File conflicts, listed by conflicting packages ==\n mariadb-server-3:10.3.28-1.module+el8.4.0+427+adf35707.x86_64\n mysql-test-8.0.26-1.module+el8.4.0+652+6de068a7.x86_64\n /usr/bin/mysqld_safe\n\n$ sudo umount /media\n</code></pre> Additional Information ContactDisclaimerAttributionLicense <p>If you have questions with respect to this content or to report concerns regarding the use or misuse content please do not hesitate to contact us at testing@rockylinux.org.</p> <p>Rocky Linux and the Rocky Enterprise Software Foundation (RESF) does not make any express or implied warranties, including but not limited to the warranties of non-infringement of any third party intellectual property rights. RESF does not warrant that any pending trademark applications for trademarks of RESF will result in any granted trademark protection. RESF shall not be liable for any claims relating to user's activities falling within the scope of the permission and user hereby agrees to indemnify, defend and hold RESF and its contributors harmless against any such claim.</p> <p>This work is heavily inspired by the Fedora Quality Assurance documents which were made available under Attribution-Share Alike 4.0 International license unless otherwise noted.</p> <p>This content is licensed under under Attribution-Share Alike 4.0 International license unless otherwise noted.</p>"},{"location":"documentation/QA/Testcase_Media_Repoclosure/","title":"QA:Testcase Media Repoclosure","text":"<p>Associated release criterion</p> <p>This test case is associated with the Release_Criteria#no-broken-packages release criterion. If you are doing release validation testing, a failure of this test case may be a breach of that release criterion.</p>"},{"location":"documentation/QA/Testcase_Media_Repoclosure/#description","title":"Description","text":"<p>This testcase will verify that the offline repository included on release blocking images will not contain broken dependencies.</p>"},{"location":"documentation/QA/Testcase_Media_Repoclosure/#setup","title":"Setup","text":"<ol> <li>Obtain access to an environment with the <code>dnf repoclosure</code> command.</li> <li>Download the ISO to be tested to that machine.</li> </ol>"},{"location":"documentation/QA/Testcase_Media_Repoclosure/#how-to-test","title":"How to test","text":"<ol> <li>Mount the ISO to be tested locally.<ul> <li>Example:<code>mount -o loop Rocky-8.5-x86_64-minimal.iso /media</code></li> </ul> </li> <li>Determine the path to the <code>repodata</code> directory(ies) on the ISO.<ul> <li>Example:<code>find /media -name repodata</code></li> </ul> </li> <li>Run the <code>dnf repoclosure</code> command on the mounted ISO.<ul> <li>Example:<code>dnf --verbose repoclosure --repofrompath BaseOS,/media/BaseOS --repo BaseOS --repofrompath Minimal,/media/Minimal --repo Minimal</code></li> </ul> </li> <li>Unmount the ISO.<ul> <li>Example:<code>umount /media</code></li> </ul> </li> </ol>"},{"location":"documentation/QA/Testcase_Media_Repoclosure/#expected-results","title":"Expected Results","text":"<ol> <li>The <code>dnf repoclosure</code> command does not generate any errors.</li> </ol> Sample Output SuccessFailure <pre><code>$ sudo mount -o loop Rocky-8.5-x86_64-minimal.iso /media\nmount: /media: WARNING: device write-protected, mounted read-only.\n\n[vagrant@localhost ~]$ dnf --refresh repoclosure \\\n --repofrompath BaseOS,/media/BaseOS --repo BaseOS \\\n --repofrompath Minimal,/media/Minimal --repo Minimal\nAdded BaseOS repo from /media/BaseOS\nAdded Minimal repo from /media/Minimal\nBaseOS 102 MB/s | 2.6 MB 00:00\nMinimal 90 kB/s | 384 B 00:00\n\n$ sudo umount /media\n</code></pre> <p>NOTE: In this example the content of the <code>Rocky-8.5-x86_64-minimal.iso</code> was copied to <code>/tmp</code> then the BaseOS repository was modified to remove the <code>setup-2.12.2-6.el8.noarch.rpm</code> package and the repository metadata was regenerated.</p> <pre><code>[vagrant@localhost ~]$ dnf --refresh repoclosure \\\n --repofrompath BaseOS,/tmp/media/BaseOS --repo BaseOS \\\n --repofrompath Minimal,/tmp/media/Minimal --repo Minimal\nAdded BaseOS repo from /tmp/media/BaseOS\nAdded Minimal repo from /tmp/media/Minimal\nBaseOS 3.7 MB/s | 3.8 kB 00:00\nMinimal 3.7 MB/s | 3.8 kB 00:00\npackage: basesystem-11-5.el8.noarch from BaseOS\n unresolved deps:\n setup\npackage: dump-1:0.4-0.36.b46.el8.x86_64 from BaseOS\n unresolved deps:\n setup\npackage: filesystem-3.8-6.el8.x86_64 from BaseOS\n unresolved deps:\n setup\npackage: initscripts-10.00.15-1.el8.x86_64 from BaseOS\n unresolved deps:\n setup\npackage: rpcbind-1.2.5-8.el8.x86_64 from BaseOS\n unresolved deps:\n setup\npackage: shadow-utils-2:4.6-14.el8.x86_64 from BaseOS\n unresolved deps:\n setup\nError: Repoclosure ended with unresolved dependencies.\n</code></pre> Additional Information ContactDisclaimerAttributionLicense <p>If you have questions with respect to this content or to report concerns regarding the use or misuse content please do not hesitate to contact us at testing@rockylinux.org.</p> <p>Rocky Linux and the Rocky Enterprise Software Foundation (RESF) does not make any express or implied warranties, including but not limited to the warranties of non-infringement of any third party intellectual property rights. RESF does not warrant that any pending trademark applications for trademarks of RESF will result in any granted trademark protection. RESF shall not be liable for any claims relating to user's activities falling within the scope of the permission and user hereby agrees to indemnify, defend and hold RESF and its contributors harmless against any such claim.</p> <p>This work is heavily inspired by the Fedora Quality Assurance documents which were made available under Attribution-Share Alike 4.0 International license unless otherwise noted.</p> <p>This content is licensed under under Attribution-Share Alike 4.0 International license unless otherwise noted.</p>"},{"location":"documentation/QA/Testcase_Media_USB_dd/","title":"QA:Testcase Media USB dd","text":"<p>Associated release criterion</p> <p>This test case is associated with the Release_Criteria#initialization-requirements release criterion. If you are doing release validation testing, a failure of this test case may be a breach of that release criterion.</p>"},{"location":"documentation/QA/Testcase_Media_USB_dd/#description","title":"Description","text":"<p>This verifies that Rocky Linux ISO image can be written to USB media using <code>dd</code> command, and the resulting USB media successfully boots to the Anaconda Installer.</p> <p>DATA LOSS</p> <p>Any data on the USB stick used for this test is likely to be destroyed. Please do not use a stick whose contents you need to keep.</p>"},{"location":"documentation/QA/Testcase_Media_USB_dd/#setup","title":"Setup","text":"<ol> <li>Provide a USB media device that is larger than the ISO image you wish to test and that it can be completely erased.</li> <li>Provide a Linux (or other *nix system) that has the <code>dd</code> command available and an unoccupied USB port.</li> <li>Download the Rocky Linux ISO image you wish to test onto the test system.<ul> <li>Example command:<code>curl -LOR https://dl.rockylinux.org/pub/rocky/8/isos/x86_64/Rocky-x86_64-boot.iso</code></li> </ul> </li> <li>Download the <code>CHECKSUM</code> file that goes with the Rocky Linux ISO image that you wish to test.<ul> <li>Example command:<code>curl -LOR https://dl.rockylinux.org/pub/rocky/8/isos/x86_64/CHECKSUM</code></li> </ul> </li> <li>Download the <code>CHECKSUM.sig</code> file that does with the <code>CHECKSUM</code> file.<ul> <li>Example command:<code>curl -LOR https://dl.rockylinux.org/pub/rocky/8/isos/x86_64/CHECKSUM.sig</code></li> </ul> </li> <li>Download the Rocky Release Engineering GPG key.<ul> <li>Example command:<code>curl -LOR https://dl.rockylinux.org/pub/rocky/RPM-GPG-KEY-rockyofficial</code></li> </ul> </li> </ol>"},{"location":"documentation/QA/Testcase_Media_USB_dd/#how-to-test","title":"How to test","text":"<ol> <li>Import the Rocky Release Engineering GPG key.<ul> <li>Example command:<code>gpg --import RPM-GPG-KEY-rockyofficial</code></li> </ul> </li> <li>Verify the signature of the CHECKSUM file.<ul> <li>Example command:<code>gpg --verify-file CHECKSUM.sig</code></li> </ul> </li> <li>Verify the CHECKSUM of the Rocky Linux ISO...<ul> <li>Example command:<code>shasum -a 256 --ignore-missing -c CHECKSUM</code></li> </ul> </li> <li>Write the Rocky Linux ISO to the USB media using <code>dd</code>...<ul> <li>Example command:<code>dd if=Rocky-8.5-x86_64-boot.iso of=/dev/sdX bs=16M status=progress oflag=direct</code>...where you replace <code>sdX</code> with the device identifier of your USB media.This will destroy all data on the disk.</li> </ul> </li> <li>Boot the test system with the USB media.</li> <li>In the boot menu select the appropriate option to boot the installer.</li> <li>[OPTIONAL] Proceed with installation on the test system.Depending on installer choices this MAY destroy all the data on the test system.</li> </ol>"},{"location":"documentation/QA/Testcase_Media_USB_dd/#expected-results","title":"Expected Results","text":"<ol> <li>The gpg signature on the <code>CHECKSUM</code> file is valid.</li> <li>The <code>CHECKSUM</code> of the Rocky Linux ISO is valid.</li> <li>The Rocky Linux ISO is written to the USB stick without errors.</li> <li>The USB stick boots without errors.</li> <li>The Anaconda Installer starts without errors.</li> </ol> <p>DATA LOSS</p> <p>If you choose to complete the installation of the test system any/all data on the system may be lost. Please do not install on a system whose contents you need to keep.</p> <p>[OPTIONALLY] 6. The installation finishes successfully and, if the minimal or DVD ISO were used, the package repository on the USB stick (not a network based repository) was used for the installation.</p> Additional Information ContactDisclaimerAttributionLicense <p>If you have questions with respect to this content or to report concerns regarding the use or misuse content please do not hesitate to contact us at testing@rockylinux.org.</p> <p>Rocky Linux and the Rocky Enterprise Software Foundation (RESF) does not make any express or implied warranties, including but not limited to the warranties of non-infringement of any third party intellectual property rights. RESF does not warrant that any pending trademark applications for trademarks of RESF will result in any granted trademark protection. RESF shall not be liable for any claims relating to user's activities falling within the scope of the permission and user hereby agrees to indemnify, defend and hold RESF and its contributors harmless against any such claim.</p> <p>This work is heavily inspired by the Fedora Quality Assurance documents which were made available under Attribution-Share Alike 4.0 International license unless otherwise noted.</p> <p>This content is licensed under under Attribution-Share Alike 4.0 International license unless otherwise noted.</p>"},{"location":"documentation/QA/Testcase_Minimal_Installation/","title":"QA:Testcase Minimal Installation","text":"<p>Associated release criterion</p> <p>This test case is associated with the Release_Criteria#Minimal Installation release criterion. If you are doing release validation testing, a failure of this test case may be a breach of that release criterion.</p>"},{"location":"documentation/QA/Testcase_Minimal_Installation/#description","title":"Description","text":"<p>This test case verifies that a networked minimal installation is able to install the 'Minimal' package set. The installation should not require use of local packages to complete.</p> <p>DATA LOSS</p> <p>Depending on installer choices this MAY destroy all the data on the test system. If you choose to complete the installation of the test system any/all data on the system may be lost. Please do not install on a system whose contents you need to keep.</p>"},{"location":"documentation/QA/Testcase_Minimal_Installation/#setup","title":"Setup","text":"<ol> <li>Obtain access to supported system and hardware class to be installed.</li> <li>Prepare appropriate media for the selected ISO to be tested.<ul> <li>Example: QA:Testcase Media USB dd</li> </ul> </li> <li>Boot the system from the prepared optical, USB media or virtual device attachment.<ul> <li>Examples: QA:Testcase Boot Methods Boot ISO, QA:Testcase Boot Methods DVD</li> </ul> </li> <li>In the boot menu select the appropriate option to boot the installer.</li> </ol>"},{"location":"documentation/QA/Testcase_Minimal_Installation/#how-to-test","title":"How to test","text":"<ol> <li>From the Installation Source spoke, configure a remote repository source from MirrorManager appropriate to the architecture under test.</li> <li>From the Software Selection spoke, select the Minimal package set.</li> <li>Complete the installation using desired parameters.</li> </ol>"},{"location":"documentation/QA/Testcase_Minimal_Installation/#expected-results","title":"Expected Results","text":"<ol> <li>The installation should complete and boot successfully.</li> </ol>"},{"location":"documentation/QA/Testcase_Minimal_Installation/#testing-in-openqa","title":"Testing in openQA","text":"<p>The following openQA test suites satisfy this release criteria:</p> <ul> <li><code>install_minimal</code></li> </ul> Additional Information ContactDisclaimerAttributionLicense <p>If you have questions with respect to this content or to report concerns regarding the use or misuse content please do not hesitate to contact us at testing@rockylinux.org.</p> <p>Rocky Linux and the Rocky Enterprise Software Foundation (RESF) does not make any express or implied warranties, including but not limited to the warranties of non-infringement of any third party intellectual property rights. RESF does not warrant that any pending trademark applications for trademarks of RESF will result in any granted trademark protection. RESF shall not be liable for any claims relating to user's activities falling within the scope of the permission and user hereby agrees to indemnify, defend and hold RESF and its contributors harmless against any such claim.</p> <p>This work is heavily inspired by the Fedora Quality Assurance documents which were made available under Attribution-Share Alike 4.0 International license unless otherwise noted.</p> <p>This content is licensed under under Attribution-Share Alike 4.0 International license unless otherwise noted.</p>"},{"location":"documentation/QA/Testcase_Network_Attached_Storage/","title":"QA:Testcase Network Attached Storage","text":"<p>Associated release criterion</p> <p>This test case is associated with the Release_Criteria#Network Attached Storage release criterion. If you are doing release validation testing, a failure of this test case may be a breach of that release criterion.</p>"},{"location":"documentation/QA/Testcase_Network_Attached_Storage/#description","title":"Description","text":"<p>The installer must be able to detect and install to supported NAS devices (if possible and supported by the kernel).</p>"},{"location":"documentation/QA/Testcase_Network_Attached_Storage/#setup","title":"Setup","text":"<ol> <li>Add steps for setup for this Testcase.</li> </ol>"},{"location":"documentation/QA/Testcase_Network_Attached_Storage/#how-to-test","title":"How to test","text":""},{"location":"documentation/QA/Testcase_Network_Attached_Storage/#nfs","title":"NFS","text":"<p>install nfs-utils sudo mount -t nfs nfs-server:/nfs/path /mnt then a created a file echo 1 &gt; /mnt/1 verified it and permissions ls /mnt; cat /mnt/1 then deleted it rm /mnt/1 then unmounted sudo umount /mnt</p>"},{"location":"documentation/QA/Testcase_Network_Attached_Storage/#iscsi","title":"iSCSI","text":""},{"location":"documentation/QA/Testcase_Network_Attached_Storage/#expected-results","title":"Expected Results","text":"<ol> <li>This is what you should see/verify.</li> <li>You should also see/verify this.</li> </ol> Additional Information ContactDisclaimerAttributionLicense <p>If you have questions with respect to this content or to report concerns regarding the use or misuse content please do not hesitate to contact us at testing@rockylinux.org.</p> <p>Rocky Linux and the Rocky Enterprise Software Foundation (RESF) does not make any express or implied warranties, including but not limited to the warranties of non-infringement of any third party intellectual property rights. RESF does not warrant that any pending trademark applications for trademarks of RESF will result in any granted trademark protection. RESF shall not be liable for any claims relating to user's activities falling within the scope of the permission and user hereby agrees to indemnify, defend and hold RESF and its contributors harmless against any such claim.</p> <p>This work is heavily inspired by the Fedora Quality Assurance documents which were made available under Attribution-Share Alike 4.0 International license unless otherwise noted.</p> <p>This content is licensed under under Attribution-Share Alike 4.0 International license unless otherwise noted.</p>"},{"location":"documentation/QA/Testcase_Packages_Installer_Sources/","title":"QA:Testcase Packages and Installer Sources","text":"<p>Associated release criterion</p> <p>This test case is associated with the Release_Criteria#Packages and Installer Sources release criterion. If you are doing release validation testing, a failure of this test case may be a breach of that release criterion.</p>"},{"location":"documentation/QA/Testcase_Packages_Installer_Sources/#description","title":"Description","text":"<p>This test case verifies that the installer can successfully install any of the supported package sets via any of the supported installer sources.</p> <p>The following package sets are supported for installs from local media:</p> <ul> <li>server</li> <li>minimal</li> </ul> <p>The following package sets are only available from remote sources and require a network connection:</p> <ul> <li>workstation</li> <li>graphical-server</li> <li>virtualization-host</li> </ul> <p>DATA LOSS</p> <p>Depending on installer choices this MAY destroy all the data on the test system. If you choose to complete the installation of the test system any/all data on the system may be lost. Please do not install on a system whose contents you need to keep.</p>"},{"location":"documentation/QA/Testcase_Packages_Installer_Sources/#setup","title":"Setup","text":"<ol> <li>Obtain access to supported system and hardware class to be installed.</li> <li>Prepare appropriate media for the selected ISO to be tested.<ul> <li>Example: QA:Testcase Media USB dd</li> </ul> </li> <li>Boot the system from the prepared optical, USB media or virtual device attachment.<ul> <li>Examples: QA:Testcase Boot Methods Boot ISO, QA:Testcase Boot Methods DVD</li> </ul> </li> <li>In the boot menu select the appropriate option to boot the installer.</li> </ol>"},{"location":"documentation/QA/Testcase_Packages_Installer_Sources/#how-to-test","title":"How to test","text":"<ol> <li>For local package installations it is not necessary to enable networking or specify a mirror.</li> <li>For package installation from remote sources:<ol> <li>From the Network and Hostname spoke, enable networking.</li> <li>From the Installation Source spoke, configure a remote software source, supplying an appropriate mirror for the version and architecture under test.</li> </ol> </li> <li>Complete the installer and wait for the machine to reboot.</li> </ol>"},{"location":"documentation/QA/Testcase_Packages_Installer_Sources/#expected-results","title":"Expected Results","text":"<ol> <li>The installation should complete and boot successfully.</li> <li>If a graphical package set was specified, the system should boot to a graphical login screen.</li> </ol>"},{"location":"documentation/QA/Testcase_Packages_Installer_Sources/#testing-in-openqa","title":"Testing in openQA","text":"<p>The following openQA test suites satisfy this release criteria, provided they pass the <code>_do_install_reboot</code> module at a minimum:</p> <ul> <li><code>install_packageset_server</code></li> <li><code>install_packageset_minimal</code></li> <li><code>install_packageset_workstation</code></li> <li><code>install_packageset_graphical-server</code></li> <li><code>install_packageset_virtualization-host</code></li> </ul> Additional Information ContactDisclaimerAttributionLicense <p>If you have questions with respect to this content or to report concerns regarding the use or misuse content please do not hesitate to contact us at testing@rockylinux.org.</p> <p>Rocky Linux and the Rocky Enterprise Software Foundation (RESF) does not make any express or implied warranties, including but not limited to the warranties of non-infringement of any third party intellectual property rights. RESF does not warrant that any pending trademark applications for trademarks of RESF will result in any granted trademark protection. RESF shall not be liable for any claims relating to user's activities falling within the scope of the permission and user hereby agrees to indemnify, defend and hold RESF and its contributors harmless against any such claim.</p> <p>This work is heavily inspired by the Fedora Quality Assurance documents which were made available under Attribution-Share Alike 4.0 International license unless otherwise noted.</p> <p>This content is licensed under under Attribution-Share Alike 4.0 International license unless otherwise noted.</p>"},{"location":"documentation/QA/Testcase_Packages_No_Insights/","title":"QA:Testcase Packages No Insights","text":"<p>Associated release criterion</p> <p>This test case is associated with the Release_Criteria#repositories-must-match-upstream release criterion. If you are doing release validation testing, a failure of this test case may be a breach of that release criterion.</p>"},{"location":"documentation/QA/Testcase_Packages_No_Insights/#description","title":"Description","text":"<p>This test will verify that <code>insights-client</code> package is not declared be installed as part of a package group.</p>"},{"location":"documentation/QA/Testcase_Packages_No_Insights/#setup","title":"Setup","text":"<ol> <li>Obtain access to an environment with the <code>dnf</code> command.</li> <li>Download the ISO to be tested to that machine.</li> </ol>"},{"location":"documentation/QA/Testcase_Packages_No_Insights/#how-to-test","title":"How to test","text":"<ol> <li>Mount the ISO to be tested locally.</li> <li>Determine the path to the <code>comps</code> file(s) on the ISO.</li> <li>Verify that <code>insights-client</code> is not declared to be installed automatically.<ul> <li>Example 1:<code>find /media -name \"*comps*.xml\" -exec grep -H \"insights-client\" '{}' \\;</code></li> <li>Example 2:<code>dnf --refresh --repofrompath BaseOS,/media/BaseOS --repo BaseOS --repofrompath AppStream,/media/AppStream --repo AppStream groupinfo base | grep -E \":|insights\"</code></li> </ul> </li> <li>Unmount the ISO.</li> </ol>"},{"location":"documentation/QA/Testcase_Packages_No_Insights/#expected-results","title":"Expected Results","text":"<ol> <li><code>insights-client</code> is not declared to be installed by default.</li> </ol> Sample Output SuccessFailure <p>UPDATE SAMPLE</p> <p>NOTE: This example needs to be refreshed when the 8.6 ISO has been produced. As seen in the Failure section below the <code>Rocky-8.5-x86_64-dvd1.iso</code> includes the <code>insights-client</code> as part of the <code>base</code> group. The package should be included on the DVD ISO but should not be installed automatically.</p> <pre><code>$ sudo mount -o loop Rocky-8.5-aarch64-minimal.iso /media\nmount: /media: WARNING: device write-protected, mounted read-only.\n\n$ dnf --refresh --repofrompath BaseOS,/media/BaseOS --repo BaseOS --repofrompath Minimal,/media/Minimal --repo Minimal search insights-client\nAdded BaseOS repo from /media/BaseOS\nAdded Minimal repo from /media/Minimal\nBaseOS 3.8 MB/s | 3.9 kB 00:00\nMinimal 3.7 MB/s | 3.8 kB 00:00\nNo matches found.\n\n$ find /media -name \"*comps*.xml\" -exec grep -H \"insights-client\" '{}' \\;\n\n$ dnf --refresh --repofrompath BaseOS,/media/BaseOS --repo BaseOS --repofrompath Minimal,/media/Minimal --repo Minimal groupinfo base | grep -E \":|insights\"\nBaseOS 3.8 MB/s | 3.9 kB 00:00\nMinimal 3.7 MB/s | 3.8 kB 00:00\nGroup: Base\n Description: The standard installation of Rocky Linux.\n Mandatory Packages:\n Default Packages:\n Optional Packages:\n\n$ sudo umount /media\n</code></pre> <pre><code>$ sudo mount -o loop Rocky-8.5-x86_64-dvd1.iso /media\nmount: /media: WARNING: device write-protected, mounted read-only.\n\n$ dnf --refresh --repofrompath BaseOS,/media/BaseOS --repo BaseOS --repofrompath AppStream,/media/AppStream --repo AppStream search insights-client\nAdded BaseOS repo from /media/BaseOS\nAdded AppStream repo from /media/AppStream\nBaseOS 3.8 MB/s | 3.9 kB 00:00\nAppStream 4.2 MB/s | 4.3 kB 00:00\n================================= Name Exactly Matched: insights-client ==================================\ninsights-client.noarch : Uploads Insights information to Red Hat on a periodic basis\n\n$ find /media -name \"*comps*.xml\" -exec grep -H \"insights-client\" '{}' \\;\n/media/AppStream/repodata/a6742e1300e1c786af91656b152d3b98bb7aff598e650509381417970e1f1b7e-comps-AppStream.x86_64.xml: &lt;packagereq type=\"default\"&gt;insights-client&lt;/packagereq&gt;\n/media/AppStream/repodata/a6742e1300e1c786af91656b152d3b98bb7aff598e650509381417970e1f1b7e-comps-AppStream.x86_64.xml: &lt;packagereq type=\"default\"&gt;insights-client&lt;/packagereq&gt;\n\n$ dnf --refresh --repofrompath BaseOS,/media/BaseOS --repo BaseOS --repofrompath AppStream,/media/AppStream --repo AppStream groupinfo base | grep -E \":|insights\"\nBaseOS 3.8 MB/s | 3.9 kB 00:00\nAppStream 4.2 MB/s | 4.3 kB 00:00\nGroup: Base\n Description: The standard installation of Rocky Linux.\n Mandatory Packages:\n Default Packages:\n insights-client\n Optional Packages:\n\n$ sudo umount /media\n</code></pre> Additional Information ContactDisclaimerAttributionLicense <p>If you have questions with respect to this content or to report concerns regarding the use or misuse content please do not hesitate to contact us at testing@rockylinux.org.</p> <p>Rocky Linux and the Rocky Enterprise Software Foundation (RESF) does not make any express or implied warranties, including but not limited to the warranties of non-infringement of any third party intellectual property rights. RESF does not warrant that any pending trademark applications for trademarks of RESF will result in any granted trademark protection. RESF shall not be liable for any claims relating to user's activities falling within the scope of the permission and user hereby agrees to indemnify, defend and hold RESF and its contributors harmless against any such claim.</p> <p>This work is heavily inspired by the Fedora Quality Assurance documents which were made available under Attribution-Share Alike 4.0 International license unless otherwise noted.</p> <p>This content is licensed under under Attribution-Share Alike 4.0 International license unless otherwise noted.</p>"},{"location":"documentation/QA/Testcase_Packages_No_RHSM/","title":"QA:Testcase Packages No RHSM","text":"<p>Associated release criterion</p> <p>This test case is associated with the Release_Criteria#repositories-must-match-upstream release criterion. If you are doing release validation testing, a failure of this test case may be a breach of that release criterion.</p>"},{"location":"documentation/QA/Testcase_Packages_No_RHSM/#description","title":"Description","text":"<p>This test will verify that packages that are availble from upstream do not have hard requirements on <code>subscription-manager</code> (RHSM).</p>"},{"location":"documentation/QA/Testcase_Packages_No_RHSM/#setup","title":"Setup","text":"<ol> <li>Obtain access to an environment with the <code>dnf</code> command.</li> <li>Download the ISO to be tested to that machine.</li> </ol>"},{"location":"documentation/QA/Testcase_Packages_No_RHSM/#how-to-test","title":"How to test","text":"<ol> <li>Mount the ISO to be tested locally.</li> <li>Obtain a list of packages that have <code>Requires:</code> for <code>subscription-manager</code><ul> <li>Example:<code>package_list=($(dnf --refresh repoquery --repofrompath BaseOS,/media/BaseOS --repo BaseOS --repofrompath AppStream,/media/AppStream --repo AppStream --whatrequires subscription-manager 2&gt;/dev/null| grep el8))</code></li> </ul> </li> <li>Download the packages with explicity <code>Requires:</code> for <code>subscription-manager</code><ul> <li>Example:<code>dnf --repofrompath BaseOS,/media/BaseOS --repo BaseOS --repofrompath AppStream,/media/AppStream --repo AppStream download \"${package_list[@]}\"</code></li> </ul> </li> <li>Obtain the <code>SOURCEPKG</code> definition for the above packages<ul> <li>Example:<code>rpm -q --queryformat=\"%{NAME}|%{SOURCERPM}\\n\" subscription-manager*.rpm | column -s\\| -t</code></li> </ul> </li> <li>Unmount the ISO.</li> </ol>"},{"location":"documentation/QA/Testcase_Packages_No_RHSM/#expected-results","title":"Expected Results","text":"<ol> <li>No packages have an explicit requirement for <code>subscription-manager</code>.</li> </ol> Sample Output SuccessFailure <pre><code>$ sudo mount -o loop Rocky-8.5-aarch64-minimal.iso /media\nmount: /media: WARNING: device write-protected, mounted read-only.\n\n$ package_list=($(dnf --refresh repoquery --repofrompath BaseOS,/media/BaseOS --repo BaseOS --repofrompath AppStream,/media/AppStream --repo AppStream --whatrequires subscription-manager 2&gt;/dev/null| grep el8))\n\n$ dnf --repofrompath BaseOS,/media/BaseOS --repo BaseOS --repofrompath AppStream,/media/AppStream --repo AppStream download \"${package_list[@]}\"\nAdded BaseOS repo from /media/BaseOS\nAdded AppStream repo from /media/AppStream\nLast metadata expiration check: 0:00:25 ago on Sun 24 Apr 2022 10:57:13 PM UTC.\n\n$ rpm -q --queryformat=\"%{NAME}|%{SOURCERPM}\\n\" subscription-manager*.rpm | column -s\\| -t\nsubscription-manager-cockpit subscription-manager-1.28.21-3.el8.src.rpm\nsubscription-manager-migration subscription-manager-1.28.21-3.el8.src.rpm\nsubscription-manager-plugin-ostree subscription-manager-1.28.21-3.el8.src.rpm\n\n$ sudo umount /media\n</code></pre> <p>TBD</p> Additional Information ContactDisclaimerAttributionLicense <p>If you have questions with respect to this content or to report concerns regarding the use or misuse content please do not hesitate to contact us at testing@rockylinux.org.</p> <p>Rocky Linux and the Rocky Enterprise Software Foundation (RESF) does not make any express or implied warranties, including but not limited to the warranties of non-infringement of any third party intellectual property rights. RESF does not warrant that any pending trademark applications for trademarks of RESF will result in any granted trademark protection. RESF shall not be liable for any claims relating to user's activities falling within the scope of the permission and user hereby agrees to indemnify, defend and hold RESF and its contributors harmless against any such claim.</p> <p>This work is heavily inspired by the Fedora Quality Assurance documents which were made available under Attribution-Share Alike 4.0 International license unless otherwise noted.</p> <p>This content is licensed under under Attribution-Share Alike 4.0 International license unless otherwise noted.</p>"},{"location":"documentation/QA/Testcase_Post_Application_Functionality/","title":"QA:Testcase Application Functionality","text":"<p>Release relevance</p> <p>This Testcase applies the following versions of Rocky Linux: 8, 9</p> <p>Associated release criterion</p> <p>This test case is associated with the Release_Criteria#default-application-functionality-desktop-only release criterion. If you are doing release validation testing, a failure of this test case may be a breach of that release criterion.</p> <p>REFERENCED RELEASE CRITERIA IS OVERLY GENERAL AND UNTESTABLE</p> <p>The associated release criteria, Release_Criteria#default-application-functionality-desktop-only, for this test case is overly general and must be modified to specific enough to be testable.</p>"},{"location":"documentation/QA/Testcase_Post_Application_Functionality/#description","title":"Description","text":"<p>This testcase handles all applications, considered as core applications of the desktop environment GNOME or user facing commandline applications.</p> <p>The following tasks apply in general to all of the following applications:</p> <ul> <li>Firefox</li> <li>Files (Nautilus)</li> <li>GNOME Software</li> <li>(Image Viewer)</li> <li>(Document Viewer)</li> <li>Gedit (Text Editor)</li> <li>Archive Manager</li> <li>GNOME Terminal (Terminal Emulator)</li> <li>Problem Reporter</li> <li>Help Viewer</li> <li>System Settings</li> <li>vim (Console Text Editor)</li> </ul>"},{"location":"documentation/QA/Testcase_Post_Application_Functionality/#setup","title":"Setup","text":"<p>Obtain access to a suitable system with either a Workstation or a Graphical Server installation.</p>"},{"location":"documentation/QA/Testcase_Post_Application_Functionality/#how-to-test","title":"How to test","text":"<ol> <li>Check that the application starts without any errors</li> <li>Further check that the context menus for the correct function</li> <li>Open files to test the functionality of the individual applications</li> </ol>"},{"location":"documentation/QA/Testcase_Post_Application_Functionality/#expected-results","title":"Expected Results","text":"<p>Make sure that the individual applications behave as they should.</p> Additional Information ContactDisclaimerAttributionLicense <p>If you have questions with respect to this content or to report concerns regarding the use or misuse content please do not hesitate to contact us at testing@rockylinux.org.</p> <p>Rocky Linux and the Rocky Enterprise Software Foundation (RESF) does not make any express or implied warranties, including but not limited to the warranties of non-infringement of any third party intellectual property rights. RESF does not warrant that any pending trademark applications for trademarks of RESF will result in any granted trademark protection. RESF shall not be liable for any claims relating to user's activities falling within the scope of the permission and user hereby agrees to indemnify, defend and hold RESF and its contributors harmless against any such claim.</p> <p>This work is heavily inspired by the Fedora Quality Assurance documents which were made available under Attribution-Share Alike 4.0 International license unless otherwise noted.</p> <p>This content is licensed under under Attribution-Share Alike 4.0 International license unless otherwise noted.</p>"},{"location":"documentation/QA/Testcase_Post_Artwork_and_Assets/","title":"QA:Testcase Artwork and Assets","text":"<p>Release relevance</p> <p>This Testcase applies the following versions of Rocky Linux: 8, 9</p> <p>Associated release criterion</p> <p>This test case is associated with the Release_Criteria#artwork-and-assets-server-and-desktop release criterion. If you are doing release validation testing, a failure of this test case may be a breach of that release criterion.</p>"},{"location":"documentation/QA/Testcase_Post_Artwork_and_Assets/#description","title":"Description","text":"<p>There are several brand artworks and assets throughout the whole OS, this testcase will take care of checking, that these are actually in place, and don't produce any UI errors. This is exclusively for installations with the default desktop environment GDM and GNOME.</p>"},{"location":"documentation/QA/Testcase_Post_Artwork_and_Assets/#setup","title":"Setup","text":"<ol> <li>Acquire access to either a baremetal machine or a VM host, to install a new machine</li> <li>Prepare appropriate media for the selected ISO to be tested.<ul> <li>Example: QA:Testcase Media USB dd</li> </ul> </li> </ol>"},{"location":"documentation/QA/Testcase_Post_Artwork_and_Assets/#how-to-test","title":"How to test","text":"<ol> <li>While booting the image check, that the correct logo is visible in the loading screen before Anaconda comes up</li> <li>Look at the Anaconda images in the rocky-logos repo and check if all assets are correctly applied in Anaconda (they will generally be visible right away while going through the install process)</li> <li>Install the system with either the Workstation install set or Graphical Server</li> <li>While the OS does its first boot, check that the correct logo is visible in the loading screen before the boot login screen shows up</li> <li>Check the logo and background of the boot login screen</li> <li>After the login check the desktop background and further all available options in the settings menu for the desktop background</li> <li>Lock the screen and check the background visible in the flyover</li> <li>At last check the logo and background of the login screen</li> </ol>"},{"location":"documentation/QA/Testcase_Post_Artwork_and_Assets/#expected-results","title":"Expected Results","text":"<p>The tests during the process could be successfully finished.</p> Additional Information ContactDisclaimerAttributionLicense <p>If you have questions with respect to this content or to report concerns regarding the use or misuse content please do not hesitate to contact us at testing@rockylinux.org.</p> <p>Rocky Linux and the Rocky Enterprise Software Foundation (RESF) does not make any express or implied warranties, including but not limited to the warranties of non-infringement of any third party intellectual property rights. RESF does not warrant that any pending trademark applications for trademarks of RESF will result in any granted trademark protection. RESF shall not be liable for any claims relating to user's activities falling within the scope of the permission and user hereby agrees to indemnify, defend and hold RESF and its contributors harmless against any such claim.</p> <p>This work is heavily inspired by the Fedora Quality Assurance documents which were made available under Attribution-Share Alike 4.0 International license unless otherwise noted.</p> <p>This content is licensed under under Attribution-Share Alike 4.0 International license unless otherwise noted.</p>"},{"location":"documentation/QA/Testcase_Post_GNOME_UI_Functionality/","title":"QA:Testcase GNOME UI Functionality","text":"<p>Release relevance</p> <p>This Testcase applies the following versions of Rocky Linux: 8, 9</p> <p>REFERENCED RELEASE CRITERIA IS OVERLY GENERAL AND UNTESTABLE</p> <p>The associated release criteria, Release_Criteria#default-panel-functionality-desktop-only, for this test case is overly general and must be modified to specific enough to be testable.</p> <p>Associated release criterion</p> <p>This test case is associated with the Release_Criteria#default-panel-functionality-desktop-only release criterion. If you are doing release validation testing, a failure of this test case may be a breach of that release criterion.</p>"},{"location":"documentation/QA/Testcase_Post_GNOME_UI_Functionality/#description","title":"Description","text":"<p>This test collection takes care of the correct functionality of the GNOME UI.</p>"},{"location":"documentation/QA/Testcase_Post_GNOME_UI_Functionality/#setup","title":"Setup","text":"<p>Obtain access to a suitable system with either a Workstation or a Graphical Server installation.</p>"},{"location":"documentation/QA/Testcase_Post_GNOME_UI_Functionality/#how-to-test","title":"How to test","text":"<ol> <li>Login to the Rocky Machine via the UI</li> <li>Navigate through the GNOME UI</li> </ol>"},{"location":"documentation/QA/Testcase_Post_GNOME_UI_Functionality/#expected-results","title":"Expected Results","text":"<ol> <li>After the login you should have landed on the desktop with the background and the top bar of GNOME visible</li> <li>Clicking the the Activities button in the upper right should bring up the overview</li> <li>Further there should be the favourite applications ribbon on the left</li> <li>And after clicking the 9-dot-icon all applications should appear</li> <li>Back on the desktop check the function of the system and clock panel on the upper right and middle</li> </ol> <p>It is also a good measure to do some more basic clicking through the GNOME UI, like opening applications, interacting with the application headerbar, moving applications to different desktops or changing settings in the System settings.</p> Additional Information ContactDisclaimerAttributionLicense <p>If you have questions with respect to this content or to report concerns regarding the use or misuse content please do not hesitate to contact us at testing@rockylinux.org.</p> <p>Rocky Linux and the Rocky Enterprise Software Foundation (RESF) does not make any express or implied warranties, including but not limited to the warranties of non-infringement of any third party intellectual property rights. RESF does not warrant that any pending trademark applications for trademarks of RESF will result in any granted trademark protection. RESF shall not be liable for any claims relating to user's activities falling within the scope of the permission and user hereby agrees to indemnify, defend and hold RESF and its contributors harmless against any such claim.</p> <p>This work is heavily inspired by the Fedora Quality Assurance documents which were made available under Attribution-Share Alike 4.0 International license unless otherwise noted.</p> <p>This content is licensed under under Attribution-Share Alike 4.0 International license unless otherwise noted.</p>"},{"location":"documentation/QA/Testcase_Post_Identity_Management/","title":"QA:Testcase Identity Management","text":"<p>Release relevance</p> <p>This Testcase applies the following versions of Rocky Linux: 8, 9</p> <p>Associated release criterion</p> <p>This test case is associated with the Release_Criteria#packages-and-module-installation release criterion. If you are doing release validation testing, a failure of this test case may be a breach of that release criterion.</p>"},{"location":"documentation/QA/Testcase_Post_Identity_Management/#description","title":"Description","text":"<p>Setting up a IdM system (FreeIPA) and using it's functionality leverages not also a lot of the packages in the official repos, it also tests quite a lot of used functions a corporate environment. This installatation will host it's own dns server for more generic testing without relying on the individual infrastructure of the environment.</p>"},{"location":"documentation/QA/Testcase_Post_Identity_Management/#requirements","title":"Requirements","text":"<ul> <li>A freshly provisioned system (no other functions are allowed on this system except running the IdM services)</li> <li>IPv4 network with unmanaged domain name (installer will check for dns servers) and unmanaged reverse dns network (in my case here 10.30.30.0/24 and ipa1.network)</li> <li>In the case of this writeup the external dns server has the domain <code>example.com</code>, this has to have a entry for <code>r8-ipa1-dev.example.com</code> (this could also be replaced by a entry in the <code>/etc/hosts</code> file if no external dns server should be involved)</li> </ul>"},{"location":"documentation/QA/Testcase_Post_Identity_Management/#setup","title":"Setup","text":"<ol> <li><code>dnf module enable idm:DL1</code></li> <li><code>dnf module install idm:DL1/dns</code></li> <li> <p><code>ipa-server-install</code></p> <ul> <li>Do you want to configure integrated DNS (BIND)? [no]: yes</li> <li>Server host name [r8-ipa1-dev.example.com]: r8-ipa1-dev.example.com</li> <li>Please confirm the domain name [ipa1.network]: ipa1.network</li> <li>Please provide a realm name [IPA1.NETWORK]: IPA1.NETWORK</li> <li>Directory Manager password: <code>&lt;password&gt;</code> Password (confirm): <code>&lt;password&gt;</code></li> <li>IPA admin password: <code>&lt;other-password&gt;</code> Password (confirm): <code>&lt;other-password&gt;</code></li> <li>Please provide the IP address to be used for this host name: 10.30.30.1</li> <li>Enter an additional IP address, or press Enter to skip: <code>leave empty</code></li> <li>Do you want to configure DNS forwarders? [yes]: yes</li> <li>Do you want to configure these servers as DNS forwarders? [yes]: yes</li> <li>Enter an IP address for a DNS forwarder, or press Enter to skip: <code>leave empty</code></li> <li>Do you want to search for missing reverse zones? [yes]: yes</li> <li>NetBIOS domain name [IPA1]: IPA1</li> <li>Do you want to configure chrony with NTP server or pool address? [no]: yes</li> <li>Enter NTP source server addresses separated by comma, or press Enter to skip: <code>leave empty</code></li> <li>Enter a NTP source pool address, or press Enter to skip: pool.ntp.org</li> <li>Continue to configure the system with these values? [no]: yes</li> </ul> </li> <li> <p><code>firewall-cmd --add-service={freeipa-4,dns} --permanent</code></p> </li> <li><code>firewall-cmd --add-service={freeipa-4,dns}</code></li> </ol>"},{"location":"documentation/QA/Testcase_Post_Identity_Management/#how-to-test","title":"How to test","text":"<ol> <li>Make sure Kerberos works, by running <code>kinit admin</code> and <code>klist</code></li> <li>Make sure the webfrontend is reachable and login works</li> <li>Furthermore you can also attach another system (DNS + connecting via SSSD)</li> </ol>"},{"location":"documentation/QA/Testcase_Post_Identity_Management/#expected-results","title":"Expected Results","text":"<p>After installation all services should be available and work correctly.</p> Additional Information ContactDisclaimerAttributionLicense <p>If you have questions with respect to this content or to report concerns regarding the use or misuse content please do not hesitate to contact us at testing@rockylinux.org.</p> <p>Rocky Linux and the Rocky Enterprise Software Foundation (RESF) does not make any express or implied warranties, including but not limited to the warranties of non-infringement of any third party intellectual property rights. RESF does not warrant that any pending trademark applications for trademarks of RESF will result in any granted trademark protection. RESF shall not be liable for any claims relating to user's activities falling within the scope of the permission and user hereby agrees to indemnify, defend and hold RESF and its contributors harmless against any such claim.</p> <p>This work is heavily inspired by the Fedora Quality Assurance documents which were made available under Attribution-Share Alike 4.0 International license unless otherwise noted.</p> <p>This content is licensed under under Attribution-Share Alike 4.0 International license unless otherwise noted.</p>"},{"location":"documentation/QA/Testcase_Post_Keyboard_Layout/","title":"QA:Testcase Keyboard Layout","text":"<p>Release relevance</p> <p>This Testcase applies the following versions of Rocky Linux: 8, 9</p> <p>Associated release criterion</p> <p>This test case is associated with the Release_Criteria#keyboard-layout release criterion. If you are doing release validation testing, a failure of this test case may be a breach of that release criterion.</p>"},{"location":"documentation/QA/Testcase_Post_Keyboard_Layout/#description","title":"Description","text":"<p>As there are a lot of different keyboard layouts available, it is necessary to test if the keyboard functionality works without any issues throughout the system.</p>"},{"location":"documentation/QA/Testcase_Post_Keyboard_Layout/#setup","title":"Setup","text":"<ul> <li>Obtain access to a few different system configurations, especially with and without UI, and not to forget with disk encryption.</li> <li>Acquire access to either a baremetal machine or a VM host, to install a new machine<ul> <li>Prepare appropriate media for the selected ISO to be tested.</li> <li>Example: QA:Testcase Media USB dd</li> </ul> </li> </ul>"},{"location":"documentation/QA/Testcase_Post_Keyboard_Layout/#how-to-test","title":"How to test","text":""},{"location":"documentation/QA/Testcase_Post_Keyboard_Layout/#installer","title":"Installer","text":"<ol> <li>Bootup the installer</li> <li>Choose a language</li> <li>Make sure that the keyboard layout got chosen correctly corresponding to the language setting</li> <li>Change the keyboard layout if needed to test</li> <li>Enter text all over Anaconda to make sure the keyboard layout works correctly with the chosen keyboard layout</li> </ol>"},{"location":"documentation/QA/Testcase_Post_Keyboard_Layout/#disk-encryption","title":"Disk Encryption","text":"<ol> <li>Setup a system with disk encryption</li> <li>Check that the password for the disk encryption works on bootup with graphical UI</li> <li>Check that the password for the disk encryption works on bootup with text mode</li> </ol>"},{"location":"documentation/QA/Testcase_Post_Keyboard_Layout/#text-mode","title":"Text mode","text":"<p>Check that the chosen keyboard layout works correctly on text mode.</p>"},{"location":"documentation/QA/Testcase_Post_Keyboard_Layout/#gnome-and-application","title":"GNOME and Application","text":"<ol> <li>Check the login, that the keyboard layout works correctly on the graphical UI login screen</li> <li>Also check that the GNOME UI works correctly with the chosen keyboard layout</li> <li>And finally check some applications, that the keyboard works as expected</li> </ol>"},{"location":"documentation/QA/Testcase_Post_Keyboard_Layout/#expected-results","title":"Expected Results","text":"<p>The tests during the process could be successfully finished.</p> Additional Information ContactDisclaimerAttributionLicense <p>If you have questions with respect to this content or to report concerns regarding the use or misuse content please do not hesitate to contact us at testing@rockylinux.org.</p> <p>Rocky Linux and the Rocky Enterprise Software Foundation (RESF) does not make any express or implied warranties, including but not limited to the warranties of non-infringement of any third party intellectual property rights. RESF does not warrant that any pending trademark applications for trademarks of RESF will result in any granted trademark protection. RESF shall not be liable for any claims relating to user's activities falling within the scope of the permission and user hereby agrees to indemnify, defend and hold RESF and its contributors harmless against any such claim.</p> <p>This work is heavily inspired by the Fedora Quality Assurance documents which were made available under Attribution-Share Alike 4.0 International license unless otherwise noted.</p> <p>This content is licensed under under Attribution-Share Alike 4.0 International license unless otherwise noted.</p>"},{"location":"documentation/QA/Testcase_Post_Module_Streams/","title":"QA:Testcase Module Streams","text":"<p>Release relevance</p> <p>This Testcase applies the following versions of Rocky Linux: 8, 9</p> <p>Associated release criterion</p> <p>This test case is associated with the Release_Criteria#packages-and-module-installation release criterion. If you are doing release validation testing, a failure of this test case may be a breach of that release criterion.</p>"},{"location":"documentation/QA/Testcase_Post_Module_Streams/#description","title":"Description","text":"<p>This test case takes care of testing the module streams, that they are all installable, all available and working as expected.</p>"},{"location":"documentation/QA/Testcase_Post_Module_Streams/#setup","title":"Setup","text":"<p>For this tests you will need to install every module stream on its own, so it's the best to setup a new system which gets snapshoted after the initial setup. After that it can be rolled back for every module install.</p> <p>It's enough to setup a system with the Minimal Install group.</p>"},{"location":"documentation/QA/Testcase_Post_Module_Streams/#how-to-test","title":"How to test","text":"<ol> <li>Login to the machine</li> <li>Get a list of all module streams and compare it to the stream list from RHEL and to the source in Git source repo</li> <li>The easiest way to test all streams is to install the package groups in the individual streams, i.e. for postgresql:</li> </ol> <pre><code>dnf module install postgresql\ndnf module install postgresql:13\ndnf module install postgresql:13/client\n</code></pre> <p>Repeat step 3 as often as module streams and package groups are available.</p> <p>This could be automated with i.e. Ansible to do all the <code>install -&gt; rollback -&gt; install -&gt; rollback -&gt; ...</code> and emiting the output via Ansible.</p>"},{"location":"documentation/QA/Testcase_Post_Module_Streams/#expected-results","title":"Expected Results","text":"<p>All module streams should be available and there shouldn't be any errors while installing any of the package groups of the individual streams. (some of the installs will show warnings though because they are incompatible with other streams)</p> Additional Information ContactDisclaimerAttributionLicense <p>If you have questions with respect to this content or to report concerns regarding the use or misuse content please do not hesitate to contact us at testing@rockylinux.org.</p> <p>Rocky Linux and the Rocky Enterprise Software Foundation (RESF) does not make any express or implied warranties, including but not limited to the warranties of non-infringement of any third party intellectual property rights. RESF does not warrant that any pending trademark applications for trademarks of RESF will result in any granted trademark protection. RESF shall not be liable for any claims relating to user's activities falling within the scope of the permission and user hereby agrees to indemnify, defend and hold RESF and its contributors harmless against any such claim.</p> <p>This work is heavily inspired by the Fedora Quality Assurance documents which were made available under Attribution-Share Alike 4.0 International license unless otherwise noted.</p> <p>This content is licensed under under Attribution-Share Alike 4.0 International license unless otherwise noted.</p>"},{"location":"documentation/QA/Testcase_Post_Multimonitor_Setup/","title":"QA:Testcase Multimonitor Setup","text":"<p>Release relevance</p> <p>This Testcase applies the following versions of Rocky Linux: 8, 9</p> <p>Associated release criterion</p> <p>This test case is associated with the Release_Criteria#dual-monitor-setup-desktop-only release criterion. If you are doing release validation testing, a failure of this test case may be a breach of that release criterion.</p>"},{"location":"documentation/QA/Testcase_Post_Multimonitor_Setup/#description","title":"Description","text":"<p>This test covers the check if GNOME behaves as it should in multi-monitor setups.</p>"},{"location":"documentation/QA/Testcase_Post_Multimonitor_Setup/#setup","title":"Setup","text":"<p>You will need either a machine which can be reinstalled with multiple screens, or a virtualization software which is capable of providing multiple screens (like VMware Workstation (Pro or Player) or VMware Fusion, but there is also a hack for VMware ESXi)</p>"},{"location":"documentation/QA/Testcase_Post_Multimonitor_Setup/#how-to-test","title":"How to test","text":"<ol> <li>Run installer with multiple screens connected and install with either the Workstation or Graphical Server group</li> <li>Login to the machine after the finished install</li> </ol>"},{"location":"documentation/QA/Testcase_Post_Multimonitor_Setup/#expected-results","title":"Expected Results","text":"<p>There shouldn't be any graphical glitches, or scaling issues through the install and the usage.</p> Additional Information ContactDisclaimerAttributionLicense <p>If you have questions with respect to this content or to report concerns regarding the use or misuse content please do not hesitate to contact us at testing@rockylinux.org.</p> <p>Rocky Linux and the Rocky Enterprise Software Foundation (RESF) does not make any express or implied warranties, including but not limited to the warranties of non-infringement of any third party intellectual property rights. RESF does not warrant that any pending trademark applications for trademarks of RESF will result in any granted trademark protection. RESF shall not be liable for any claims relating to user's activities falling within the scope of the permission and user hereby agrees to indemnify, defend and hold RESF and its contributors harmless against any such claim.</p> <p>This work is heavily inspired by the Fedora Quality Assurance documents which were made available under Attribution-Share Alike 4.0 International license unless otherwise noted.</p> <p>This content is licensed under under Attribution-Share Alike 4.0 International license unless otherwise noted.</p>"},{"location":"documentation/QA/Testcase_Post_Package_installs/","title":"QA:Testcase Basic Package installs","text":"<p>Release relevance</p> <p>This Testcase applies the following versions of Rocky Linux: 8, 9</p> <p>Associated release criterion</p> <p>This test case is associated with the Release_Criteria#packages-and-module-installation release criterion. If you are doing release validation testing, a failure of this test case may be a breach of that release criterion.</p> <p>REFERENCED RELEASE CRITERIA IS OVERLY GENERAL AND UNTESTABLE</p> <p>The associated release criteria, Release_Criteria#packages-and-module-installation, for this test case is overly general and must be modified to specific enough to be testable.</p>"},{"location":"documentation/QA/Testcase_Post_Package_installs/#description","title":"Description","text":"<p>Installing several packages should work without any issues.</p> <p>Please also test these usecases (it's basically the fun of learning to install software, it's even good if it's done differently each other time):</p> <ul> <li>httpd</li> <li>httpd with php and ssl</li> <li>nginx</li> <li>nginx with php and ssl</li> <li>mysql-server</li> <li>mysql-server with secure setup</li> <li>mariadb-server</li> <li>postgresql-server</li> <li>postgresql-server with secure setup</li> <li>compiling packages with:<ul> <li>cmake</li> <li>g++</li> </ul> </li> <li>ipa-server</li> <li>ipa-server with dns</li> </ul>"},{"location":"documentation/QA/Testcase_Post_Package_installs/#setup","title":"Setup","text":"<p>Obtain access to a suitable system where any of the tested packages can be installed without any issues.</p>"},{"location":"documentation/QA/Testcase_Post_Package_installs/#how-to-test","title":"How to test","text":"<ol> <li>Install a list of packages or usecases</li> </ol>"},{"location":"documentation/QA/Testcase_Post_Package_installs/#expected-results","title":"Expected Results","text":"<p>Installs work without any issues.</p> Additional Information ContactDisclaimerAttributionLicense <p>If you have questions with respect to this content or to report concerns regarding the use or misuse content please do not hesitate to contact us at testing@rockylinux.org.</p> <p>Rocky Linux and the Rocky Enterprise Software Foundation (RESF) does not make any express or implied warranties, including but not limited to the warranties of non-infringement of any third party intellectual property rights. RESF does not warrant that any pending trademark applications for trademarks of RESF will result in any granted trademark protection. RESF shall not be liable for any claims relating to user's activities falling within the scope of the permission and user hereby agrees to indemnify, defend and hold RESF and its contributors harmless against any such claim.</p> <p>This work is heavily inspired by the Fedora Quality Assurance documents which were made available under Attribution-Share Alike 4.0 International license unless otherwise noted.</p> <p>This content is licensed under under Attribution-Share Alike 4.0 International license unless otherwise noted.</p>"},{"location":"documentation/QA/Testcase_Post_SELinux_Errors_Desktop/","title":"QA:Testcase SELinux Errors on Desktop clients","text":"<p>Release relevance</p> <p>This Testcase applies the following versions of Rocky Linux: 8, 9</p> <p>Associated release criterion</p> <p>This test case is associated with the Release_Criteria#selinux-and-crash-notifications-desktop-only release criterion. If you are doing release validation testing, a failure of this test case may be a breach of that release criterion.</p>"},{"location":"documentation/QA/Testcase_Post_SELinux_Errors_Desktop/#description","title":"Description","text":"<p>Basically running a Workstation or Graphical Server install for a longer amount of time, while using it and then checking if there were any SELinux audit messages.</p>"},{"location":"documentation/QA/Testcase_Post_SELinux_Errors_Desktop/#setup","title":"Setup","text":"<p>Obtain access to a suitable system with either a Workstation or a Graphical Server installation.</p>"},{"location":"documentation/QA/Testcase_Post_SELinux_Errors_Desktop/#how-to-test","title":"How to test","text":"<ol> <li>Setup new machine or get access to a installed machine</li> <li>Click through the system and various applications, to mimic user behavior</li> <li>Leave the system running for a few more minutes, if possible hours</li> </ol>"},{"location":"documentation/QA/Testcase_Post_SELinux_Errors_Desktop/#expected-results","title":"Expected Results","text":"<ol> <li>Open the SETroubleshoot Application and invoke the error summarization. </li> <li>There must not be shown any errors / denials</li> </ol> Additional Information ContactDisclaimerAttributionLicense <p>If you have questions with respect to this content or to report concerns regarding the use or misuse content please do not hesitate to contact us at testing@rockylinux.org.</p> <p>Rocky Linux and the Rocky Enterprise Software Foundation (RESF) does not make any express or implied warranties, including but not limited to the warranties of non-infringement of any third party intellectual property rights. RESF does not warrant that any pending trademark applications for trademarks of RESF will result in any granted trademark protection. RESF shall not be liable for any claims relating to user's activities falling within the scope of the permission and user hereby agrees to indemnify, defend and hold RESF and its contributors harmless against any such claim.</p> <p>This work is heavily inspired by the Fedora Quality Assurance documents which were made available under Attribution-Share Alike 4.0 International license unless otherwise noted.</p> <p>This content is licensed under under Attribution-Share Alike 4.0 International license unless otherwise noted.</p>"},{"location":"documentation/QA/Testcase_Post_SELinux_Errors_Server/","title":"QA:Testcase SELinux Errors on Server installations","text":"<p>Release relevance</p> <p>This Testcase applies the following versions of Rocky Linux: 8, 9</p> <p>Associated release criterion</p> <p>This test case is associated with the Release_Criteria#selinux-errors-server release criterion. If you are doing release validation testing, a failure of this test case may be a breach of that release criterion.</p>"},{"location":"documentation/QA/Testcase_Post_SELinux_Errors_Server/#description","title":"Description","text":"<p>Basically running a text mode installation for a longer amount of time, while using it and then checking if there were any SELinux audit messages.</p>"},{"location":"documentation/QA/Testcase_Post_SELinux_Errors_Server/#setup","title":"Setup","text":"<p>Obtain access to a suitable system with one of the text mode installation base groups.</p> <p>It might also be beneficial to run this test with other than the core installation, but that is a long term test and a bit out of scope of this test.</p>"},{"location":"documentation/QA/Testcase_Post_SELinux_Errors_Server/#how-to-test","title":"How to test","text":"<ol> <li>Setup new machine or get access to a installed machine</li> <li>As this test is mostly about the stability of the core system it is mostly only needed to let the system run for a few minutes, if possible hours</li> </ol>"},{"location":"documentation/QA/Testcase_Post_SELinux_Errors_Server/#expected-results","title":"Expected Results","text":"<ol> <li>Install <code>sealert</code> with <code>dnf install setroubleshoot-server</code></li> <li>Run <code>sealert -a /var/log/audit/audit.log</code></li> <li>There must not be shown any errors / denials</li> </ol> Additional Information ContactDisclaimerAttributionLicense <p>If you have questions with respect to this content or to report concerns regarding the use or misuse content please do not hesitate to contact us at testing@rockylinux.org.</p> <p>Rocky Linux and the Rocky Enterprise Software Foundation (RESF) does not make any express or implied warranties, including but not limited to the warranties of non-infringement of any third party intellectual property rights. RESF does not warrant that any pending trademark applications for trademarks of RESF will result in any granted trademark protection. RESF shall not be liable for any claims relating to user's activities falling within the scope of the permission and user hereby agrees to indemnify, defend and hold RESF and its contributors harmless against any such claim.</p> <p>This work is heavily inspired by the Fedora Quality Assurance documents which were made available under Attribution-Share Alike 4.0 International license unless otherwise noted.</p> <p>This content is licensed under under Attribution-Share Alike 4.0 International license unless otherwise noted.</p>"},{"location":"documentation/QA/Testcase_Post_System_Services/","title":"QA:Testcase System Services","text":"<p>Release relevance</p> <p>This Testcase applies the following versions of Rocky Linux: 8, 9</p> <p>Associated release criterion</p> <p>This test case is associated with the Release_Criteria#system-services release criterion. If you are doing release validation testing, a failure of this test case may be a breach of that release criterion.</p>"},{"location":"documentation/QA/Testcase_Post_System_Services/#description","title":"Description","text":"<p>This test covers the check, that all basic system service which are getting installed with the base groups are starting / running normally.</p>"},{"location":"documentation/QA/Testcase_Post_System_Services/#setup","title":"Setup","text":"<ol> <li>Acquire access to either a baremetal machine or a VM host, to install a new machine</li> <li>Prepare appropriate media for the selected ISO to be tested.<ul> <li>Example: QA:Testcase Media USB dd</li> </ul> </li> </ol>"},{"location":"documentation/QA/Testcase_Post_System_Services/#how-to-test","title":"How to test","text":"<p>Startup the system and check that all services are running without any failure:</p> <pre><code>systemctl status\n</code></pre>"},{"location":"documentation/QA/Testcase_Post_System_Services/#expected-results","title":"Expected Results","text":"<p>The tests during the process could be successfully finished.</p> Additional Information ContactDisclaimerAttributionLicense <p>If you have questions with respect to this content or to report concerns regarding the use or misuse content please do not hesitate to contact us at testing@rockylinux.org.</p> <p>Rocky Linux and the Rocky Enterprise Software Foundation (RESF) does not make any express or implied warranties, including but not limited to the warranties of non-infringement of any third party intellectual property rights. RESF does not warrant that any pending trademark applications for trademarks of RESF will result in any granted trademark protection. RESF shall not be liable for any claims relating to user's activities falling within the scope of the permission and user hereby agrees to indemnify, defend and hold RESF and its contributors harmless against any such claim.</p> <p>This work is heavily inspired by the Fedora Quality Assurance documents which were made available under Attribution-Share Alike 4.0 International license unless otherwise noted.</p> <p>This content is licensed under under Attribution-Share Alike 4.0 International license unless otherwise noted.</p>"},{"location":"documentation/QA/Testcase_Repo_Compare/","title":"QA:Testcase Media Repo Compare","text":"<p>Associated release criterion</p> <p>This test case is associated with the Release_Criteria#repositories-must-match-upstream release criterion. If you are doing release validation testing, a failure of this test case may be a breach of that release criterion.</p>"},{"location":"documentation/QA/Testcase_Repo_Compare/#description","title":"Description","text":"<p>This test case will verify that repositories and the packages within them match upstream as closely as possible.</p>"},{"location":"documentation/QA/Testcase_Repo_Compare/#setup","title":"Setup","text":"<ol> <li>Verify access to the Rocky Linux repocompare tooling.</li> </ol>"},{"location":"documentation/QA/Testcase_Repo_Compare/#how-to-test","title":"How to test","text":"<ol> <li>Access Rocky Linux repocompare website.</li> <li>Verify similarity of Rocky Linux repositories with upstream content.</li> </ol>"},{"location":"documentation/QA/Testcase_Repo_Compare/#expected-results","title":"Expected Results","text":"<ol> <li>Rocky Linux repositories should match, as closely as possible, upstream repositories.</li> <li>The content of Rocky Linux packages should match, as closely as possible, upstream repositories.</li> </ol> Additional Information ContactDisclaimerAttributionLicense <p>If you have questions with respect to this content or to report concerns regarding the use or misuse content please do not hesitate to contact us at testing@rockylinux.org.</p> <p>Rocky Linux and the Rocky Enterprise Software Foundation (RESF) does not make any express or implied warranties, including but not limited to the warranties of non-infringement of any third party intellectual property rights. RESF does not warrant that any pending trademark applications for trademarks of RESF will result in any granted trademark protection. RESF shall not be liable for any claims relating to user's activities falling within the scope of the permission and user hereby agrees to indemnify, defend and hold RESF and its contributors harmless against any such claim.</p> <p>This work is heavily inspired by the Fedora Quality Assurance documents which were made available under Attribution-Share Alike 4.0 International license unless otherwise noted.</p> <p>This content is licensed under under Attribution-Share Alike 4.0 International license unless otherwise noted.</p>"},{"location":"documentation/QA/Testcase_Storage_Volume_Resize/","title":"QA:Testcase Storage Volume Resize","text":"<p>Associated release criterion</p> <p>This test case is associated with the Release_Criteria#Storage Volume Resize release criterion. If you are doing release validation testing, a failure of this test case may be a breach of that release criterion.</p>"},{"location":"documentation/QA/Testcase_Storage_Volume_Resize/#description","title":"Description","text":"<p>This test case verifies that the installer will successfully resize or delete and overwrite existing partitions on storage volumes.</p> <p>DATA LOSS</p> <p>Depending on installer choices this MAY destroy all the data on the test system. If you choose to complete the installation of the test system any/all data on the system may be lost. Please do not install on a system whose contents you need to keep.</p>"},{"location":"documentation/QA/Testcase_Storage_Volume_Resize/#setup","title":"Setup","text":"<ol> <li>Obtain access to supported system and hardware class to be installed.</li> <li>Prepare appropriate media for the selected ISO to be tested.<ul> <li>Example: QA:Testcase Media USB dd</li> </ul> </li> <li>Boot the system from the prepared optical, USB media or virtual device attachment.<ul> <li>Examples: QA:Testcase Boot Methods Boot ISO, QA:Testcase Boot Methods DVD</li> </ul> </li> <li>In the boot menu select the appropriate option to boot the installer.</li> </ol>"},{"location":"documentation/QA/Testcase_Storage_Volume_Resize/#how-to-test","title":"How to test","text":""},{"location":"documentation/QA/Testcase_Storage_Volume_Resize/#resize","title":"Resize","text":"<ol> <li>From the Installation Destination spoke, in the Storage Configuration section, select the Custom radio button, then click Done.</li> <li>Expand the list of available partitions by clicking the black arrow to the left of the release version and architecture.</li> <li>Select the partition you wish to resize. Be sure to uncheck the Reformat checkbox if you wish to resize without reformatting the partition.</li> <li>Click the Update Settings button to save your settings.</li> <li>Click the + button to create a new partition off of the existing partition. Provide a mount point and desired capacity, then click Add Mount Point.</li> <li>Repeat as necessary for additional partitions, or click Done to return to the Anaconda main hub.</li> </ol>"},{"location":"documentation/QA/Testcase_Storage_Volume_Resize/#delete","title":"Delete","text":"<ol> <li>From the Installation Destination spoke, in the Storage Configuration section, select the Automatic radio button, then click Done.</li> <li>You should be presented with an \"Installation Options\" dialog, indicating the amount of disk space that is available for use and available to reclaim.</li> <li>Click the Reclaim Space button.</li> <li>Select a partition, then click the Delete button to delete the partition and reclaim the space.</li> <li>Alternatively, click the Delete All button to delete all existing partitions.</li> <li>When you have finished, click the Reclaim Space button to reclaim available free space.</li> </ol>"},{"location":"documentation/QA/Testcase_Storage_Volume_Resize/#expected-results","title":"Expected Results","text":"<ol> <li>The installation should complete and boot successfully.</li> <li>Resized partitions should correctly reflect the desired size. This may be verified using the <code>lsblk</code> command.</li> <li>Deleted partitions should no longer exist.</li> </ol>"},{"location":"documentation/QA/Testcase_Storage_Volume_Resize/#testing-in-openqa","title":"Testing in openQA","text":"<p>The following openQA test suites satisfy this release criteria:</p> <ul> <li><code>install_delete_partial</code></li> <li><code>install_delete_pata</code></li> <li><code>install_resize_lvm</code></li> </ul> Additional Information ContactDisclaimerAttributionLicense <p>If you have questions with respect to this content or to report concerns regarding the use or misuse content please do not hesitate to contact us at testing@rockylinux.org.</p> <p>Rocky Linux and the Rocky Enterprise Software Foundation (RESF) does not make any express or implied warranties, including but not limited to the warranties of non-infringement of any third party intellectual property rights. RESF does not warrant that any pending trademark applications for trademarks of RESF will result in any granted trademark protection. RESF shall not be liable for any claims relating to user's activities falling within the scope of the permission and user hereby agrees to indemnify, defend and hold RESF and its contributors harmless against any such claim.</p> <p>This work is heavily inspired by the Fedora Quality Assurance documents which were made available under Attribution-Share Alike 4.0 International license unless otherwise noted.</p> <p>This content is licensed under under Attribution-Share Alike 4.0 International license unless otherwise noted.</p>"},{"location":"documentation/QA/Testcase_Template/","title":"QA:Testcase Template","text":"<p>Associated release criterion</p> <p>This test case is associated with the Release_Criteria#TBD release criterion. If you are doing release validation testing, a failure of this test case may be a breach of that release criterion.</p>"},{"location":"documentation/QA/Testcase_Template/#description","title":"Description","text":"<p>Add a short description here for this Testcase.</p>"},{"location":"documentation/QA/Testcase_Template/#setup","title":"Setup","text":"<ol> <li>Add steps for setup for this Testcase.</li> </ol>"},{"location":"documentation/QA/Testcase_Template/#how-to-test","title":"How to test","text":"<ol> <li>Do this first...</li> <li>Then do this...</li> </ol>"},{"location":"documentation/QA/Testcase_Template/#expected-results","title":"Expected Results","text":"<ol> <li>This is what you should see/verify.</li> <li>You should also see/verify this.</li> </ol> Additional Information ContactDisclaimerAttributionLicense <p>If you have questions with respect to this content or to report concerns regarding the use or misuse content please do not hesitate to contact us at testing@rockylinux.org.</p> <p>Rocky Linux and the Rocky Enterprise Software Foundation (RESF) does not make any express or implied warranties, including but not limited to the warranties of non-infringement of any third party intellectual property rights. RESF does not warrant that any pending trademark applications for trademarks of RESF will result in any granted trademark protection. RESF shall not be liable for any claims relating to user's activities falling within the scope of the permission and user hereby agrees to indemnify, defend and hold RESF and its contributors harmless against any such claim.</p> <p>This work is heavily inspired by the Fedora Quality Assurance documents which were made available under Attribution-Share Alike 4.0 International license unless otherwise noted.</p> <p>This content is licensed under under Attribution-Share Alike 4.0 International license unless otherwise noted.</p>"},{"location":"documentation/QA/Testcase_Update_Image/","title":"QA:Testcase Update Image","text":"<p>Associated release criterion</p> <p>This test case is associated with the Release_Criteria#Update Image release criterion. If you are doing release validation testing, a failure of this test case may be a breach of that release criterion.</p>"},{"location":"documentation/QA/Testcase_Update_Image/#description","title":"Description","text":"<p>This test case verifies that an update image can be loaded into Anaconda and applied during the install process.</p> <p>DATA LOSS</p> <p>Depending on installer choices this MAY destroy all the data on the test system. If you choose to complete the installation of the test system any/all data on the system may be lost. Please do not install on a system whose contents you need to keep.</p>"},{"location":"documentation/QA/Testcase_Update_Image/#setup","title":"Setup","text":"<ol> <li>Obtain access to supported system and hardware class to be installed.</li> <li>Prepare appropriate media for the selected ISO to be tested.<ul> <li>Example: QA:Testcase Media USB dd</li> </ul> </li> <li>Boot the system from the prepared optical, USB media or virtual device attachment.<ul> <li>Examples: QA:Testcase Boot Methods Boot ISO, QA:Testcase Boot Methods DVD</li> </ul> </li> <li>In the boot menu select the appropriate option to boot the installer.</li> <li>Hit the Tab key to edit the boot command</li> </ol>"},{"location":"documentation/QA/Testcase_Update_Image/#how-to-test","title":"How to test","text":"<ol> <li>Supply <code>inst.updates=https://fedorapeople.org/groups/qa/updates/updates-openqa.img</code> to the GRUB command line</li> <li>Boot into the installer as usual.</li> <li>In Anaconda, open the Installation Destination spoke.</li> </ol>"},{"location":"documentation/QA/Testcase_Update_Image/#expected-results","title":"Expected Results","text":"<ol> <li>Within the Installation Destination spoke, the selected install disk should have a pink background</li> </ol> FAILPASS <ol> <li>If you cannot verify visually, check for the existence of <code>/tmp/updates</code>, which should contain updated source files if the update was successfully applied. Note that if the update image doesn't actually contain any source files, this directory will not be created.</li> </ol>"},{"location":"documentation/QA/Testcase_Update_Image/#testing-with-openqa","title":"Testing with openQA","text":"<p>The following openQA test suites satisfy this release criteria:</p> <ul> <li><code>install_scsi_updates_img</code></li> </ul>"},{"location":"documentation/QA/Testcase_Update_Image/#additional-references","title":"Additional References","text":"<p>Red Hat Debug Boot Options Fedora QA:Testcase Anaconda updates.img via URL Fedora QA:Testcase Anaconda updates.img via local media</p> Additional Information ContactDisclaimerAttributionLicense <p>If you have questions with respect to this content or to report concerns regarding the use or misuse content please do not hesitate to contact us at testing@rockylinux.org.</p> <p>Rocky Linux and the Rocky Enterprise Software Foundation (RESF) does not make any express or implied warranties, including but not limited to the warranties of non-infringement of any third party intellectual property rights. RESF does not warrant that any pending trademark applications for trademarks of RESF will result in any granted trademark protection. RESF shall not be liable for any claims relating to user's activities falling within the scope of the permission and user hereby agrees to indemnify, defend and hold RESF and its contributors harmless against any such claim.</p> <p>This work is heavily inspired by the Fedora Quality Assurance documents which were made available under Attribution-Share Alike 4.0 International license unless otherwise noted.</p> <p>This content is licensed under under Attribution-Share Alike 4.0 International license unless otherwise noted.</p>"},{"location":"documentation/QA/Testcase_VNC_Graphics_Mode/","title":"QA:Testcase VNC Graphics Mode","text":"<p>Associated release criterion</p> <p>This test case is associated with the Release_Criteria#vnc-graphics-mode-behaviors release criterion. If you are doing release validation testing, a failure of this test case may be a breach of that release criterion.</p>"},{"location":"documentation/QA/Testcase_VNC_Graphics_Mode/#description","title":"Description","text":"<p>This test case will verify that release-blocking installers function as intended using the VNC installation method on supported systems and classes of hardware.</p> Supported Systems and Hardware Classes x86_64aarch64ppc64s309x <p>TBD</p> <p>TBD</p> <p>TBD</p> <p>TBD</p>"},{"location":"documentation/QA/Testcase_VNC_Graphics_Mode/#setup","title":"Setup","text":"<ol> <li>Obtain access to supported system and hardware class to be installed.</li> <li>Prepare appropriate media for the selected ISO to be tested.<ul> <li>Example: QA:Testcase Media USB dd</li> </ul> </li> <li>Obtain access to remote system with a VNC client installed to use for VNC connection.</li> </ol> <p>Suggested VNC Clients</p> <p>Both <code>tigervnc</code> and <code>vinagre</code> are VNC clients provided in Rocky Linux but any VNC client may be used.</p>"},{"location":"documentation/QA/Testcase_VNC_Graphics_Mode/#how-to-test","title":"How to test","text":"<ol> <li>Boot the system from the prepared optical, USB media or virtual device attachment.<ul> <li>Examples: QA:Testcase Custom Boot Methods Boot ISO</li> </ul> </li> <li>Interrupt the kernel boot and specify the appropriate VNC installation option on the boot command line.</li> <li>Proceed with installation on the test system.Depending on installer choices this MAY destroy all the data on the test system.</li> <li>Depending on the choice or <code>direct</code> or <code>connect</code> mode connect inbound to the system under test or wait for it to connect to your listening VNC client.</li> </ol> <p>DATA LOSS</p> <p>If you choose to complete the installation of the test system any/all data on the system may be lost. Please do not install on a system whose contents you need to keep.</p>"},{"location":"documentation/QA/Testcase_VNC_Graphics_Mode/#expected-results","title":"Expected Results","text":"<ol> <li>Connection to (with direct mode) or from (in connect mode) to the Anaconda installer using VNC is possible.</li> <li>Anaconda installer presents a usable graphical intallation environment.</li> <li>System under test can be installed normally.</li> <li>After reboot system boots into graphical environment.</li> <li>After login user is able to operate the graphical environment.</li> </ol> Additional Information ContactDisclaimerAttributionLicense <p>If you have questions with respect to this content or to report concerns regarding the use or misuse content please do not hesitate to contact us at testing@rockylinux.org.</p> <p>Rocky Linux and the Rocky Enterprise Software Foundation (RESF) does not make any express or implied warranties, including but not limited to the warranties of non-infringement of any third party intellectual property rights. RESF does not warrant that any pending trademark applications for trademarks of RESF will result in any granted trademark protection. RESF shall not be liable for any claims relating to user's activities falling within the scope of the permission and user hereby agrees to indemnify, defend and hold RESF and its contributors harmless against any such claim.</p> <p>This work is heavily inspired by the Fedora Quality Assurance documents which were made available under Attribution-Share Alike 4.0 International license unless otherwise noted.</p> <p>This content is licensed under under Attribution-Share Alike 4.0 International license unless otherwise noted.</p>"},{"location":"documentation/dev_guides/commit_signing/","title":"Creating your primary keypair","text":"<ol> <li> <p>Initiate the keypair generation wizard</p> <pre><code>gpg --full-generate-key --expert\n</code></pre> </li> <li> <p>Select option <code>(9) ECC and ECC</code> for the key type</p> </li> <li>Select option <code>(1) Curve 25519</code> for the elliptic curve</li> <li>Set a validity period of your choice, ideally less than 1 year</li> <li>Specify real name and email address to associate with this keypair. The email address must match your verified Github email address or be set to <code>your-github-username@users.noreply.github.com</code>.</li> <li>Type a passphrase (twice)</li> </ol>"},{"location":"documentation/dev_guides/commit_signing/#create-a-signing-keypair","title":"Create a signing keypair","text":"<ol> <li> <p>Add a signing subkey</p> <pre><code>gpg --expert --edit-key my@email.addr\ngpg&gt; addkey\n</code></pre> </li> <li> <p>Select option <code>(10) ECC (sign only)</code> for the key type</p> </li> <li>Select option <code>(1) Curve 25519</code> for the elliptic curve</li> <li>Set a validity period of your choice, ideally less than 1 year</li> <li>Accept the prompts and type a passphrase (twice)</li> <li>Save and exit<pre><code>gpg&gt; save\n</code></pre> </li> </ol>"},{"location":"documentation/dev_guides/commit_signing/#create-revocation-certificate","title":"Create revocation certificate","text":"<pre><code>gpg --output my_email_addr.gpg-revocation-certificate --gen-revoke my@email.addr\n</code></pre>"},{"location":"documentation/dev_guides/commit_signing/#back-up-your-keypair","title":"Back up your keypair","text":"<p>Export the primary keypair (put these somewhere very safe along with revocation certificate)</p> <pre><code>gpg --export-secret-keys --armor my@email.addr &gt; my_email_addr.private.gpg-key\ngpg --export --armor my@email.addr &gt; my_email_addr.public.gpg-key\n</code></pre>"},{"location":"documentation/dev_guides/commit_signing/#remove-the-primary-keypair-from-your-keyring","title":"Remove the primary keypair from your keyring","text":"<ol> <li> <p>Export all subkeys from the new keypair to a file</p> <pre><code>gpg --export-secret-subkeys my@email.addr &gt; $HOME/.gnupg/subkeys\n</code></pre> </li> <li> <p>Delete primary key from keyring - BE SURE TO BACK UP YOUR PRIMARY KEYPAIR FIRST!</p> <pre><code>gpg --delete-secret-key my@email.addr\n</code></pre> </li> <li> <p>Re-import the previously exported keys</p> <pre><code>gpg --import $HOME/.gnupg/subkeys\n</code></pre> </li> <li> <p>Look for <code>sec#</code> instead of <code>sec</code> in the output - pound sign means signing subkey is not in the keypair located in the keyring</p> <pre><code>gpg --list-secret-keys $HOME/.gnupg/secring.gpg\n</code></pre> </li> </ol>"},{"location":"documentation/dev_guides/commit_signing/#revoking-a-signing-keypair","title":"Revoking a signing keypair","text":"<p>Find the primary keypair and import it (preferably into an ephemeral system like a liveUSB)</p> <pre><code>gpg --import /path/to/my_email_addr.public.gpg-key /path/to/my_email_addr.private.gpg-key\ngpg --edit-key my@email.addr\ngpg&gt; revkey\n[ passphrase twice ]\ngpg&gt; save\n</code></pre>"},{"location":"documentation/dev_guides/commit_signing/#renew-an-expired-or-expiring-keypair","title":"Renew an expired or expiring keypair","text":"<pre><code>gpg --edit-key my@email.addr\n[select a key]\ngpg&gt; expire\n[specify an expiration]\ngpg&gt; save\n</code></pre>"},{"location":"documentation/dev_guides/commit_signing/#create-a-single-signed-git-commit","title":"Create a single signed git commit","text":"<pre><code>git commit -S -m \"my awesome signed commit\"\n</code></pre>"},{"location":"documentation/dev_guides/commit_signing/#configure-git-to-always-sign-commits-with-a-specified-key","title":"Configure git to always sign commits with a specified key","text":"<pre><code>$ gpg --list-secret-keys --keyid-format=long # grab the fingerprint from the 'sec' line\ngit config [--global] commit.gpgsign true\ngit config [--global] user.signingkey DEADB33FBAD1D3A\n</code></pre>"},{"location":"documentation/dev_guides/commit_signing/#configure-vscode-to-sign-commits","title":"Configure VSCode to sign commits","text":"<pre><code># User or workspace setting\n\"git.enableCommitSigning\": true\n</code></pre>"},{"location":"documentation/dev_guides/commit_signing/#upload-your-public-key-to-a-keyserver","title":"Upload your public key to a keyserver","text":"<pre><code>gpg --keyserver pgp.mit.edu --send-keys 0xDEADB33FBAD1D3A\n</code></pre>"},{"location":"documentation/dev_guides/commit_signing/#verify-your-key-has-been-published","title":"Verify your key has been published","text":"<pre><code>gpg --keyserver pgp.mit.edu --search-key my@email.addr\n</code></pre>"},{"location":"documentation/dev_guides/commit_signing/#references","title":"References","text":"<p>OpenPGP Best Practices Github: Signing Commits Braincoke's Log: Create a GPG Key Creating the Perfect GPG Keypair Digital Neanderthal: Generate GPG Keys With Curve Ed25519</p>"},{"location":"documentation/dev_guides/openqa_access/","title":"openQA - Access","text":""},{"location":"documentation/dev_guides/openqa_access/#system-requirements","title":"System Requirements","text":"<p>To complete any of the examples below you will need access to a system providing the openQA client. Typically that will be a Fedora based system/container with the <code>openqa-client</code> package and it's (~239) dependencies installed.</p>"},{"location":"documentation/dev_guides/openqa_access/#access-requirement","title":"Access Requirement","text":""},{"location":"documentation/dev_guides/openqa_access/#api-get-access","title":"API <code>GET</code> access","text":"<p>The Rocky Linux openQA system allows unrestricted public access via it's web interface or using the <code>openqa-client</code> for <code>GET</code> operations against the API.</p>"},{"location":"documentation/dev_guides/openqa_access/#api-post-access","title":"API <code>POST</code> access","text":"<p>In order to use the openQA client to interact with the Rocky Linux openQA system for <code>POST</code> operations the following are required:</p> <ul> <li>an account in good standing in the Rocky Linux Account Services system,</li> <li>authorization for API <code>POST</code> access from the Rocky Linux Testing Team, and</li> <li>an openQA API key generated on the Rocky Linux openQA system.</li> </ul>"},{"location":"documentation/dev_guides/openqa_access/#configuring-your-openqa-client","title":"Configuring your openqa client","text":"<p>Per the openqa client command help you can configure your client to use your API key in a number of ways.</p> <p>The following example shows how to configure your client by the most common method used. It's possible to configure multiple openqa client API keys in this way.</p> <pre><code>$ mkdir -p ~/.config/openqa\n\n$ vim ~/.config/openqa/client.conf\n\n$ cat ~/.config/openqa/client.conf\n[localhost]\nkey = your_localhost_api_key\nsecret = your_localhost_api_secret\n[openqa.rockylinux.org]\nkey = your_api_key\nsecret = your_api_secret\n</code></pre>"},{"location":"documentation/dev_guides/openqa_access/#testing-your-openqa-client-installation","title":"Testing your openqa client installation","text":"<pre><code>$ openqa-cli api --host http://openqa.rockylinux.org --pretty jobs/1\n{\n \"job\" : {\n \"assets\" : {\n \"iso\" : [\n \"Rocky-8.6-x86_64-boot.iso\"\n ]\n },\n \"assigned_worker_id\" : 2,\n \"blocked_by_id\" : null,\n \"children\" : {\n \"Chained\" : [],\n \"Directly chained\" : [],\n \"Parallel\" : []\n },\n \"clone_id\" : null,\n \"group\" : \"Rocky\",\n \"group_id\" : 2,\n \"has_parents\" : 0,\n \"id\" : 1,\n \"name\" : \"rocky-8.6-boot-iso-x86_64-Build-8.6-boot-iso--20221110.223812.0-install_default@64bit\",\n \"parents\" : {\n \"Chained\" : [],\n \"Directly chained\" : [],\n \"Parallel\" : []\n },\n \"parents_ok\" : 1,\n \"priority\" : 10,\n \"result\" : \"failed\",\n \"settings\" : {\n \"ARCH\" : \"x86_64\",\n \"ARCH_BASE_MACHINE\" : \"64bit\",\n \"BACKEND\" : \"qemu\",\n \"BUILD\" : \"-8.6-boot-iso--20221110.223812.0\",\n \"DESKTOP\" : \"gnome\",\n \"DISTRI\" : \"rocky\",\n \"FLAVOR\" : \"boot-iso\",\n \"GRUB\" : \"ip=dhcp\",\n \"HDDSIZEGB\" : \"15\",\n \"ISO\" : \"Rocky-8.6-x86_64-boot.iso\",\n \"MACHINE\" : \"64bit\",\n \"NAME\" : \"00000001-rocky-8.6-boot-iso-x86_64-Build-8.6-boot-iso--20221110.223812.0-install_default@64bit\",\n \"PACKAGE_SET\" : \"default\",\n \"PART_TABLE_TYPE\" : \"mbr\",\n \"POSTINSTALL\" : \"_collect_data\",\n \"QEMUCPU\" : \"Nehalem\",\n \"QEMUCPUS\" : \"2\",\n \"QEMURAM\" : \"3072\",\n \"QEMUVGA\" : \"virtio\",\n \"QEMU_VIRTIO_RNG\" : \"1\",\n \"TEST\" : \"install_default\",\n \"TEST_SUITE_NAME\" : \"install_default\",\n \"TEST_TARGET\" : \"ISO\",\n \"VERSION\" : \"8.6\",\n \"WORKER_CLASS\" : \"qemu_x86_64\"\n },\n \"state\" : \"done\",\n \"t_finished\" : \"2022-11-10T22:44:19\",\n \"t_started\" : \"2022-11-10T22:38:12\",\n \"test\" : \"install_default\"\n }\n}\n</code></pre>"},{"location":"documentation/dev_guides/openqa_access/#references","title":"References","text":"<p>openQA Documentation</p> Additional Information ContactDisclaimerLicense <p>If you have questions with respect to this content or to report concerns regarding the use or misuse content please do not hesitate to contact us at info@rockylinux.org.</p> <p>Rocky Linux and the Rocky Enterprise Software Foundation (RESF) does not make any express or implied warranties, including but not limited to the warranties of non-infringement of any third party intellectual property rights. RESF does not warrant that any pending trademark applications for trademarks of RESF will result in any granted trademark protection. RESF shall not be liable for any claims relating to user's activities falling within the scope of the permission and user hereby agrees to indemnify, defend and hold RESF and its contributors harmless against any such claim.</p> <p>This content is licensed under under Attribution-Share Alike 4.0 International license unless otherwise noted.</p>"},{"location":"documentation/dev_guides/openqa_cli_post_examples/","title":"openqa-cli POST Examples","text":"<p>This page will provide a brief overview of some basic <code>openqa-cli</code> <code>POST</code> examples.</p>"},{"location":"documentation/dev_guides/openqa_cli_post_examples/#system-access-requirements","title":"System / Access Requirements","text":"<p>To complete any of the examples please complete the API <code>POST</code> Access steps outlined in the openQA - Access document.</p>"},{"location":"documentation/dev_guides/openqa_cli_post_examples/#basic-post","title":"Basic POST","text":"<p>A basic <code>POST</code> can be used for any of the default test suites for the various Rocky Linux media that are made available. The following examples show some of these standard <code>POST</code>s that are commonly used by our team and will be used to demonstrate how some minor variations.</p>"},{"location":"documentation/dev_guides/openqa_cli_post_examples/#flavorboot-iso","title":"FLAVOR=boot-iso","text":"<p>This first <code>POST</code> is the most basic, simply providing the minimal set of variables required to trigger the standard test suite for the Rocky Linux 9.1 boot ISO on openqa workers for the <code>x86_64</code> architecture. All tests of the test suite are predetermined and configure on the openQA server. Since the boot ISO doesn't contain any packages this test suite is effectively a network install from standard Rocky Linux repository servers and/or mirrors.</p> <pre><code>$ openqa-cli api -X POST isos ISO=Rocky-9.1-x86_64-boot.iso ARCH=x86_64 \\\n DISTRI=rocky FLAVOR=boot-iso VERSION=9.1 CURRREL=9 BUILD=20230409-Rocky-9.1-x86_64.0\n</code></pre>"},{"location":"documentation/dev_guides/openqa_cli_post_examples/#flavorminimal-iso","title":"FLAVOR=minimal-iso","text":"<p>This <code>POST</code> demonstrates how a different media type, in this case the minimal ISO, for an alternate Rocky Linux version, in this case Rocky Linux 8.7, can be triggered. As can be seen by this and the previous <code>POST</code> the <code>BUILD</code> variable will typically be designate the date, version and architecture of the test suite. Since the minimal ISO contains all packages required to conduct a minimal install of Rocky Linux that is the behavior of this test suite.</p> <pre><code>$ openqa-cli api -X POST isos ISO=Rocky-8.7-x86_64-minimal.iso ARCH=x86_64 \\\n DISTRI=rocky FLAVOR=minimal-iso VERSION=8.7 CURRREL=8 BUILD=20230409-Rocky-8.7-x86_64.0\n</code></pre>"},{"location":"documentation/dev_guides/openqa_cli_post_examples/#flavorpackage-set","title":"FLAVOR=package-set","text":"<p>This <code>POST</code> demonstrates specification of the final normal media type, the dvd ISO, along with what is called a <code>FLAVOR</code>, in this case <code>package-set</code> for the <code>x86_64</code> architecture and Rocky Linux 9.1. Since the dvd ISO contains all of the packages available at release of a specific version or Rocky Linux the <code>package-set</code> test suite will test installation of all primary installation types of Rocky Linux not included in the <code>minimal-iso</code> test suite above.</p> <pre><code>$ openqa-cli api -X POST isos ISO=Rocky-9.1-20221214.1-x86_64-dvd.iso ARCH=x86_64 \\\n DISTRI=rocky FLAVOR=package-set VERSION=9.1 CURRREL=9 BUILD=20230409-Rocky-9.1-x86_64.0\n</code></pre> <p>These three test suites provide for the minimal testing of all ISOs produced for a given release of Rocky Linux. </p>"},{"location":"documentation/dev_guides/openqa_cli_post_examples/#advanced-post","title":"Advanced POST","text":"<p>In addition to the Basic POSTs described above there are additional default test suites that use the dvd ISO media and include substantially more test cases. Those include:</p> <ul> <li>installing in graphical, text and serial console</li> <li>installation for standard BIOS and UEFI</li> <li>validation of the Anaconda help system</li> <li>disk layout variations including LVM, RAID, partition shrink and/or grow, iSCSI and LUKS</li> <li>PXE installation from various network sources</li> <li>installation in various languages</li> </ul> <p>Standard <code>POST</code>s for these test suites is very similar to the basic POSTs above and are shown below...</p>"},{"location":"documentation/dev_guides/openqa_cli_post_examples/#flavordvd-iso","title":"FLAVOR=dvd-iso","text":"<pre><code>$ openqa-cli api -X POST isos ISO=Rocky-9.1-20221214.1-x86_64-dvd.iso ARCH=x86_64 \\\n DISTRI=rocky FLAVOR=dvd-iso VERSION=9.1 CURRREL=9 BUILD=20230409-Rocky-9.1-x86_64.0\n</code></pre>"},{"location":"documentation/dev_guides/openqa_cli_post_examples/#flavoruniversal","title":"FLAVOR=universal","text":"<pre><code>$ openqa-cli api -X POST isos ISO=Rocky-9.1-20221214.1-x86_64-dvd.iso ARCH=x86_64 \\\n DISTRI=rocky FLAVOR=universal VERSION=9.1 CURRREL=9 BUILD=20230409-Rocky-9.1-x86_64.0\n</code></pre>"},{"location":"documentation/dev_guides/openqa_cli_post_examples/#collection-of-test-suites-by-build","title":"Collection of test suites by BUILD","text":"<p>A feature of openQA is that for a given job group test suites which use the same <code>BUILD</code> identifier are collected into a single view in the web UI.</p> <p></p> <p>Thus, the examples show above which all use <code>BUILD=20230409-Rocky-9.1-x86_64.0</code> are all shown in a single view. Additionally, that view is accessible via a predictable URI, for example <code>https://openqa.rockylinux.org/tests/overview?build=20230409-Rocky-9.1-x86_64.0</code> as shown below...</p> <p></p>"},{"location":"documentation/dev_guides/openqa_cli_post_examples/#references","title":"References","text":"<p>openQA Documentation</p> Additional Information ContactDisclaimerLicense <p>If you have questions with respect to this content or to report concerns regarding the use or misuse content please do not hesitate to contact us at info@rockylinux.org.</p> <p>Rocky Linux and the Rocky Enterprise Software Foundation (RESF) does not make any express or implied warranties, including but not limited to the warranties of non-infringement of any third party intellectual property rights. RESF does not warrant that any pending trademark applications for trademarks of RESF will result in any granted trademark protection. RESF shall not be liable for any claims relating to user's activities falling within the scope of the permission and user hereby agrees to indemnify, defend and hold RESF and its contributors harmless against any such claim.</p> <p>This content is licensed under under Attribution-Share Alike 4.0 International license unless otherwise noted.</p>"},{"location":"documentation/dev_guides/openqa_clone_custom_git_refspec_examples/","title":"openqa-clone-custom-git-refspec Examples","text":"<p>This page will provide a brief overview of basic and advanced job cloning using the <code>openqa-clone-custom-git-refspec</code> command.</p> <p>At a high level <code>openqa-clone-custom-git-refspec</code> can be viewed as a mechanism to test PRs for openQA tests directly in a Rocky Linux openQA instance with making changes to the default configuration. As such, it can support testing of PRs that change test code and needles as long as changes to <code>templates.fif.json</code> are not also required. A combination of <code>openqa-clone-custom-git-refspec</code> and <code>openqa-clone-job</code> (which is actually used by <code>openqa-clone-custom-git-refspec</code> under the hood) can be used for some cases where <code>POST</code> variables are pre-defined in <code>templates.fif.json</code>.</p>"},{"location":"documentation/dev_guides/openqa_clone_custom_git_refspec_examples/#system-access-requirements","title":"System / Access Requirements","text":"<p>To complete any of the examples please complete the API <code>POST</code> Access steps outlined in the openQA - Access document.</p>"},{"location":"documentation/dev_guides/openqa_clone_custom_git_refspec_examples/#basic-openqa-clone-custom-git-refspec","title":"Basic <code>openqa-clone-custom-git-refspec</code>","text":"<p>The following example demonstrates the testing of an open Github pull request in the Rocky Linux openQA production system. The PR only changes test code and does not supply updated needles for the test.</p>"},{"location":"documentation/dev_guides/openqa_clone_custom_git_refspec_examples/#github-pr-information","title":"Github PR information","text":"<p>NOTE: The Github CLI tool (<code>gh</code>) is used to display PR information statically in this guide.</p> <pre><code>\u279c os-autoinst-distri-rocky git:(develop) gh pr view 168\nSerial console install #168\nMerged \u2022 AlanMarshall wants to merge 1 commit into develop from serial_console \u2022 about 27 days ago\n+5 -2 \u2022 No checks\nReviewers: akatch (Approved), tcooper (Approved), lumarel (Requested)\nLabels: priority: medium, type: bug, test suite\n\n\n Network is enabled by default at v9 so requires conditional code to handle multiple versions.\n Tested for 9.1, 8.7 &amp; 8.8:\n\n openqa-cli api -X POST isos ISO=Rocky-9.1-20221214.1-x86_64-dvd.iso ARCH=x86_64 DISTRI=rocky FLAVOR=universal\n VERSION=9.1 BUILD=-\"$(date +%Y%m%d.%H%M%S).0\"-9.1-20221214.1-universal TEST=install_serial_console\n openqa-cli api -X POST isos ISO=Rocky-8.7-x86_64-dvd1.iso ARCH=x86_64 DISTRI=rocky FLAVOR=universal VERSION=8.7 BUILD=-\n \"$(date +%Y%m%d.%H%M%S).0\"-8.7-20221110-universal TEST=install_serial_console\n openqa-cli api -X POST isos ISO=Rocky-8.8-x86_64-dvd1.iso ARCH=x86_64 DISTRI=rocky FLAVOR=universal VERSION=8.8 BUILD=-\n \"$(date +%Y%m%d.%H%M%S).0\"-8.8-lookahead-universal TEST=install_serial_console\n\n Result: Tests pass.\n Also confirm that all main hub check boxes are checked and user test created prior to start of installation.\n Fixes Issue #102\n\nView this pull request on GitHub: https://github.com/rocky-linux/os-autoinst-distri-rocky/pull/168\n</code></pre> <p>Above is the information provided in the original PR and it includes tests performed in Alan's openQA development system. We can rerun failing tests in the Rocky Linux openQA system after identifying an appropriate job ID for each Rocky Linux version we are testing. For this example the openQA WebUI was used to find appropriate test IDs to clone.</p>"},{"location":"documentation/dev_guides/openqa_clone_custom_git_refspec_examples/#run-openqa-clone-custom-git-refspec-in-verbose-dry-run-mode","title":"Run <code>openqa-clone-custom-git-refspec</code> in <code>--verbose --dry-run</code> mode","text":"<p>In practice it is useful to run <code>openqa-clone-custom-git-refspec</code> in <code>--verbose</code> and <code>--dry-run</code> mode to observe it's behavior even for the Basic cases...</p> <pre><code>$ openqa-clone-custom-git-refspec --verbose --dry-run \\\n https://github.com/rocky-linux/os-autoinst-distri-rocky/pull/168 \\\n https://openqa.rockylinux.org/tests/16080 2&gt;&amp;1 | tee pr-168\n</code></pre> <p>NOTE: The full output of <code>openqa-clone-custom-git-refspece</code> will not be shown here.</p> <pre><code>+ shift\n+ true\n+ case \"$1\" in\n+ dry_run=true\n+ shift\n+ true\n+ case \"$1\" in\n+ shift\n+ break\n+ job_list=https://openqa.rockylinux.org/tests/16080\n+ [[ -z '' ]]\n+ first_arg=https://github.com/rocky-linux/os-autoinst-distri-rocky/pull/168\n+ [[ https://github.com/rocky-linux/os-autoinst-distri-rocky/pull/168 == *\\p\\u\\l\\l* ]]\n+ pr_url=https://github.com/rocky-linux/os-autoinst-distri-rocky/pull/168\n+ target_repo_part=https://github.com/rocky-linux/os-autoinst-distri-rocky\n+ pr=168\n+ pr=168\n+ [[ -z '' ]]\n+ pr_url=https://api.github.com/repos/rocky-linux/os-autoinst-distri-rocky/pulls/168\n++ eval 'curl -s https://api.github.com/repos/rocky-linux/os-autoinst-distri-rocky/pulls/168'\n+++ curl -s https://api.github.com/repos/rocky-linux/os-autoinst-distri-rocky/pulls/168\n\n...&lt;snip&gt;...\n\n++ jq -r '.NEEDLES_DIR | select (.!=null)'\n+ old_needledir=\n+ local needles_dir=\n+ needles_dir=rocky/needles\n+ local repo_branch=AlanMarshall/os-autoinst-distri-rocky#serial_console\n+ local test_suffix=@AlanMarshall/os-autoinst-distri-rocky#serial_console\n+ local build=AlanMarshall/os-autoinst-distri-rocky#168\n+ local casedir=https://github.com/AlanMarshall/os-autoinst-distri-rocky.git#serial_console\n+ local GROUP=0\n+ local dry_run=true\n+ local scriptdir\n++ dirname /usr/bin/openqa-clone-custom-git-refspec\n+ scriptdir=/usr/bin\n+ local 'cmd=true /usr/bin/openqa-clone-job --skip-chained-deps --parental-inheritance --within-instance \"https://openqa.rockylinux.org\" \"15973\" _GROUP=\"0\" TEST+=\"@AlanMarshall/os-autoinst-distri-rocky#serial_console\" BUILD=\"AlanMarshall/os-autoinst-distri-rocky#168\" CASEDIR=\"https://github.com/AlanMarshall/os-autoinst-distri-rocky.git#serial_console\" PRODUCTDIR=\"os-autoinst-distri-rocky\" NEEDLES_DIR=\"rocky/needles\"'\n+ [[ 0 -ne 0 ]]\n+ [[ -n '' ]]\n+ eval 'true /usr/bin/openqa-clone-job --skip-chained-deps --parental-inheritance --within-instance \"https://openqa.rockylinux.org\" \"15973\" _GROUP=\"0\" TEST+=\"@AlanMarshall/os-autoinst-distri-rocky#serial_console\" BUILD=\"AlanMarshall/os-autoinst-distri-rocky#168\" CASEDIR=\"https://github.com/AlanMarshall/os-autoinst-distri-rocky.git#serial_console\" PRODUCTDIR=\"os-autoinst-distri-rocky\" NEEDLES_DIR=\"rocky/needles\"'\n++ true /usr/bin/openqa-clone-job --skip-chained-deps --parental-inheritance --within-instance https://openqa.rockylinux.org 15973 _GROUP=0 TEST+=@AlanMarshall/os-autoinst-distri-rocky#serial_console BUILD=AlanMarshall/os-autoinst-distri-rocky#168 CASEDIR=https://github.com/AlanMarshall/os-autoinst-distri-rocky.git#serial_console PRODUCTDIR=os-autoinst-distri-rocky NEEDLES_DIR=rocky/needles\n</code></pre> <p>What can be seen from the complete <code>--dry-run</code> output for <code>openqa-clone-custom-git-refspec</code> is that both the job to be cloned and the PR to be used are inspected and a <code>openqa-clone-job</code> command is generated to be submitted to the openQA system the job is being cloned on.</p> <p>Without using <code>--dry-run</code> the final <code>openqa-clone-job</code> command shown above will be run causing the job of interest to be cloned with additional <code>POST</code> variables that will cause the repository/branch referenced in the PR to be cloned into the test directory with important files referenced in the cloned job.</p>"},{"location":"documentation/dev_guides/openqa_clone_custom_git_refspec_examples/#run-openqa-clone-custom-git-refspec-without-verbose-dry-run-mode","title":"Run <code>openqa-clone-custom-git-refspec</code> without <code>--verbose --dry-run</code> mode...","text":"<pre><code>$ openqa-clone-custom-git-refspec \\\n https://github.com/rocky-linux/os-autoinst-distri-rocky/pull/168 \\\n https://openqa.rockylinux.org/tests/16080\nCreated job #16119: rocky-9.1-universal-x86_64-Build20230329-Rocky-9.1-x86_64.0-install_serial_console@64bit -&gt; https://openqa.rockylinux.org/t16119\n</code></pre>"},{"location":"documentation/dev_guides/openqa_clone_custom_git_refspec_examples/#cloned-job-information","title":"Cloned job information...","text":"<pre><code>$ openqa-cli api jobs/16119 --pretty\n{\n \"job\" : {\n \"assets\" : {\n \"iso\" : [\n \"Rocky-9.1-20221214.1-x86_64-dvd.iso\"\n ]\n },\n \"assigned_worker_id\" : 5,\n \"blocked_by_id\" : null,\n \"children\" : {\n \"Chained\" : [],\n \"Directly chained\" : [],\n \"Parallel\" : []\n },\n \"clone_id\" : 16121,\n \"group_id\" : null,\n \"has_parents\" : 0,\n \"id\" : 16119,\n \"name\" : \"rocky-9.1-universal-x86_64-BuildAlanMarshall_os-autoinst-distri-rocky_168-install_serial_console@AlanMarshall_os-autoinst-distri-rocky_serial_console@64bit\",\n \"parents\" : {\n \"Chained\" : [],\n \"Directly chained\" : [],\n \"Parallel\" : []\n },\n \"parents_ok\" : 1,\n \"priority\" : 10,\n \"reason\" : \"isotovideo abort: isotovideo received signal TERM\",\n \"result\" : \"user_restarted\",\n \"settings\" : {\n \"ANACONDA_TEXT\" : \"1\",\n \"ARCH\" : \"x86_64\",\n \"ARCH_BASE_MACHINE\" : \"64bit\",\n \"BACKEND\" : \"qemu\",\n \"BUILD\" : \"AlanMarshall\\/os-autoinst-distri-rocky#168\",\n \"CASEDIR\" : \"https:\\/\\/github.com\\/AlanMarshall\\/os-autoinst-distri-rocky.git#serial_console\",\n \"CLONED_FROM\" : \"https:\\/\\/openqa.rockylinux.org\\/tests\\/15973\",\n \"CURRREL\" : \"9\",\n \"DISTRI\" : \"rocky\",\n \"FLAVOR\" : \"universal\",\n \"HDDSIZEGB\" : \"15\",\n \"ISO\" : \"Rocky-9.1-20221214.1-x86_64-dvd.iso\",\n \"LOCATION\" : \"https:\\/\\/download.rockylinux.org\\/pub\\/rocky\\/9.1\\/BaseOS\",\n \"MACHINE\" : \"64bit\",\n \"NAME\" : \"00016119-rocky-9.1-universal-x86_64-BuildAlanMarshall_os-autoinst-distri-rocky_168-install_serial_console@AlanMarshall_os-autoinst-distri-rocky_serial_console@64bit\",\n \"NEEDLES_DIR\" : \"rocky\\/needles\",\n \"NICTYPE_USER_OPTIONS\" : \"net=172.16.2.0\\/24\",\n \"NO_UEFI_POST\" : \"1\",\n \"PART_TABLE_TYPE\" : \"mbr\",\n \"PRODUCTDIR\" : \"os-autoinst-distri-rocky\",\n \"QEMUCPU\" : \"Nehalem\",\n \"QEMUCPUS\" : \"2\",\n \"QEMURAM\" : \"2048\",\n \"QEMU_HOST_IP\" : \"172.16.2.2\",\n \"QEMU_VIDEO_DEVICE\" : \"virtio-vga\",\n \"QEMU_VIRTIO_RNG\" : \"1\",\n \"SERIAL_CONSOLE\" : \"1\",\n \"TEST\" : \"install_serial_console@AlanMarshall\\/os-autoinst-distri-rocky#serial_console\",\n \"TEST_SUITE_NAME\" : \"install_serial_console\",\n \"TEST_TARGET\" : \"ISO\",\n \"VERSION\" : \"9.1\",\n \"VIRTIO_CONSOLE_NUM\" : \"2\",\n \"WORKER_CLASS\" : \"qemu_x86_64\",\n \"XRES\" : \"1024\",\n \"YRES\" : \"768\"\n },\n \"state\" : \"done\",\n \"t_finished\" : \"2023-03-29T06:19:37\",\n \"t_started\" : \"2023-03-29T06:12:26\",\n \"test\" : \"install_serial_console@AlanMarshall\\/os-autoinst-distri-rocky#serial_console\"\n }\n}\n</code></pre>"},{"location":"documentation/dev_guides/openqa_clone_custom_git_refspec_examples/#advanced-openqa-clone-custom-git-refspec","title":"Advanced <code>openqa-clone-custom-git-refspec</code>","text":"<p>The following example demonstrates the testing of an open Github pull request in the Rocky Linux openQA production system. The PR changes test code and supplies updated needles for the test.</p>"},{"location":"documentation/dev_guides/openqa_clone_custom_git_refspec_examples/#github-pr-information_1","title":"Github PR information","text":"<pre><code>\u279c os-autoinst-distri-rocky git:(nazunalika/develop) gh pr view 162\n\nAnaconda text install #162\nOpen \u2022 AlanMarshall wants to merge 2 commits into develop from anaconda-txt \u2022 about 1 day ago\n+30 -5 \u2022 No checks\nReviewers: akatch (Approved), lumarel (Requested), tcooper (Requested)\nLabels: priority: medium, type: bug, test suite\n\n\n Added new needle for text install.\n Deleted redundant code.\n Tested for 9.1, 8.7 &amp; 8.8:\n\n openqa-cli api -X POST isos ISO=Rocky-9.1-20221214.1-x86_64-dvd.iso ARCH=x86_64 DISTRI=rocky FLAVOR=universal\n VERSION=9.1 BUILD=-\"$(date +%Y%m%d.%H%M%S).0\"-9.1-20221214.1-universal TEST=install_anaconda_text\n openqa-cli api -X POST isos ISO=Rocky-8.7-x86_64-dvd1.iso ARCH=x86_64 DISTRI=rocky FLAVOR=universal VERSION=8.7 BUILD=-\n \"$(date +%Y%m%d.%H%M%S).0\"-8.7-20221110-universal TEST=install_anaconda_text\n openqa-cli api -X POST isos ISO=Rocky-8.8-x86_64-dvd1.iso ARCH=x86_64 DISTRI=rocky FLAVOR=universal VERSION=8.8 BUILD=-\n \"$(date +%Y%m%d.%H%M%S).0\"-8.8-lookahead-universal TEST=install_anaconda_text\n\n Result: Pass\n Fixes Issue #145\n\n\nakatch approved (Member) \u2022 18h \u2022 Newest comment\n\n All indicated tests pass.\n\n\nView this pull request on GitHub: https://github.com/rocky-linux/os-autoinst-distri-rocky/pull/162\n</code></pre>"},{"location":"documentation/dev_guides/openqa_clone_custom_git_refspec_examples/#run-openqa-clone-custom-git-refspec-in-verbose-dry-run-mode_1","title":"Run <code>openqa-clone-custom-git-refspec</code> in <code>--verbose --dry-run</code> mode","text":"<pre><code>$ openqa-clone-custom-git-refspec --verbose --dry-run https://github.com/rocky-linux/os-autoinst-distri-rocky/pull/162 https://openqa.rockylinux.org/tests/13371\n+ shift\n+ true\n+ case \"$1\" in\n+ dry_run=true\n+ shift\n+ true\n+ case \"$1\" in\n+ shift\n+ break\n+ job_list=https://openqa.rockylinux.org/tests/13371\n+ [[ -z '' ]]\n+ first_arg=https://github.com/rocky-linux/os-autoinst-distri-rocky/pull/162\n+ [[ https://github.com/rocky-linux/os-autoinst-distri-rocky/pull/162 == *\\p\\u\\l\\l* ]]\n+ pr_url=https://github.com/rocky-linux/os-autoinst-distri-rocky/pull/162\n+ target_repo_part=https://github.com/rocky-linux/os-autoinst-distri-rocky\n\n\n...&lt;snip&gt;...\n\n++ jq -r '.NEEDLES_DIR | select (.!=null)'\n+ old_needledir=\n+ local needles_dir=\n+ needles_dir=rocky/needles\n+ local repo_branch=AlanMarshall/os-autoinst-distri-rocky#anaconda-txt\n+ local test_suffix=@AlanMarshall/os-autoinst-distri-rocky#anaconda-txt\n+ local build=AlanMarshall/os-autoinst-distri-rocky#162\n+ local casedir=https://github.com/AlanMarshall/os-autoinst-distri-rocky.git#anaconda-txt\n+ local GROUP=0\n+ local dry_run=true\n+ local scriptdir\n++ dirname /usr/bin/openqa-clone-custom-git-refspec\n+ scriptdir=/usr/bin\n+ local 'cmd=true /usr/bin/openqa-clone-job --skip-chained-deps --parental-inheritance --within-instance \"https://openqa.rockylinux.org\" \"13371\" _GROUP=\"0\" TEST+=\"@AlanMarshall/os-autoinst-distri-rocky#anaconda-txt\" BUILD=\"AlanMarshall/os-autoinst-distri-rocky#162\" CASEDIR=\"https://github.com/AlanMarshall/os-autoinst-distri-rocky.git#anaconda-txt\" PRODUCTDIR=\"os-autoinst-distri-rocky\" NEEDLES_DIR=\"rocky/needles\"'\n+ [[ 0 -ne 0 ]]\n+ [[ -n '' ]]\n+ eval 'true /usr/bin/openqa-clone-job --skip-chained-deps --parental-inheritance --within-instance \"https://openqa.rockylinux.org\" \"13371\" _GROUP=\"0\" TEST+=\"@AlanMarshall/os-autoinst-distri-rocky#anaconda-txt\" BUILD=\"AlanMarshall/os-autoinst-distri-rocky#162\" CASEDIR=\"https://github.com/AlanMarshall/os-autoinst-distri-rocky.git#anaconda-txt\" PRODUCTDIR=\"os-autoinst-distri-rocky\" NEEDLES_DIR=\"rocky/needles\"'\n++ true /usr/bin/openqa-clone-job --skip-chained-deps --parental-inheritance --within-instance https://openqa.rockylinux.org 13371 _GROUP=0 TEST+=@AlanMarshall/os-autoinst-distri-rocky#anaconda-txt BUILD=AlanMarshall/os-autoinst-distri-rocky#162 CASEDIR=https://github.com/AlanMarshall/os-autoinst-distri-rocky.git#anaconda-txt PRODUCTDIR=os-autoinst-distri-rocky NEEDLES_DIR=rocky/needles\n</code></pre> <p>This PR provides updated needles and the default behavior of <code>openqa-clone-custom-git-refspec</code> is to not provide an alternate location for <code>NEEDLES</code>. The <code>--verbose --dry-run</code> output needs to be modified to ensure the needles provided in the PR are used in the test.</p>"},{"location":"documentation/dev_guides/openqa_clone_custom_git_refspec_examples/#modify-verbose-dry-run-output-to-point-to-needles-in-the-pr","title":"Modify <code>--verbose --dry-run</code> output to point to needles in the PR...","text":"<p>Use output to modify clone job...</p>"},{"location":"documentation/dev_guides/openqa_clone_custom_git_refspec_examples/#original","title":"original","text":"<pre><code>$ /usr/bin/openqa-clone-job --skip-chained-deps --parental-inheritance --within-instance https://openqa.rockylinux.org \\\n 13371 _GROUP=0 TEST+=@AlanMarshall/os-autoinst-distri-rocky#anaconda-txt \\\n BUILD=AlanMarshall/os-autoinst-distri-rocky#162 CASEDIR=https://github.com/AlanMarshall/os-autoinst-distri-rocky.git#anaconda-txt \\\n PRODUCTDIR=os-autoinst-distri-rocky\nNEEDLES_DIR=rocky/needles\n</code></pre>"},{"location":"documentation/dev_guides/openqa_clone_custom_git_refspec_examples/#specify-needles_dir-manually-pointing-at-pr-branch","title":"specify NEEDLES_DIR manually pointing at PR branch","text":"<pre><code>$ /usr/bin/openqa-clone-job --skip-chained-deps --parental-inheritance --within-instance https://openqa.rockylinux.org \\\n 13371 _GROUP=0 TEST+=@AlanMarshall/os-autoinst-distri-rocky#anaconda-txt \\\n BUILD=AlanMarshall/os-autoinst-distri-rocky#162 CASEDIR=https://github.com/AlanMarshall/os-autoinst-distri-rocky.git#anaconda-txt \\\n PRODUCTDIR=os-autoinst-distri-rocky NEEDLES_DIR=https://github.com/AlanMarshall/os-autoinst-distri-rocky.git#anaconda-txt/needles\n</code></pre>"},{"location":"documentation/dev_guides/openqa_clone_custom_git_refspec_examples/#rocky-linux-91","title":"Rocky Linux 9.1","text":"<pre><code>$ /usr/bin/openqa-clone-job --skip-chained-deps --parental-inheritance --within-instance https://openqa.rockylinux.org \\\n 13255 _GROUP=0 TEST+=@AlanMarshall/os-autoinst-distri-rocky#anaconda-txt \\\n BUILD=AlanMarshall/os-autoinst-distri-rocky#162 CASEDIR=https://github.com/AlanMarshall/os-autoinst-distri-rocky.git#anaconda-txt \\\n PRODUCTDIR=os-autoinst-distri-rocky NEEDLES_DIR=https://github.com/AlanMarshall/os-autoinst-distri-rocky.git#anaconda-txt/needles\nCreated job #14228: rocky-9.1-universal-x86_64-Build20230319-Rocky-9.1-x86_64.0-install_anaconda_text@64bit -&gt; https://openqa.rockylinux.org/t14228\n</code></pre> <pre><code>$ openqa-cli api jobs/14228 --pretty\n{\n \"job\" : {\n \"assets\" : {\n \"iso\" : [\n \"Rocky-9.1-20221214.1-x86_64-dvd.iso\"\n ]\n },\n \"assigned_worker_id\" : 9,\n \"blocked_by_id\" : null,\n \"children\" : {\n \"Chained\" : [],\n \"Directly chained\" : [],\n \"Parallel\" : []\n },\n \"clone_id\" : null,\n \"group_id\" : null,\n \"has_parents\" : 0,\n \"id\" : 14228,\n \"name\" : \"rocky-9.1-universal-x86_64-BuildAlanMarshall_os-autoinst-distri-rocky_162-install_anaconda_text@AlanMarshall_os-autoinst-distri-rocky_anaconda-txt@64bit\",\n \"parents\" : {\n \"Chained\" : [],\n \"Directly chained\" : [],\n \"Parallel\" : []\n },\n \"parents_ok\" : 1,\n \"priority\" : 0,\n \"result\" : \"passed\",\n \"settings\" : {\n \"ANACONDA_TEXT\" : \"1\",\n \"ARCH\" : \"x86_64\",\n \"ARCH_BASE_MACHINE\" : \"64bit\",\n \"BACKEND\" : \"qemu\",\n \"BUILD\" : \"AlanMarshall\\/os-autoinst-distri-rocky#162\",\n \"CASEDIR\" : \"https:\\/\\/github.com\\/AlanMarshall\\/os-autoinst-distri-rocky.git#anaconda-txt\",\n \"CLONED_FROM\" : \"https:\\/\\/openqa.rockylinux.org\\/tests\\/13255\",\n \"CURRREL\" : \"9\",\n \"DISTRI\" : \"rocky\",\n \"FLAVOR\" : \"universal\",\n \"HDDSIZEGB\" : \"15\",\n \"ISO\" : \"Rocky-9.1-20221214.1-x86_64-dvd.iso\",\n \"LOCATION\" : \"https:\\/\\/dl.rockylinux.org\\/pub\\/rocky\\/9.1\",\n \"MACHINE\" : \"64bit\",\n \"NAME\" : \"00014228-rocky-9.1-universal-x86_64-BuildAlanMarshall_os-autoinst-distri-rocky_162-install_anaconda_text@AlanMarshall_os-autoinst-distri-rocky_anaconda-txt@64bit\",\n \"NEEDLES_DIR\" : \"https:\\/\\/github.com\\/AlanMarshall\\/os-autoinst-distri-rocky.git#anaconda-txt\\/needles\",\n \"NICTYPE_USER_OPTIONS\" : \"net=172.16.2.0\\/24\",\n \"PART_TABLE_TYPE\" : \"mbr\",\n \"PRODUCTDIR\" : \"os-autoinst-distri-rocky\",\n \"QEMUCPU\" : \"Nehalem\",\n \"QEMUCPUS\" : \"2\",\n \"QEMURAM\" : \"2048\",\n \"QEMU_HOST_IP\" : \"172.16.2.2\",\n \"QEMU_VIDEO_DEVICE\" : \"virtio-vga\",\n \"QEMU_VIRTIO_RNG\" : \"1\",\n \"TEST\" : \"install_anaconda_text@AlanMarshall\\/os-autoinst-distri-rocky#anaconda-txt\",\n \"TEST_SUITE_NAME\" : \"install_anaconda_text\",\n \"TEST_TARGET\" : \"ISO\",\n \"VERSION\" : \"9.1\",\n \"WORKER_CLASS\" : \"qemu_x86_64\",\n \"XRES\" : \"1024\",\n \"YRES\" : \"768\"\n },\n \"state\" : \"done\",\n \"t_finished\" : \"2023-03-22T05:28:28\",\n \"t_started\" : \"2023-03-22T05:07:09\",\n \"test\" : \"install_anaconda_text@AlanMarshall\\/os-autoinst-distri-rocky#anaconda-txt\"\n }\n}\n</code></pre>"},{"location":"documentation/dev_guides/openqa_clone_custom_git_refspec_examples/#rocky-linux-87","title":"Rocky Linux 8.7","text":"<pre><code>$ /usr/bin/openqa-clone-job --skip-chained-deps --parental-inheritance --within-instance https://openqa.rockylinux.org \\\n 13371 _GROUP=0 TEST+=@AlanMarshall/os-autoinst-distri-rocky#anaconda-txt \\\n BUILD=AlanMarshall/os-autoinst-distri-rocky#162 CASEDIR=https://github.com/AlanMarshall/os-autoinst-distri-rocky.git#anaconda-txt \\\n PRODUCTDIR=os-autoinst-distri-rocky NEEDLES_DIR=https://github.com/AlanMarshall/os-autoinst-distri-rocky.git#anaconda-txt/needles\nCreated job #14229: rocky-8.7-universal-x86_64-Build20230319-Rocky-8.7-x86_64.0-install_anaconda_text@64bit -&gt; https://openqa.rockylinux.org/t14229\n</code></pre> <pre><code>$ openqa-cli api jobs/14229 --pretty\n{\n \"job\" : {\n \"assets\" : {\n \"iso\" : [\n \"Rocky-8.7-x86_64-dvd1.iso\"\n ]\n },\n \"assigned_worker_id\" : 8,\n \"blocked_by_id\" : null,\n \"children\" : {\n \"Chained\" : [],\n \"Directly chained\" : [],\n \"Parallel\" : []\n },\n \"clone_id\" : null,\n \"group_id\" : null,\n \"has_parents\" : 0,\n \"id\" : 14229,\n \"name\" : \"rocky-8.7-universal-x86_64-BuildAlanMarshall_os-autoinst-distri-rocky_162-install_anaconda_text@AlanMarshall_os-autoinst-distri-rocky_anaconda-txt@64bit\",\n \"parents\" : {\n \"Chained\" : [],\n \"Directly chained\" : [],\n \"Parallel\" : []\n },\n \"parents_ok\" : 1,\n \"priority\" : 0,\n \"result\" : \"passed\",\n \"settings\" : {\n \"ANACONDA_TEXT\" : \"1\",\n \"ARCH\" : \"x86_64\",\n \"ARCH_BASE_MACHINE\" : \"64bit\",\n \"BACKEND\" : \"qemu\",\n \"BUILD\" : \"AlanMarshall\\/os-autoinst-distri-rocky#162\",\n \"CASEDIR\" : \"https:\\/\\/github.com\\/AlanMarshall\\/os-autoinst-distri-rocky.git#anaconda-txt\",\n \"CLONED_FROM\" : \"https:\\/\\/openqa.rockylinux.org\\/tests\\/13371\",\n \"CURRREL\" : \"8\",\n \"DISTRI\" : \"rocky\",\n \"FLAVOR\" : \"universal\",\n \"HDDSIZEGB\" : \"15\",\n \"ISO\" : \"Rocky-8.7-x86_64-dvd1.iso\",\n \"LOCATION\" : \"https:\\/\\/dl.rockylinux.org\\/pub\\/rocky\\/8.7\",\n \"MACHINE\" : \"64bit\",\n \"NAME\" : \"00014229-rocky-8.7-universal-x86_64-BuildAlanMarshall_os-autoinst-distri-rocky_162-install_anaconda_text@AlanMarshall_os-autoinst-distri-rocky_anaconda-txt@64bit\",\n \"NEEDLES_DIR\" : \"https:\\/\\/github.com\\/AlanMarshall\\/os-autoinst-distri-rocky.git#anaconda-txt\\/needles\",\n \"NICTYPE_USER_OPTIONS\" : \"net=172.16.2.0\\/24\",\n \"PART_TABLE_TYPE\" : \"mbr\",\n \"PRODUCTDIR\" : \"os-autoinst-distri-rocky\",\n \"QEMUCPU\" : \"Nehalem\",\n \"QEMUCPUS\" : \"2\",\n \"QEMURAM\" : \"2048\",\n \"QEMU_HOST_IP\" : \"172.16.2.2\",\n \"QEMU_VIDEO_DEVICE\" : \"virtio-vga\",\n \"QEMU_VIRTIO_RNG\" : \"1\",\n \"TEST\" : \"install_anaconda_text@AlanMarshall\\/os-autoinst-distri-rocky#anaconda-txt\",\n \"TEST_SUITE_NAME\" : \"install_anaconda_text\",\n \"TEST_TARGET\" : \"ISO\",\n \"VERSION\" : \"8.7\",\n \"WORKER_CLASS\" : \"qemu_x86_64\",\n \"XRES\" : \"1024\",\n \"YRES\" : \"768\"\n },\n \"state\" : \"done\",\n \"t_finished\" : \"2023-03-22T05:31:22\",\n \"t_started\" : \"2023-03-22T05:10:46\",\n \"test\" : \"install_anaconda_text@AlanMarshall\\/os-autoinst-distri-rocky#anaconda-txt\"\n }\n}\n</code></pre>"},{"location":"documentation/dev_guides/openqa_clone_custom_git_refspec_examples/#references","title":"References","text":"<p>openQA Documentation</p> Additional Information ContactDisclaimerLicense <p>If you have questions with respect to this content or to report concerns regarding the use or misuse content please do not hesitate to contact us at info@rockylinux.org.</p> <p>Rocky Linux and the Rocky Enterprise Software Foundation (RESF) does not make any express or implied warranties, including but not limited to the warranties of non-infringement of any third party intellectual property rights. RESF does not warrant that any pending trademark applications for trademarks of RESF will result in any granted trademark protection. RESF shall not be liable for any claims relating to user's activities falling within the scope of the permission and user hereby agrees to indemnify, defend and hold RESF and its contributors harmless against any such claim.</p> <p>This content is licensed under under Attribution-Share Alike 4.0 International license unless otherwise noted.</p>"},{"location":"documentation/dev_guides/openqa_clone_job_examples/","title":"openqa-clone-job Examples","text":"<p>This page will provide a brief overview of basic and advanced job cloning using the <code>openqa-clone-job</code> command.</p>"},{"location":"documentation/dev_guides/openqa_clone_job_examples/#system-access-requirements","title":"System / Access Requirements","text":"<p>To complete any of the examples please complete the API <code>POST</code> Access steps outlined in the openQA - Access document.</p>"},{"location":"documentation/dev_guides/openqa_clone_job_examples/#basic-openqa-clone-job","title":"Basic <code>openqa-clone-job</code>","text":""},{"location":"documentation/dev_guides/openqa_clone_job_examples/#querying-openqa-for-a-specific-test-or-job","title":"Querying openQA for a specific test or job","text":"<p>First you might want to query the Rocky Linux openQA system for the latest job ID for a specific job or test. The openQA client, hereafter refered to as <code>openqa-cli</code> will allow you to quickly do that via the API. Here is an example...</p> <pre><code>$ openqa-cli api --host http://openqa.rockylinux.org jobs/overview groupid=0 distri=rocky version=9.1 test=install_default_upload latest=1 | jq '.'\n[\n {\n \"id\": 22735,\n \"name\": \"rocky-9.1-dvd-iso-x86_64-Build20230423-Rocky-9.1-x86_64.0-install_default_upload@64bit\"\n }\n]\n</code></pre> <p>This basically says \"give me the job id and name of the most recent <code>install_default_upload</code> test for Rocky Linux 9.1\".</p>"},{"location":"documentation/dev_guides/openqa_clone_job_examples/#cloning-a-job-as-is","title":"Cloning a job \"as-is\"","text":"<p>With that job id in hand you can now clone that job directly to your local openQA development system with...</p> <pre><code>$ openqa-clone-job --from https://openqa.rockylinux.org --skip-download 22735\nCloning children of rocky-9.1-dvd-iso-x86_64-Build20230423-Rocky-9.1-x86_64.0-install_default_upload@64bit\nCreated job #23: rocky-9.1-dvd-iso-x86_64-Build20230423-Rocky-9.1-x86_64.0-install_default_upload@64bit -&gt; http://localhost/t23\n</code></pre>"},{"location":"documentation/dev_guides/openqa_clone_job_examples/#basic-job-overview","title":"Basic job overview","text":"<p>Now you should have the same job running in your local instance...</p> <pre><code>$ openqa-cli api jobs/overview\n[{\"id\":23,\"name\":\"rocky-9.1-dvd-iso-x86_64-Build20230423-Rocky-9.1-x86_64.0-install_default_upload@64bit\"}]\n</code></pre>"},{"location":"documentation/dev_guides/openqa_clone_job_examples/#basic-job-details","title":"Basic job details","text":"<pre><code>$ openqa-cli api jobs/23 | jq '.'\n{\n \"job\": {\n \"assets\": {\n \"iso\": [\n \"Rocky-9.1-20221214.1-x86_64-dvd.iso\"\n ]\n },\n \"assigned_worker_id\": 2,\n \"blocked_by_id\": null,\n \"children\": {\n \"Chained\": [],\n \"Directly chained\": [],\n \"Parallel\": []\n },\n \"clone_id\": null,\n \"group\": \"Rocky\",\n \"group_id\": 2,\n \"has_parents\": 0,\n \"id\": 23,\n \"name\": \"rocky-9.1-dvd-iso-x86_64-Build20230423-Rocky-9.1-x86_64.0-install_default_upload@64bit\",\n \"parents\": {\n \"Chained\": [],\n \"Directly chained\": [],\n \"Parallel\": []\n },\n \"parents_ok\": 1,\n \"priority\": 50,\n \"result\": \"none\",\n \"settings\": {\n \"ARCH\": \"x86_64\",\n \"ARCH_BASE_MACHINE\": \"64bit\",\n \"BACKEND\": \"qemu\",\n \"BUILD\": \"20230423-Rocky-9.1-x86_64.0\",\n \"CLONED_FROM\": \"https://openqa.rockylinux.org/tests/22735\",\n \"CURRREL\": \"9\",\n \"DEPLOY_UPLOAD_TEST\": \"install_default_upload\",\n \"DESKTOP\": \"gnome\",\n \"DISTRI\": \"rocky\",\n \"FLAVOR\": \"dvd-iso\",\n \"HDDSIZEGB\": \"15\",\n \"ISO\": \"Rocky-9.1-20221214.1-x86_64-dvd.iso\",\n \"LOCATION\": \"https://download.rockylinux.org/pub/rocky/9.1/BaseOS\",\n \"MACHINE\": \"64bit\",\n \"NAME\": \"00000023-rocky-9.1-dvd-iso-x86_64-Build20230423-Rocky-9.1-x86_64.0-install_default_upload@64bit\",\n \"NICTYPE_USER_OPTIONS\": \"net=172.16.2.0/24\",\n \"PACKAGE_SET\": \"default\",\n \"PART_TABLE_TYPE\": \"mbr\",\n \"POSTINSTALL\": \"_collect_data\",\n \"QEMUCPU\": \"Nehalem\",\n \"QEMUCPUS\": \"2\",\n \"QEMURAM\": \"2048\",\n \"QEMU_HOST_IP\": \"172.16.2.2\",\n \"QEMU_VIDEO_DEVICE\": \"virtio-vga\",\n \"QEMU_VIRTIO_RNG\": \"1\",\n \"STORE_HDD_1\": \"disk_dvd-iso_64bit.qcow2\",\n \"TEST\": \"install_default_upload\",\n \"TEST_SUITE_NAME\": \"install_default_upload\",\n \"TEST_TARGET\": \"ISO\",\n \"VERSION\": \"9.1\",\n \"WORKER_CLASS\": \"qemu_x86_64\",\n \"XRES\": \"1024\",\n \"YRES\": \"768\"\n },\n \"state\": \"running\",\n \"t_finished\": null,\n \"t_started\": \"2023-04-23T03:02:06\",\n \"test\": \"install_default_upload\"\n }\n}\n</code></pre> <p>NOTE: In the above job information you can clearly see the job was cloned from <code>https://openqa.rockylinux.org/tests/22735</code>.</p>"},{"location":"documentation/dev_guides/openqa_clone_job_examples/#advanced-openqa-clone-job","title":"Advanced <code>openqa-clone-job</code>","text":"<p>You can, of course, perform more elaborate operations while cloneing a job either from your local instance or from the production instance. Typically, this might be done to modify some of the job POST variables in the cloned job while keeping all other variables unchanged.</p>"},{"location":"documentation/dev_guides/openqa_clone_job_examples/#changing-variable-during-clone","title":"Changing variable during clone","text":"<p>Here is an example where the ISO is changed in the cloned job...</p> <pre><code>$ openqa-clone-job --from https://openqa.rockylinux.org --skip-download 22735 ISO=Rocky-9.1-x86_64-dvd.iso\nCloning children of rocky-9.1-dvd-iso-x86_64-Build20230423-Rocky-9.1-x86_64.0-install_default_upload@64bit\nCreated job #24: rocky-9.1-dvd-iso-x86_64-Build20230423-Rocky-9.1-x86_64.0-install_default_upload@64bit -&gt; http://localhost/t24\n</code></pre>"},{"location":"documentation/dev_guides/openqa_clone_job_examples/#job-overview","title":"Job overview","text":"<pre><code>$ openqa-cli api jobs/overview\n[{\"id\":24,\"name\":\"rocky-9.1-dvd-iso-x86_64-Build20230423-Rocky-9.1-x86_64.0-install_default_upload@64bit\"}]\n</code></pre>"},{"location":"documentation/dev_guides/openqa_clone_job_examples/#job-details","title":"Job details","text":"<pre><code>$ openqa-cli api jobs/24 | jq '.'\n{\n \"job\": {\n \"assets\": {\n \"iso\": [\n \"Rocky-9.1-x86_64-dvd.iso\"\n ]\n },\n \"assigned_worker_id\": 1,\n \"blocked_by_id\": null,\n \"children\": {\n \"Chained\": [],\n \"Directly chained\": [],\n \"Parallel\": []\n },\n \"clone_id\": null,\n \"group\": \"Rocky\",\n \"group_id\": 2,\n \"has_parents\": 0,\n \"id\": 24,\n \"name\": \"rocky-9.1-dvd-iso-x86_64-Build20230423-Rocky-9.1-x86_64.0-install_default_upload@64bit\",\n \"parents\": {\n \"Chained\": [],\n \"Directly chained\": [],\n \"Parallel\": []\n },\n \"parents_ok\": 1,\n \"priority\": 50,\n \"result\": \"none\",\n \"settings\": {\n \"ARCH\": \"x86_64\",\n \"ARCH_BASE_MACHINE\": \"64bit\",\n \"BACKEND\": \"qemu\",\n \"BUILD\": \"20230423-Rocky-9.1-x86_64.0\",\n \"CLONED_FROM\": \"https://openqa.rockylinux.org/tests/22735\",\n \"CURRREL\": \"9\",\n \"DEPLOY_UPLOAD_TEST\": \"install_default_upload\",\n \"DESKTOP\": \"gnome\",\n \"DISTRI\": \"rocky\",\n \"FLAVOR\": \"dvd-iso\",\n \"HDDSIZEGB\": \"15\",\n \"ISO\": \"Rocky-9.1-x86_64-dvd.iso\",\n \"LOCATION\": \"https://download.rockylinux.org/pub/rocky/9.1/BaseOS\",\n \"MACHINE\": \"64bit\",\n \"NAME\": \"00000024-rocky-9.1-dvd-iso-x86_64-Build20230423-Rocky-9.1-x86_64.0-install_default_upload@64bit\",\n \"NICTYPE_USER_OPTIONS\": \"net=172.16.2.0/24\",\n \"PACKAGE_SET\": \"default\",\n \"PART_TABLE_TYPE\": \"mbr\",\n \"POSTINSTALL\": \"_collect_data\",\n \"QEMUCPU\": \"Nehalem\",\n \"QEMUCPUS\": \"2\",\n \"QEMURAM\": \"2048\",\n \"QEMU_HOST_IP\": \"172.16.2.2\",\n \"QEMU_VIDEO_DEVICE\": \"virtio-vga\",\n \"QEMU_VIRTIO_RNG\": \"1\",\n \"STORE_HDD_1\": \"disk_dvd-iso_64bit.qcow2\",\n \"TEST\": \"install_default_upload\",\n \"TEST_SUITE_NAME\": \"install_default_upload\",\n \"TEST_TARGET\": \"ISO\",\n \"VERSION\": \"9.1\",\n \"WORKER_CLASS\": \"qemu_x86_64\",\n \"XRES\": \"1024\",\n \"YRES\": \"768\"\n },\n \"state\": \"running\",\n \"t_finished\": null,\n \"t_started\": \"2023-04-23T03:08:03\",\n \"test\": \"install_default_upload\"\n }\n}\n</code></pre>"},{"location":"documentation/dev_guides/openqa_clone_job_examples/#difference-between-basic-and-advanced-openqa-clone-job","title":"Difference between Basic and Advanced <code>openqa-clone-job</code>","text":"<p>You should notice that the only substantive difference between the two cloned jobs is the ISO that is used to run the <code>install_default_upload</code> test...</p> <pre><code>$ openqa-cli api jobs/23 | jq '.job.settings.ISO'\n\"Rocky-9.1-20221214.1-x86_64-dvd.iso\"\n\n$ openqa-cli api jobs/24 | jq '.job.settings.ISO'\n\"Rocky-9.1-x86_64-dvd.iso\"\n</code></pre>"},{"location":"documentation/dev_guides/openqa_clone_job_examples/#references","title":"References","text":"<p>openQA Documentation</p> Additional Information ContactDisclaimerLicense <p>If you have questions with respect to this content or to report concerns regarding the use or misuse content please do not hesitate to contact us at info@rockylinux.org.</p> <p>Rocky Linux and the Rocky Enterprise Software Foundation (RESF) does not make any express or implied warranties, including but not limited to the warranties of non-infringement of any third party intellectual property rights. RESF does not warrant that any pending trademark applications for trademarks of RESF will result in any granted trademark protection. RESF shall not be liable for any claims relating to user's activities falling within the scope of the permission and user hereby agrees to indemnify, defend and hold RESF and its contributors harmless against any such claim.</p> <p>This content is licensed under under Attribution-Share Alike 4.0 International license unless otherwise noted.</p>"},{"location":"documentation/dev_guides/wiki_development_boxes/","title":"How to create a live system to work on the documentation","text":"<p>There are several ways how to setup your development environment, here are the currently used once by the testing team:</p>"},{"location":"documentation/dev_guides/wiki_development_boxes/#vagrant","title":"Vagrant","text":"<p>For now here is the link to Trevor's vagrant box setup, this might be merged here in the future!</p>"},{"location":"documentation/dev_guides/wiki_development_boxes/#manual-setup-for-wsl-and-toolbox","title":"Manual setup for WSL and toolbox","text":""},{"location":"documentation/dev_guides/wiki_development_boxes/#wsl-specific","title":"WSL specific","text":"<p>Create a WSL machine like described here, make sure to give it a name like <code>rocky-wiki</code>.</p>"},{"location":"documentation/dev_guides/wiki_development_boxes/#toolbox-specific","title":"toolbox specific","text":"<ul> <li>Make sure you have <code>toolbox</code> installed on your system</li> <li>Create a toolbox <code>toolbox create rocky-wiki</code> (on Rocky Linux 8 and 9 machines this will create either a Rocky Linux 8 or 9 toolbox container)</li> </ul>"},{"location":"documentation/dev_guides/wiki_development_boxes/#container-setup-for-both","title":"Container setup for both","text":"<ul> <li>Run <code>dnf -y update</code> to update the system</li> <li>Run <code>dnf -y install git python39-pip</code> to install Python 3.9 and pip (Python 3.9 is default for Rocky Linux 9, the package is called <code>python3-pip</code> there)</li> <li>Run <code>python3.9 -m pip install -U pip</code> to update pip</li> <li>Clone the repo <code>git clone &lt;path-to-git-project&gt;</code></li> <li>And get into the folder of the repo <code>cd &lt;git-project-name&gt;</code></li> <li>Sometimes you will need to switch the branch here</li> <li>Install all the requirements of the repo <code>python3.9 -m pip install -r requirements.txt</code></li> <li>If you just want to look at the output run <code>mkdocs serve 2&gt;&amp;1 | tee ./mkdocs.serve.log</code></li> </ul> <p>To develop then, the easiest way is to use VS Code with the Remote - WSL, where you have to open the repo in the container (click on the Remote symbol on the lower left, 'Open folder in WSL...').</p> <p>For toolbox just place the repo inside your user profile and you will be able to access it with VS Code inside and outside of the toolbox container.</p> <p>And finally run <code>mkdocs serve 2&gt;&amp;1 | tee ./mkdocs.serve.log</code> in the terminal of this VS Code session. Then you are ready to start changing stuff!</p>"},{"location":"documentation/dev_guides/wiki_development_boxes/#docker","title":"Docker","text":"<p>From the root of this repository on a machine with Docker installed, run</p> <pre><code>docker-compose up\n</code></pre> <p>When the container finishes starting up, you can access the documentation in your web browser at http://localhost:8000.</p> Additional Information ContactDisclaimerAttributionLicense <p>If you have questions with respect to this content or to report concerns regarding the use or misuse content please do not hesitate to contact us at testing@rockylinux.org.</p> <p>Rocky Linux and the Rocky Enterprise Software Foundation (RESF) does not make any express or implied warranties, including but not limited to the warranties of non-infringement of any third party intellectual property rights. RESF does not warrant that any pending trademark applications for trademarks of RESF will result in any granted trademark protection. RESF shall not be liable for any claims relating to user's activities falling within the scope of the permission and user hereby agrees to indemnify, defend and hold RESF and its contributors harmless against any such claim.</p> <p>This work is heavily inspired by the Fedora Release Requirements documents which were made available under Attribution-Share Alike 4.0 International license unless otherwise noted.</p> <p>This content is licensed under under Attribution-Share Alike 4.0 International license unless otherwise noted.</p>"},{"location":"guidelines/","title":"Guidelines","text":"<p>This section goes over guidelines that the Testing team has set out for anything related to the infrastructure used for testing Rocky Linux.</p> <p>All guidelines are listed on the left side of this page.</p> Additional Information ContactDisclaimerLicense <p>If you have questions with respect to this content or to report concerns regarding the use or misuse content please do not hesitate to contact us at info@rockylinux.org.</p> <p>Rocky Linux and the Rocky Enterprise Software Foundation (RESF) does not make any express or implied warranties, including but not limited to the warranties of non-infringement of any third party intellectual property rights. RESF does not warrant that any pending trademark applications for trademarks of RESF will result in any granted trademark protection. RESF shall not be liable for any claims relating to user's activities falling within the scope of the permission and user hereby agrees to indemnify, defend and hold RESF and its contributors harmless against any such claim.</p> <p>This content is licensed under under Attribution-Share Alike 4.0 International license unless otherwise noted.</p>"},{"location":"guidelines/openqa_manual_install/","title":"Manual Install of openQA for rockylinux","text":""},{"location":"guidelines/openqa_manual_install/#intended-audience","title":"Intended Audience","text":"<p>Those who wish to use the openQA automated testing system configured for Rocky Linux tests. If so, you will need a PC or server with hardware virtualisation running an up-to-date Fedora Linux.</p>"},{"location":"guidelines/openqa_manual_install/#introduction","title":"Introduction","text":"<p>This guide explains the use of the openQA automated testing system to test various aspects of Rocky Linux releases either at the pre-release stage or thereafter.</p> <p>openQA is an automated test tool that makes it possible to test the whole installation process. It uses virtual machines which it sets up to reproduce the process, check the output (both serial console and GUI screen) in every step and send the necessary keystrokes and commands to proceed to the next step. openQA checks whether the system can be installed, whether it works properly, whether applications work and whether the system responds as expected to different installation options and commands.</p> <p>Rocky Linux openQA tests can be found in the os-autoinst-distri-rocky repository</p> <p>openQA can run numerous combinations of tests for every revision of the operating system, reporting the errors detected for each combination of hardware configuration, installation options and variant of the operating system.</p>"},{"location":"guidelines/openqa_manual_install/#webui","title":"WebUI","text":"<p>The web UI is a very useful feature of the openQA system since it provides an easily accessed view of the progress and details of openQA tests either on the local machine or remotely or both. It is intended to be intuitive and self-explanatory.</p> <p>Some pages use queries to select what should be shown. The query parameters are generated on clickable links, for example starting from the index page or the group overview page clicking on single builds. On the query pages there can be UI elements to control the parameters, for example to look for older builds or show only failed jobs, or other settings. Additionally, the query parameters can be tweaked by hand if you want to provide a link to specific views.</p>"},{"location":"guidelines/openqa_manual_install/#step-by-step-install-guide","title":"Step-by-step Install Guide","text":"<p>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.</p> <p><pre><code># install Packages\n# for openqa\nsudo dnf install -y openqa openqa-httpd openqa-worker fedora-messaging python3-jsonschema\nsudo dnf install -y perl-REST-Client.noarch\n\n# and for createhdds\nsudo dnf install -y libguestfs-tools libguestfs-xfs python3-fedfind python3-libguestfs\nsudo dnf install -y libvirt libvirt-daemon-config-network libvirt-python3 virt-install withlock\n\n# configure httpd:\ncd /etc/httpd/conf.d/\nsudo cp openqa.conf.template openqa.conf\nsudo cp openqa-ssl.conf.template openqa-ssl.conf\nsudo setsebool -P httpd_can_network_connect 1\nsudo systemctl restart httpd\n\n# configure the web UI\nsudoedit /etc/openqa/openqa.ini\n[global]\nbranding=plain\ndownload_domains = rockylinux.org\n[auth]\nmethod = Fake\n\nsudo dnf install postgresql-server\nsudo postgresql-setup --initdb\n\n# enable and start services\nsudo systemctl enable postgresql --now\nsudo systemctl enable httpd --now\nsudo systemctl enable openqa-gru --now\nsudo systemctl enable openqa-scheduler --now\nsudo systemctl enable openqa-websockets --now\nsudo systemctl enable openqa-webui --now\nsudo systemctl enable fm-consumer@fedora_openqa_scheduler --now\nsudo systemctl enable libvirtd --now\nsudo setsebool -P httpd_can_network_connect 1\nsudo firewall-cmd --add-service=http --permanent\nsudo firewall-cmd --reload\nsudo systemctl restart httpd\n\n# to create API key in local web interface at http://localhost\n# or on remote system http://&lt;ip addr&gt;\n# Click Login, then Manage API Keys, create a key and secret.\n\n# insert key and secret\nsudoedit /etc/openqa/client.conf\n\n[localhost]\nkey = ...\nsecret = ...\n\n# create workers\nsudo systemctl enable openqa-worker@1 --now\n# then ...@2 ...etc as desired. Look in webui workers to check shown idle.\n# as a rule of thumb, you can have about half the number of workers as cores\n\n# get Rocky tests\ncd /var/lib/openqa/tests/\nsudo git clone https://github.com/rocky-linux/os-autoinst-distri-rocky.git rocky\nsudo chown -R geekotest:geekotest rocky\ncd rocky\n\n# when working in /var/lib/openqa nearly all commands need sudo.\n\nsudo git config --global --add safe.directory /var/lib/openqa/share/tests/rocky\n\nsudo git checkout develop\n# or whichever branch has the latest updates for your tests\n\nsudo ./fifloader.py -l -c templates.fif.json\nsudo git clone https://github.com/rocky-linux/createhdds.git ~/createhdds\nsudo mkdir -p /var/lib/openqa/share/factory/hdd/fixed\n\n# will need about 200GB disk space available for ongoing tests\ncd /var/lib/openqa/factory/hdd/fixed\n\n# start a long running process that provides hdd image files for ongoing tests\n~/createhdds/createhdds.py -t -b stg all\n\n# get Rocky iso files for testing from staging repository\nsudo mkdir -p /var/lib/openqa/share/factory/iso/fixed\ncd /var/lib/openqa/factory/iso/fixed\n\nsudo curl -LOR https://dl.rockylinux.org/stg/rocky/9/isos/x86_64/Rocky-9.3-x86_64-boot.iso\nsudo curl -LOR https://dl.rockylinux.org/stg/rocky/9/isos/x86_64/Rocky-9.3-x86_64-minimal.iso\nsudo curl -LOR https://dl.rockylinux.org/stg/rocky/9/isos/x86_64/Rocky-9.3-x86_64-dvd.iso\nsudo curl -LOR https://dl.rockylinux.org/stg/rocky/9/isos/x86_64/CHECKSUM\n\nsha256sum -c CHECKSUM\n\n# fix ownership, add &lt;user&gt; to group, reboot\ncd /var/lib/openqa/factory/\nsudo chown -R geekotest:geekotest ./\nsudo usermod -aG geekotest &lt;user&gt;\nsudo init 6\n\n# post tests and view progress on webui\ncd /var/lib/openqa/tests/rocky/\nsudo ./fifloader.py -c -l templates.fif.json\nsudo 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\nsudo 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\nand for a full build (this will post 95 jobs)\nsudo 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\nsudo 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\n</code></pre> You can watch progress of these tests on the webui on any browser on the same lan as the test host at </p> <p><code>http://&lt;ip_addr_of_test_host&gt;/tests</code></p> <p>If you click \"login\" in the top right corner you will be able to control tests from the webui.</p> <p>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).</p> <p>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).</p>"},{"location":"guidelines/openqa_manual_install/#helpers","title":"Helpers","text":""},{"location":"guidelines/openqa_manual_install/#createhdds","title":"Createhdds","text":"<p><code>Createhdds</code> is used to prepare <code>.img</code> and <code>.qcow2</code> 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 <code>/var/lib/openqa/factory/hdd/fixed</code> determined by the files provided in createhdds.</p>"},{"location":"guidelines/openqa_manual_install/#openqa-cli","title":"openqa-cli","text":"<p>Tests are normally posted using <code>openqa-cli</code> as you have already used above. Test parameters are listed and explained in the openQA VARIABLES definition document</p>"},{"location":"guidelines/openqa_manual_install/#scripts","title":"Scripts","text":"<p>helper scripts - <code>cancel-build.sh</code> is especially useful when you discover that you have initiated a large build and got it wrong... d'oh.</p>"},{"location":"guidelines/openqa_manual_install/#using-templates","title":"Using Templates","text":""},{"location":"guidelines/openqa_manual_install/#challenge","title":"Challenge","text":"<p>One of the challenges that arises when testing an operating system, especially when doing continuous testing, is that there is always a certain combination of jobs, each one with its own settings, that needs to be run for every revision. These combinations can be different for different <code>FLAVORs</code> of the same revision, like running a different set of jobs for each architecture. This combinational problem can go one step further if openQA is being used for different kinds of tests, like running some simple pre-integration tests for some snapshots combined with more comprehensive post-integration tests for release candidates.</p> <p>This section describes how an instance of openQA could be configured using the options in the admin area of the webUI to automatically create all the required jobs for each revision of your operating system that needs to be tested. If you were starting from scratch (the difficult way), you would probably go through the following order:</p> <ol> <li>Define machines in 'Machines' menu</li> <li>Define medium types (products) you have in 'Medium types' menu</li> <li>Specify various collections of tests you want to run in the 'Test suites' menu</li> <li>Define job groups in 'Job groups' menu for groups of tests</li> <li>Select individual 'Job groups' and decide what combinations make sense and need to be tested</li> </ol> <p>If you followed the install guide above then the cloned Rocky tests from 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.</p> <p>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\u2019s and/or os-autoinst\u2019s own behavior in terms of how it configures the environment for the job.</p> <p>The configuration is set up from <code>/var/lib/openqa/tests/rocky/templates.fif.json</code></p>"},{"location":"guidelines/openqa_manual_install/#machines","title":"Machines","text":"<p>You need to have at least one machine set up to be able to run any tests. These machines represent virtual machine types that you want to test. Realistically to make tests actually happen, you have to have a number of <code>openQA workers</code> connected that can fulfill these specifications.</p> <ul> <li><code>Name</code> User defined <code>string</code> - only needed for operator to identify the machine configuration.</li> <li><code>Backend</code> What <code>backend</code> should be used for this <code>machine</code> Recommended value is <code>qemu</code> as it is the most tested one, but other options such as <code>kvm2usb</code> or <code>vbox</code> are also possible.</li> <li> <p><code>Variables</code> Most machine variables influence os-autoinst\u2019s behavior in terms of how the test machine is set up. A few important examples:</p> <ul> <li><code>QEMUCPU</code> can be <code>qemu32</code> or <code>qemu64</code> and specifies the architecture of the virtual CPU</li> <li> <p><code>QEMUCPUS</code> is an <code>integer</code> that specifies the number of cores you wish to be used</p> </li> <li> <p><code>USBBOOT</code> when set to <code>1</code> the image will be loaded through an emulated USB stick.</p> </li> </ul> </li> </ul>"},{"location":"guidelines/openqa_manual_install/#medium-types","title":"Medium Types","text":"<ul> <li><code>product</code><ul> <li>A medium type <code>product</code> in openQA is a simple description without any definite meaning. It basically consists of a <code>name</code> and a set of <code>variables</code> that define or characterise this product in os-autoinst.</li> </ul> </li> </ul> <p>Some example variables are:</p> <ul> <li><code>ISO_MAXSIZE</code> contains the maximum size of the <code>product</code>. There is a test that checks that the current size of the product is less or equal than this variable.</li> <li><code>DVD</code> if it is set to <code>1</code> this indicates that the medium is a DVD.</li> <li><code>LIVECD</code> if it is set to <code>1</code> this indicates that the medium is a live image (can be a <code>CD</code> or <code>USB</code>)</li> <li><code>GNOME</code> this variable, if it is set to <code>1</code> indicates that it is a <code>GNOME</code> only distribution.</li> <li><code>RESCUECD</code> is set to <code>1</code> for rescue CD images.</li> </ul>"},{"location":"guidelines/openqa_manual_install/#test-suites","title":"Test Suites","text":"<p>A test suite consists of a name and a set of test variables that are used inside this particular test together with an optional description. The test variables can be used to parameterise the actual test code and influence the behaviour according to the settings.</p> <p>Some sample variables are:</p> <ul> <li><code>DESKTOP</code> possible values are <code>kde</code> <code>gnome</code> <code>lxde</code> <code>xfce</code> or <code>textmode</code>. Used to indicate the desktop selected by the user during the test.</li> <li><code>ENCRYPT</code> encrypt the home directory via <code>YaST</code></li> <li><code>HDDSIZEGB</code> hard disk size in GB.</li> <li><code>HDD_1</code> path for the pre-created hard disk</li> <li><code>RAIDLEVEL RAID</code> configuration variable</li> </ul>"},{"location":"guidelines/openqa_manual_install/#job-groups","title":"Job Groups","text":"<p>The job groups are the place where the actual test scenarios are defined by the selection of the medium type, the test suite and machine together with a priority value.</p> <p>The priority value is used in the scheduler to choose the next job. If multiple jobs are scheduled and their requirements for running them are fulfilled the ones with a lower priority value are triggered. The id is the second sorting key of two jobs with equal requirements and same priority value the one with lower id is triggered first.</p> <p>Job groups themselves can be created over the web UI as well as the REST API. Job groups can optionally be nested into categories. The display order of job groups and categories can be configured by drag-and-drop in the web UI.</p> <p>The scenario definitions within the job groups can be created and configured by different means:</p> <ul> <li>A simple web UI wizard which is automatically shown for job groups when a new medium is added to the job group.</li> <li>An intuitive table within the web UI for adding additional test scenarios to existing media including the possibility to configure the priority values.</li> <li>The scripts <code>openQA-load-templates</code> and <code>openQA-dump-templates</code> to quickly dump and load the configuration from custom plain-text dump format files using the REST API.</li> <li>Using declarative schedule definitions in the YAML format using REST API routes or an online-editor within the web UI including a syntax checker.</li> </ul>"},{"location":"guidelines/openqa_manual_install/#needles","title":"Needles","text":"<p>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.</p> <p>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 <code>/var/lib/openqa/tests/rocky/needles directory</code></p>"},{"location":"guidelines/openqa_manual_install/#upstream-documentation","title":"Upstream Documentation","text":"<p>Starter Guide and Upstream documentation are useful for reference but since they are 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 version.</p>"},{"location":"guidelines/openqa_manual_install/#glossary","title":"Glossary","text":"<p>The following terms are used within the context of openQA:-</p> <ul> <li> <p>test module</p> <ul> <li>An individual test case in a single perl module <code>.pm</code> file, e.g. <code>sshxterm</code> If not further specified a test module is denoted with its short <code>name</code> equivalent to the filename including the test definition. The full <code>name</code> is composed of the test group, which itself is formed by the top-folder of the test module file, and the short name, e.g. <code>x11-sshxterm</code> (for <code>x11/sshxterm.pm</code>)</li> </ul> </li> <li> <p>test suite</p> <ul> <li> <p>A collection of test modules, e.g. <code>textmode</code> All test modules within one test suite are run serially</p> </li> <li> <p>One run of individual test cases in a row denoted by a unique number for one instance of openQA, e.g. one installation with subsequent testing of applications within <code>gnome</code></p> </li> </ul> </li> <li> <p>test run</p> <ul> <li>Equivalent to job</li> </ul> </li> <li>test result<ul> <li>The result of one job, e.g. <code>passed</code> with the details of each individual test module</li> </ul> </li> <li> <p>test step</p> <ul> <li>the execution of one test module within a job</li> </ul> </li> <li> <p>distri</p> <ul> <li>A test distribution but also sometimes referring to a <code>product</code> (CAUTION: ambiguous, historically a \"GNU/Linux distribution\"), composed of multiple test modules in a folder structure that composes test suites, e.g. <code>rocky</code> (test distribution, short for <code>os-autoinst-distri-rocky</code>)</li> </ul> </li> <li> <p>product</p> <ul> <li>The main <code>system under test (SUT)</code> e.g. <code>rocky</code> also called <code>Medium Types</code> in the web interface of openQA</li> </ul> </li> <li> <p>job group</p> <ul> <li>Equivalent to product, used in context of the webUI</li> </ul> </li> <li> <p>version</p> <ul> <li>One version of a product, don\u2019t confuse with <code>build</code></li> </ul> </li> <li> <p>flavor</p> <ul> <li>Keyword for a specific variant of a product to distinguish differing variants, e.g. <code>dvd-iso</code></li> </ul> </li> <li> <p>arch</p> <ul> <li>An architecture variant of a product, e.g. <code>x86_64</code></li> </ul> </li> <li> <p>machine</p> <ul> <li>Additional variant of machine, e.g. used for <code>64bit</code> <code>bios</code> <code>uefi</code> etc.</li> </ul> </li> <li> <p>scenario</p> <ul> <li>A composition of <code>&lt;distri&gt;-&lt;version&gt;-&lt;flavor&gt;-&lt;arch&gt;-&lt;test_suite&gt;@&lt;machine&gt;</code> e.g. <code>Rocky-9-dvd-x86_64-gnome@64bit</code></li> </ul> </li> <li> <p>build</p> <ul> <li>Different versions of a product as tested, can be considered a <code>sub-version</code> of <code>version</code>, e.g. <code>Build1234</code> CAUTION: ambiguity: either with the prefix <code>build</code> included or not</li> </ul> </li> </ul>"},{"location":"guidelines/openqa_manual_install/#history-briefly","title":"History (briefly)","text":"<p>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.</p>"},{"location":"guidelines/openqa_manual_install/#attribution","title":"Attribution","text":"<p>This guide is heavily inspired by the numerous upstream documents in which installation and usage of OS-autoinst and openQA are described.</p>"},{"location":"guidelines/openqa_manual_install/#references","title":"References","text":"<p>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.</p>"},{"location":"guidelines/openqa_manual_install/#revision-history","title":"Revision History","text":"<p>v1.0 - 2024/04/30 - First Issue</p>"},{"location":"guidelines/release_criteria/release_criteria/","title":"Rocky Linux Release Status","text":"<p>The QA and Testing efforts during releases are tracked in online shared documents. After release the status track and go/no-go documents are published here.</p> Rocky Linux Version Release Criteria QA and Testing Status QA and Testing GO / NO-GO Summary Official Release Date Rocky Linux 8.5 not available not available not available NOVEMBER 15, 2021 Rocky Linux 8.6 AVAILABLE AVAILABLE AVAILABLE MAY 16, 2022 Rocky Linux 9.0 AVAILABLE AVAILABLE AVAILABLE TBD Additional Information ContactDisclaimerLicense <p>If you have questions with respect to this content or to report concerns regarding the use or misuse content please do not hesitate to contact us at info@rockylinux.org.</p> <p>Rocky Linux and the Rocky Enterprise Software Foundation (RESF) does not make any express or implied warranties, including but not limited to the warranties of non-infringement of any third party intellectual property rights. RESF does not warrant that any pending trademark applications for trademarks of RESF will result in any granted trademark protection. RESF shall not be liable for any claims relating to user's activities falling within the scope of the permission and user hereby agrees to indemnify, defend and hold RESF and its contributors harmless against any such claim.</p> <p>This content is licensed under under Attribution-Share Alike 4.0 International license unless otherwise noted.</p>"},{"location":"guidelines/release_criteria/r8/8.6_qa_testing_go_no_go/","title":"Rocky Linux 8.6 QA and Testing : GO / NO GO Status","text":"<p>This document summarizes the GO / NO GO Status for Release of Rocky Linux 8.6 from perspective of the QA / Testing efforts. It is based largely on the Release Criteria (https://wiki.rockylinux.org/team/testing/release_criteria/) as was started as an import of that document. If there are differences between the official Release Critieria document and this document the official Release Criteria document will override and this document shall be updated.</p> <p>As a reminder, the objective of a release (major or minor) is to provide a solid Enterprise Linux release that is suitable to: - Meet the needs of end users - Meet the needs of enterprises big or small</p>"},{"location":"guidelines/release_criteria/r8/8.6_qa_testing_go_no_go/#summary","title":"SUMMARY","text":"Category Proportion Remaining Items TO_CONFIRM 3 / 29 (10%) PASS 25 / 29 (86%) FAIL_NON_BLOCKING 1 / 29 (3%) cloud-images FAIL_BLOCKING 0 / 29 (0%)"},{"location":"guidelines/release_criteria/r8/8.6_qa_testing_go_no_go/#sop","title":"SOP","text":"<p>In this document each requirement is described and status is specified in the title.</p> <p>Current choices are...</p>"},{"location":"guidelines/release_criteria/r8/8.6_qa_testing_go_no_go/#to_confirm","title":"TO_CONFIRM","text":"<ul> <li>this means the item may be [INCOMPLETE], [PASS], [FAIL_NON_BLOCKING[] or [FAIL_BLOCKING] and must be verified</li> </ul>"},{"location":"guidelines/release_criteria/r8/8.6_qa_testing_go_no_go/#pass","title":"PASS","text":"<ul> <li>this means that the release criteria has been met and is not a blocker</li> </ul>"},{"location":"guidelines/release_criteria/r8/8.6_qa_testing_go_no_go/#fail_non_blocking","title":"FAIL_NON_BLOCKING","text":"<ul> <li>this means the release criter has not been met but is non-blocking</li> </ul>"},{"location":"guidelines/release_criteria/r8/8.6_qa_testing_go_no_go/#fail_blocking","title":"FAIL_BLOCKING","text":"<ul> <li>this means the release criteria has not been met and is blocking</li> </ul> <p>In this document criteria status should include who completed the item and generally how it was complete.</p> <p>Examples...</p> <ul> <li>[PASS] - (@tcooper, virt only, manual)</li> <li>[PASS] - (@lumarel, @raktajino, @tcooper, semi-automatic , openQA)</li> </ul>"},{"location":"guidelines/release_criteria/r8/8.6_qa_testing_go_no_go/#initialization-requirements","title":"Initialization Requirements","text":"<ul> <li>Release-blocking images must boot - [PASS] - (@neil, @atomicturtle)</li> <li>Optical Media Requirements - [PASS] - (@atomicturtle)</li> <li>Basic Graphics Mode behaviors - [PASS] - (@tcooper, virt only, manual)</li> <li>No Broken Packages - [PASS] - (@tcooper, scripted, manual)</li> <li>Repositories Must Match Upstream -TO_CONFIRM- (@tcooper, manual)</li> <li>Debranding - [PASS] - (@tcooper, scripted, manual)</li> <li>Media Consistency Verification - [PASS] - (@tcooper, scripted, manual)</li> <li>Packages and Installer Sources - [PASS] - (@lumarel, semi-automatic, openQA test)</li> <li>NAS (Network Attached Storage) -TO_CONFIRM- (@lumarel?, semi-automatic, openQA dual-host test)</li> <li>Installation Interfaces - [PASS] - (@lumarel, @raktajino, @tcooper, semi-automatic, openQA, @atomicturtle, manual?, SCAP)</li> <li>Minimal Installation - [PASS] - (@lumarel, @raktajino, @tcooper, semi-automatic , openQA)</li> <li>Kickstart Installation - [PASS] - (@label, @tcooper, manual, createhdds)</li> <li>Disk Layouts - [PASS] - (@lumarel, @raktajino, @tcooper, semi-automatic, openQA)</li> <li>Firmware RAID -TO_CONFIRM- (@tbd, missing hardware support?)</li> <li>Bootloader Disk Selection - [PASS] - (@raktajino, manual)</li> <li>Storage Volume Resize - [PASS] - (@lumarel, @raktajino, @tcooper, semi-automatic, openQA)</li> <li>Update Image - [PASS] - (@raktajino,@tcooper, semi-automatic, openQA)</li> <li>Installer Help - [PASS] - (@lumarel, @raktajino, @tcooper, semi-automatic, openQA)</li> <li>Installer Translations - [PASS] - (@lumarel, @raktajino, @tcooper, semi-automatic, openQA)</li> </ul>"},{"location":"guidelines/release_criteria/r8/8.6_qa_testing_go_no_go/#cloud-image-requirements","title":"Cloud Image Requirements","text":"<ul> <li>Images Published to Cloud Providers - FAIL_NON_BLOCKING- (@neil)</li> </ul>"},{"location":"guidelines/release_criteria/r8/8.6_qa_testing_go_no_go/#post-installation-requirements","title":"Post-Installation Requirements","text":"<ul> <li>System Services - [PASS] - (@lumarel, semi-automatic, openQA)</li> <li>Keyboard Layout - [PASS] - (@lumarel, semi-automatic, openQA)</li> <li>SELinux Errors (Server) - [PASS] - (@lumarel, semi-automatic, openQA)</li> <li>SELinux and Crash Notifications (Desktop Only) - [PASS] - (@lumarel, semi-automatic, openQA)</li> <li>Default Application Functionality (Desktop Only) - [PASS] - (@lumarel, semi-automatic, openQA)</li> <li>Default Panel Functionality (Desktop Only) - [PASS] - (@lumarel, semi-automatic, openQA)</li> <li>Dual Monitor Setup (Desktop Only) - [PASS] - (@lumarel, semi-automatic, openQA)</li> <li>Artwork and Assets (Server and Desktop) - [PASS] - (@lumarel, semi-automatic, openQA)</li> <li>Packages and Module Installation - [PASS] - (@lumarel, semi-automatic, openQA)</li> </ul>"},{"location":"guidelines/release_criteria/r8/8.6_qa_testing_summary/","title":"Rocky Linux 8.6 QA and Testing Summary","text":"<p>Last updated: Fri May 13 17:36:41 UTC 2022</p>"},{"location":"guidelines/release_criteria/r8/8.6_qa_testing_summary/#scope","title":"Scope","text":"<p>This document will record a summary of all QA and Testing results for Rocky Linux 8.6 release. It is only a record of success and/or failure. Solution discussion should take place elsewhere.</p>"},{"location":"guidelines/release_criteria/r8/8.6_qa_testing_summary/#sop","title":"SOP","text":"<ul> <li>Please include PASS, FAIL, NOTABUG, INVESTIGATE or UPSTREAM as appropriate in all entries.</li> <li>Please only provide brief summary. Details should go to Rocky Pastebin, links here is OK.</li> <li>Especially for an negative result please leave your MM @handle so we can talk to you to get resolution.</li> <li>If the item you are reported is related to a QA:Testcase please mention it. If it should be a QA:Testcase, even if it's not a current requirement, suggest a title and create an issue in the wiki repository so we can add it.</li> </ul>"},{"location":"guidelines/release_criteria/r8/8.6_qa_testing_summary/#investigate","title":"INVESTIGATE","text":"<ul> <li>errors in all tests in openQA - INVESTIGATE - see openQA section below.</li> <li>INVESTIGATE whether kdump issue affects qcows with encrypted partitions in createhdds. These are pre-reqs for openQA multi-machine tests. NOTE: This is addressed below in section - @tcooper</li> <li>KDE and XFCE Life images are broken - INVESTIGATE - @label</li> </ul>"},{"location":"guidelines/release_criteria/r8/8.6_qa_testing_summary/#upstream","title":"UPSTREAM","text":"<ul> <li>Anaconda error when specific steps get executed in the right order (configure network -&gt; disable kdump -&gt; select some os install group -&gt; configure default storage -&gt; configure the storage a second time, but this time with encryption enabled, confirmed via several openqa test suites and manual installation on ESXi) - retested in RC1_2 - UPSTREAM - @lumarel</li> <li>Issue repeated on RHEL8.6 - @atomicturtle</li> <li>Issue reported to RH https://bugzilla.redhat.com/show_bug.cgi?id=2085321 - @stack</li> </ul>"},{"location":"guidelines/release_criteria/r8/8.6_qa_testing_summary/#fail","title":"FAIL","text":"<ul> <li>ESXi secureboot (x86_64) still FAILing, but expected - @lumarel</li> </ul>"},{"location":"guidelines/release_criteria/r8/8.6_qa_testing_summary/#notabug","title":"NOTABUG","text":"<ul> <li>Minimal: Selecting a SCAP profile with dependencies not available (aide, etc), selecting Ignore dependency during installation will crash anaconda at the final oscap check. NOTABUG, this is for documentation - @atomicturtle</li> <li>Minimal ISO: is missing the source for rsyslog again, and somehow also doesn't pull it in when installing, which means it is missing it after the install (doesn't happen for boot ISO and dvd1 ISO) - NOTABUG (per @label) - @lumarel</li> <li>Minimal ISO: if the server base environment is installed with the minimal iso and cockpit is enabled after the installation, the SELinux submenu shows an error \"semanage: command not found\" (doesn't happen with boot/dvd-iso) - also marked as expected - NOTABUG (per @label) - @lumarel</li> </ul>"},{"location":"guidelines/release_criteria/r8/8.6_qa_testing_summary/#manual-success-reported-in-mm","title":"Manual success reported in MM","text":"<ul> <li>minimal install from minimal ISO fine - PASS - @Luna Jernberg</li> <li>workstation (x86_64) install with applications fine - retested in RC1_2 - PASS - @lumarel</li> <li>all repos are available with the exact naming as they are in the rocky-repos package (nfv needs fix for that) - retested in RC1_2 - PASS - @lumarel</li> <li>packer build for 8.6 worked flawlessly - retested by @neil in RC1_2 - PASS - @gmazrael</li> <li>security profiles look good in anaconda UI - PASS - @atomicturtle (need openQA testing)</li> <li>minimal and dvd recognized as Rocky Linux 8 in KVM - PASS - @atomicturtle</li> <li>CIS profiles confirmed good in lvl1/2 in anaconda - PASS - @atomicturtle</li> <li>DISA profiles confirmed good in anaconda - PASS - @atomicturtle</li> <li>DVD: libvirt correctly boots when Rocky Linux 8 profile is selected - PASS - @atomicturtle</li> <li>SELinux checks on Server (x86_64) (letting it run for an hour and run sealert -a /var/log/audit/audit.log) - everything okay - retested in RC1_2 - PASS - @lumarel</li> <li>SELinux checks on Desktop (x86_64) (start the GNOME SETroubleshooter after some minutes of running) - everything okay - retested in RC1_2 - PASS - @lumarel</li> <li>DVD: Anaconda manual network configuration, and PCI-DSS SCAP profile selected confirmed good - PASS - @atomicturtle</li> <li>QA:Testcase_Mediacheck - PASS for all x86_64 ISOs - @tcooper</li> <li>QA:Testcase_Mediacheck - PASS for all aarch64 ISOs - @tcooper</li> <li>QA:Testcase Media Repoclosure - PASS for minimal &amp; dvd1 for x86_64 &amp; aarch64 (confirms RelEng results) - @tcooper</li> <li>QA:Testcase Media File Conflicts - PASS for minimal for x86_64 &amp; aarch64 (0 file conflicts found and 0 package conflicts found) - @tcooper</li> <li>QA:Testcase Basic Graphics Mode - PASS - verified manually for Rocky-8.6-x86_64-dvd1.iso in VirtualBox on macOS X - @tcooper</li> <li>DVD: Anaconda install with 3rd party repo, encrypted filesystem, HIPAA SCAP profile selected, confirmed good - PASS - @atomicturtle</li> <li>Upgrade tests on several test machines from 8.5 to 8.6, no issues no SELinux alerts - PASS - @lumarel</li> <li>All module streams except perl:5.32 and log4j:2 correctly have the dependencies set and packages look to be built correctly - PASS - @lumarel</li> <li>log4j module stream was broken, (should be able to hook against java-8 and 11) - got fixed now in RC1_2 - PASS - @lumarel</li> <li>Anything perl 5.32 (module stream) was broken - got fixed in RC1_2 - PASS - @nazunalika</li> <li>Greenbone appliance installation test (https://rpa.st/DQNA) - PASS - @atomicturtle</li> <li>QA:Testcase Debranding for RC2 content from koji (srpms, kernel-rt and pcs are not all on the dvd1) - 46/47 PASS , 1 FALSE PASS - https://rpa.st/raw/QK3A - @tcooper</li> <li>QA:Testcase Media Consistency Verification (not written yet) for all RC2 ISOs x86_64, aarch64 - PASS - @tcooper</li> <li>QA:Testcase Media File Conflicts - EXPECTED(per @label) for Rocky-8.6-x86_64-dvd1.iso (4 file conflicts found and 13 package conflicts found, these appear to be same as 8.5 conflict between mariadb and mysql packages/files, full results - https://rpa.st/raw/ZWPQ) - @tcooper</li> <li>QA:Testcase Media File Conflicts - EXPECTED(per @label) for Rocky-8.6-aarch64-dvd1.iso (modular dependency problems, 3 file conflicts found 4 package conflicts found, full results - https://rpa.st/raw/KOFQ) - @tcooper</li> <li>QA:Testcase Media File Conflicts for both x86_64 (https://rpa.st/raw/NLGA) and aarch64 (https://rpa.st/raw/4SFQ) are essentially unchanged and remain - EXPECTED(per @label) with RC1_2 ISOs. - @tcooper</li> <li>OpenQA tests @lumarel - there are errors from the test cases, but everything image and repo related looks good - PASS - @lumarel</li> <li>the dvd1 iso of aarch64 doesn't show an workstation base environment - it doesn't have an workstation environment - PASS - @lumarel</li> <li>Installs of aarch64 systems of all 3 isos look good and installs with all base environments work as expected from these - PASS - @lumarel</li> <li>Live Image Workstation and Workstation Lite looks good - PASS - @lumarel</li> <li>QA:Testcase Boot Methods Boot Iso - PASS - @neil</li> <li>QA:Testcase Boot Methods DVD - PASS - @neil</li> <li>QA: Testcase boot/install minimal x86_64 over DVD/Bluray (burned with fedora mediawriter) on G752 ASUS laptop - PASS - @atomicturtle</li> <li>Container images for x86_64 and aarch64 work as expected in Docker, Podman and WSL - PASS - @lumarel</li> <li>QA: Testcase Storage Volume Resize - PASS - @raktajino https://rpa.st/MQSA</li> <li>QA: Testcase Update Image - PASS - @raktajino (manually checked against Fedora's testcase (https://fedoraproject.org/wiki/QA:Testcase_Anaconda_updates.img_via_URL), needles also still match in openQA)</li> </ul>"},{"location":"guidelines/release_criteria/r8/8.6_qa_testing_summary/#openqa-summary","title":"openQA summary","text":"<ul> <li>errors in all tests in openQA - INVESTIGATE</li> <li>RC1_1 run 1:<ul> <li>@lumarel: https://rpa.st/CCPQ</li> <li>@raktajino: https://rpa.st/5RVA</li> </ul> </li> <li>RC1_1 run 2<ul> <li>@lumarel: https://rpa.st/FWTQ</li> <li>@raktajino:</li> </ul> </li> <li>RC1_2 run 1:<ul> <li>@lumarel: https://rpa.st/EOGQ</li> </ul> </li> <li>@raktajino:https://rpa.st/VHLQ<ul> <li>RC1_2 run 2:</li> </ul> </li> <li>@raktajino: https://rpa.st/DKCQ</li> <li>Upgrade F35 -&gt; F36 needs postgresql-setup --upgrade to convert openqa databse to new format - @alangm</li> <li>Per discussion in Testing Team meeting we have 4-8 (ish) issues to fix in openQA (needles and code) to be able to complete all tests. @lumarel has created issues our openQA repo (https://github.com/rocky-linux/os-autoinst-distri-rocky) and we'll pick up and resolve ASAP.</li> </ul>"},{"location":"guidelines/release_criteria/r8/8.6_qa_testing_summary/#createhdds-kickstart-file-test-summary","title":"createhdds kickstart file test summary","text":"<p>Test method: Used packer to build VM. Booted VM. Verified root login. Shutdown VM.</p> <ul> <li>UEFI Testing:<ul> <li>desktop.ks - PASS - Note: resulting image asks for EULA acceptance when booted due to <code>firstboot --enable</code> (unsure if that is desired behavior)</li> <li>desktopencrypt.ks - PASS - Note: resulting image asks for EULA acceptance when booted due to <code>firstboot --enable</code> (unsure if that is desired behavior)</li> <li>minimal-uefi.ks - PASS</li> <li>server.ks - PASS</li> <li>support.ks - PASS</li> </ul> </li> <li>BIOS Testing:<ul> <li>desktop.ks - PASS - Note: resulting image asks for EULA acceptance when booted due to <code>firstboot --enable</code> (unsure if that is desired behavior)</li> <li>desktopencrypt.ks - PASS - Note: resulting image asks for EULA acceptance when booted due to <code>firstboot --enable</code> (unsure if that is desired behavior)</li> <li>minimal.ks - PASS</li> <li>server.ks - PASS</li> <li>support.ks - PASS</li> </ul> </li> </ul>"},{"location":"guidelines/release_criteria/r8/8_release_criteria/","title":"Rocky Linux 8 Final Release Objectives","text":"<p>The objective of a release (major or minor) is to provide a solid Enterprise Linux release that is suitable to:</p> <ul> <li>Meet the needs of end users</li> <li>Meet the needs of enterprises big or small</li> </ul>"},{"location":"guidelines/release_criteria/r8/8_release_criteria/#rocky-linux-8-final-release-requirements","title":"Rocky Linux 8 Final Release Requirements","text":"<p>In order for Rocky Linux to be released to the general public, a compose must be able to meet all the following criteria as provided in this document. This is allows the decision process to be straightforward and as clear as possible. This document only contains \u201chard requirement\u201d items. Optional/nice to have items are not to be included in this list.</p> <p>There may cases where a requirement cannot be met but only in particular configurations. In these types of cases, the Release Engineering Team should use their judgement to determine whether or not the issue should be considered to block the release. They should consider the number of users likely to be affected by said issue, the severity of the case, if the issue can be avoided with ease (by both informed and uninformed users), and if the problem exists upstream in the current Red Hat Enterprise Linux that the release is based on.</p> <p>Release-blocking Server</p> <p>...means bugs as it pertains to server functionality can be considered to block a release. This applies to any packages that provide a service such as httpd, nginx, etc. All architectures apply.</p> <p>Release-blocking Desktop</p> <p>...means bugs as it pertains to desktop functionality (GNOME) can be considered to block a release. This applies to both x86_64 and aarch64. Additional desktops (as provided by EPEL or a SIG) are not considered blockers.</p> <p>Release-blocking Image</p> <p>...means bugs as it pertains to the images built that can block a release. This applies to the DVD, minimal, and boot images on all architectures.</p>"},{"location":"guidelines/release_criteria/r8/8_release_criteria/#initialization-requirements","title":"Initialization Requirements","text":""},{"location":"guidelines/release_criteria/r8/8_release_criteria/#release-blocking-images-must-boot","title":"Release-blocking images must boot","text":"<p>Release-blocking installer images must boot when written to optical media or USB flash drive of appropriate sizes (if applicable) via officially supported methods. It is not the testing team\u2019s responsibility to test optical media, but they can and report back. If a bug is found, it is considered a blocker.</p> Optical Media Requirements <p>Release-blocking images must boot when written to optical media of an appropriate size. Current size requirements are: boot.iso = 789M, minimal.iso = 2.0G and dvd.iso = 10G.</p> Officially supported USB flash drive writing methods <p>The following methods of writing USB flash drives are officially support: dd The following methods of writing USB flash drives are not supported: rufus</p> References <ul> <li>Test cases:<ul> <li>QA:Testcase Boot Methods Boot ISO</li> <li>QA:Testcase Boot Methods DVD</li> <li>QA:Testcase Media USB dd</li> </ul> </li> </ul>"},{"location":"guidelines/release_criteria/r8/8_release_criteria/#basic-graphics-mode-behaviors","title":"Basic Graphics Mode behaviors","text":"<p>The generic video driver option (\u201cbasic graphics mode\u201d) on all release-blocking installers must function as intended. This means launching the installer or desktop and attempting to use a generic driver. There must be no bugs that prevent the installer from being reached in this configuration on all systems and classes of hardware supported by the enterprise linux kernel.</p> References <ul> <li>Test cases:<ul> <li>QA:Testcase Basic Graphics Mode</li> </ul> </li> </ul>"},{"location":"guidelines/release_criteria/r8/8_release_criteria/#no-broken-packages","title":"No Broken Packages","text":"<p>Critical errors, such as undeclared conflicts, unresolved dependencies, or modules relying on packages from another stream will be considered an automatic blocker. There are potential exceptions to this (eg, freeradius cannot be installed on an older perl stream, this is a known issue upstream).</p> References <ul> <li>Test cases:<ul> <li>QA:Testcase Media Repoclosure</li> <li>QA:Testcase Media File Conflicts</li> </ul> </li> </ul>"},{"location":"guidelines/release_criteria/r8/8_release_criteria/#repositories-must-match-upstream","title":"Repositories Must Match Upstream","text":"<p>Repositories and the packages within them should match upstream as closely as possible. Notable exceptions would be kmods, kpatch, or what is deemed as \u201cspyware\u201d like insights. Packages that are available from upstream should not have hard requirements on RHSM and packages that have it default built in should be patched out.</p> References <ul> <li>Test cases:<ul> <li>QA:Testcase Repo Compare</li> <li>QA:Testcase Packages No Insights</li> <li>QA:Testcase Packages No RHSM</li> </ul> </li> </ul>"},{"location":"guidelines/release_criteria/r8/8_release_criteria/#debranding","title":"Debranding","text":"<p>Assets and functionality that are Red Hat specific should not be included. If they are not patched out, it will be considered an automatic blocker.</p> References <ul> <li>Test cases:<ul> <li>QA:Testcase Debranding</li> </ul> </li> </ul>"},{"location":"guidelines/release_criteria/r8/8_release_criteria/#installer-requirements","title":"Installer Requirements","text":""},{"location":"guidelines/release_criteria/r8/8_release_criteria/#media-consistency-verification","title":"Media Consistency Verification","text":"<p>This means that the installer\u2019s mechanism for verifying the install medium is intact and must complete successfully, with the assumption that the medium was correctly written. It should return a failure message if this not the case.</p> References <ul> <li>Test cases:<ul> <li>QA:Testcase Media USB dd</li> <li>QA:Testcase Boot Methods Boot ISO</li> <li>QA:Testcase Boot Methods DVD</li> </ul> </li> </ul>"},{"location":"guidelines/release_criteria/r8/8_release_criteria/#packages-and-installer-sources","title":"Packages and Installer Sources","text":"<p>The installer must be able to use all supported local/remote packages and installer sources.</p> References <ul> <li>Test cases:<ul> <li>QA:Testcase Packages and Installer Sources</li> </ul> </li> </ul>"},{"location":"guidelines/release_criteria/r8/8_release_criteria/#nas-network-attached-storage","title":"NAS (Network Attached Storage)\"","text":"<p>The installer must be able to detect and install to supported NAS devices (if possible and supported by the kernel).</p> References <ul> <li>Test cases:<ul> <li>QA:Testcase Network Attached Storage</li> </ul> </li> </ul>"},{"location":"guidelines/release_criteria/r8/8_release_criteria/#installation-interfaces","title":"Installation Interfaces","text":"<p>The installer must be able to complete an installation using all supported spokes.</p> References <ul> <li>Test cases:<ul> <li>QA:Testcase Installation Interfaces</li> </ul> </li> </ul>"},{"location":"guidelines/release_criteria/r8/8_release_criteria/#minimal-installation","title":"Minimal Installation","text":"<p>A minimal installation (via network) must be able to install the minimal package set.</p> References <ul> <li>Test cases:<ul> <li>QA:Testcase Minimal Installation</li> </ul> </li> </ul>"},{"location":"guidelines/release_criteria/r8/8_release_criteria/#kickstart-installation","title":"Kickstart Installation","text":"<p>A kickstart installation should succeed, whether from optical/USB media or via the network.</p> References <ul> <li>Test cases:<ul> <li>QA:Testcase Kickstart Installation</li> </ul> </li> </ul>"},{"location":"guidelines/release_criteria/r8/8_release_criteria/#disk-layouts","title":"Disk Layouts","text":"<p>The installer must be able to create and install to any workable partition layout using any file system or format combination offered or supported by the installer. File systems that are not supported by the EL kernel is not tested here (this means btrfs, zfs, both of wish are not supported).</p> References <ul> <li>Test cases:<ul> <li>QA:Testcase Disk Layouts</li> </ul> </li> </ul>"},{"location":"guidelines/release_criteria/r8/8_release_criteria/#firmware-raid","title":"Firmware RAID","text":"<p>The installer must be able to detect and install to firmware RAID devices. Note that system-specific bugs do not count as blockers. It is likely that some hardware support might be broken or not available at all. DUDs (driver update disks) are not considered for this criteria.</p> References <ul> <li>Test cases:<ul> <li>QA:Testcase Firmware RAID</li> </ul> </li> </ul>"},{"location":"guidelines/release_criteria/r8/8_release_criteria/#bootloader-disk-selection","title":"Bootloader Disk Selection","text":"<p>The installer must allow the user to choose which disk the bootloader will be installed to or, if the user so chooses, not to install a bootloader.</p> References <ul> <li>Test cases:<ul> <li>QA:Testcase Bootloader Disk Selection</li> </ul> </li> </ul>"},{"location":"guidelines/release_criteria/r8/8_release_criteria/#storage-volume-resize","title":"Storage Volume Resize","text":"<p>Any installer mechanism for resizing storage volumes must correctly attempt the requested operation. This means that if the installer offers a way to resize storage volumes, then it must use the correct resizing tool with the correct parameters. However, it does not require the installer to disallow resizing of unformatted or volumes with an unknown filesystem type.</p> References <ul> <li>Test cases:<ul> <li>QA:Testcase Storage Volume Resize</li> </ul> </li> </ul>"},{"location":"guidelines/release_criteria/r8/8_release_criteria/#update-image","title":"Update Image","text":"<p>The installer must be able to use an installer update image retrieved from removable media or a remote package source. This includes DUDs (driver update disks).</p> References <ul> <li>Test cases:<ul> <li>QA:Testcase Update Image</li> </ul> </li> </ul>"},{"location":"guidelines/release_criteria/r8/8_release_criteria/#installer-help","title":"Installer Help","text":"<p>Any element in the installer which contains a \u201chelp\u201d text must display the appropriate help documentation when selected.</p> References <ul> <li>Test cases:<ul> <li>QA:Testcase Installer Help</li> </ul> </li> </ul>"},{"location":"guidelines/release_criteria/r8/8_release_criteria/#installer-translations","title":"Installer Translations","text":"<p>The installer must correctly display all complete translations that are available for use.</p> References <ul> <li>Test cases:<ul> <li>QA:Testcase Installer Translations</li> </ul> </li> </ul>"},{"location":"guidelines/release_criteria/r8/8_release_criteria/#cloud-image-requirements","title":"Cloud Image Requirements","text":""},{"location":"guidelines/release_criteria/r8/8_release_criteria/#images-published-to-cloud-providers","title":"Images Published to Cloud Providers","text":"<p>Release-blocking cloud disk images must be published to appropriate cloud providers (such as Amazon) and they must successfully boot. This also applies to KVM based instances, such as x86 and aarch64 systems.</p> References <ul> <li>Test cases:<ul> <li>QA:Testcase TBD</li> </ul> </li> </ul>"},{"location":"guidelines/release_criteria/r8/8_release_criteria/#post-installation-requirements","title":"Post-Installation Requirements","text":""},{"location":"guidelines/release_criteria/r8/8_release_criteria/#system-services","title":"System Services","text":"<p>All system services present after installation must start properly, with the exception of services that require hardware which is not present. Examples of such services would be:</p> <ul> <li>sshd</li> <li>firewalld</li> <li>auditd</li> <li>chronyd</li> </ul> References <ul> <li>Test cases:<ul> <li>QA:Testcase System Services</li> </ul> </li> </ul>"},{"location":"guidelines/release_criteria/r8/8_release_criteria/#keyboard-layout","title":"Keyboard Layout","text":"<p>If a particular keyboard layout has been configured for the system, that layout must be used:</p> <ul> <li>When unlocking storage volumes (encrypted by LUKS)</li> <li>When logging in at a TTY console</li> <li>When logging in via GDM</li> <li>After logging into a GNOME desktop system, if the user does not have their own layout configuration set.</li> </ul> References <ul> <li>Test cases:<ul> <li>QA:Testcase Keyboard Layout</li> </ul> </li> </ul>"},{"location":"guidelines/release_criteria/r8/8_release_criteria/#selinux-errors-server","title":"SELinux Errors (Server)","text":"<p>There must be no SELinux denial logs in /var/log/audit/audit.log</p> References <ul> <li>Test cases:<ul> <li>QA:Testcase SELinux Errors on Server installations</li> </ul> </li> </ul>"},{"location":"guidelines/release_criteria/r8/8_release_criteria/#selinux-and-crash-notifications-desktop-only","title":"SELinux and Crash Notifications (Desktop Only)","text":"<p>There must be no SELinux denial notifications or crash notifications on boot, during installation, or during first login.</p> References <ul> <li>Test cases:<ul> <li>QA:Testcase SELinux Errors on Desktop clients</li> </ul> </li> </ul>"},{"location":"guidelines/release_criteria/r8/8_release_criteria/#default-application-functionality-desktop-only","title":"Default Application Functionality (Desktop Only)","text":"<p>Applications that can be launched within GNOME or on the command line must start successfully and withstand basic functionality tests. This includes:</p> <ul> <li>Web browser</li> <li>File manager</li> <li>Package manager</li> <li>Image/Document Viewers</li> <li>Text editors (gedit, vim)</li> <li>Archive manager</li> <li>Terminal Emulator (GNOME Terminal)</li> <li>Problem Reporter</li> <li>Help Viewer</li> <li>System Settings</li> </ul> References <ul> <li>Test cases:<ul> <li>QA:Testcase Application Functionality</li> </ul> </li> </ul>"},{"location":"guidelines/release_criteria/r8/8_release_criteria/#default-panel-functionality-desktop-only","title":"Default Panel Functionality (Desktop Only)","text":"<p>All elements of GNOME should function properly in regular use.</p> References <ul> <li>Test cases:<ul> <li>QA:Testcase GNOME UI Functionality</li> </ul> </li> </ul>"},{"location":"guidelines/release_criteria/r8/8_release_criteria/#dual-monitor-setup-desktop-only","title":"Dual Monitor Setup (Desktop Only)","text":"<p>Computers using two monitors, the graphical output is correctly shown on both monitors.</p> References <ul> <li>Test cases:<ul> <li>QA:Testcase Multimonitor Setup</li> </ul> </li> </ul>"},{"location":"guidelines/release_criteria/r8/8_release_criteria/#artwork-and-assets-server-and-desktop","title":"Artwork and Assets (Server and Desktop)","text":"<p>Proposed final artwork (such as wallpapers and other assets) must be included. A wallpaper from this package should show up as a default for GDM and GNOME.</p> References <ul> <li>Test cases:<ul> <li>QA:Testcase Artwork and Assets</li> </ul> </li> </ul>"},{"location":"guidelines/release_criteria/r8/8_release_criteria/#packages-and-module-installation","title":"Packages and Module Installation","text":"<p>Packages (non-module) should be able to be installed without conflicts or dependent on repositories outside of Rocky Linux.</p> <ul> <li>Default modules (as listed in dnf module list) should be installed without requiring them to be enabled.</li> <li>Module streams should be able to be switched and those packages should be able to be installed without errors or unresolved dependencies.</li> </ul> References <ul> <li>Test cases:<ul> <li>QA:Testcase Basic Package installs</li> <li>QA:Testcase Module Streams</li> </ul> </li> </ul>"},{"location":"guidelines/release_criteria/r8/8_release_criteria/#identity-management-server-setup","title":"Identity Management Server Setup","text":"<p>It should be possible to setup a IdM server (FreeIPA), use it's functionality and connect clients.</p> References <ul> <li>Test cases<ul> <li>QA:Testcase Identity Management</li> </ul> </li> </ul> Additional Information ContactDisclaimerAttributionLicense <p>If you have questions with respect to this content or to report concerns regarding the use or misuse content please do not hesitate to contact us at testing@rockylinux.org.</p> <p>Rocky Linux and the Rocky Enterprise Software Foundation (RESF) does not make any express or implied warranties, including but not limited to the warranties of non-infringement of any third party intellectual property rights. RESF does not warrant that any pending trademark applications for trademarks of RESF will result in any granted trademark protection. RESF shall not be liable for any claims relating to user's activities falling within the scope of the permission and user hereby agrees to indemnify, defend and hold RESF and its contributors harmless against any such claim.</p> <p>This work is heavily inspired by the Fedora Release Requirements documents which were made available under Attribution-Share Alike 4.0 International license unless otherwise noted.</p> <p>This content is licensed under under Attribution-Share Alike 4.0 International license unless otherwise noted.</p>"},{"location":"guidelines/release_criteria/r9/9.0_qa_testing_go_no_go/","title":"Rocky Linux 9 QA and Testing : GO / NO GO Status","text":"<p>This document summarizes the GO / NO GO Status for Release of Rocky Linux 9.0 from perspective of the QA / Testing efforts. It is based largely on the Release Criteria (https://wiki.rockylinux.org/team/testing/release_criteria/) as was started as an import of that document. If there are differences between the official Release Critieria document and this document the official Release Criteria document will override and this document shall be updated.</p> <p>As a reminder, the objective of a release (major or minor) is to provide a solid Enterprise Linux release that is suitable to: - Meet the needs of end users - Meet the needs of enterprises big or small</p>"},{"location":"guidelines/release_criteria/r9/9.0_qa_testing_go_no_go/#summary","title":"SUMMARY","text":"Category Proportion Remaining Items TO_CONFIRM 1 / 29 (3%) Firmware RAID PASS 28/ 29 (97%) FAIL_NON_BLOCKING 0 / 29 (0%) FAIL_BLOCKING 0 / 29 (0%)"},{"location":"guidelines/release_criteria/r9/9.0_qa_testing_go_no_go/#sop","title":"SOP","text":"<p>In this document each requirement is described and status is specified in the title.</p> <p>Current choices are...</p>"},{"location":"guidelines/release_criteria/r9/9.0_qa_testing_go_no_go/#to_confirm","title":"TO_CONFIRM","text":"<ul> <li>this means the item may be INCOMPLETE, PASS, FAIL_NON_BLOCKING or FAIL_BLOCKING and must be verified</li> </ul>"},{"location":"guidelines/release_criteria/r9/9.0_qa_testing_go_no_go/#pass","title":"PASS","text":"<ul> <li>this means that the release criteria has been met and is not a blocker</li> </ul>"},{"location":"guidelines/release_criteria/r9/9.0_qa_testing_go_no_go/#fail_non_blocking","title":"FAIL_NON_BLOCKING","text":"<ul> <li>this means the release criter has not been met but is non-blocking</li> </ul>"},{"location":"guidelines/release_criteria/r9/9.0_qa_testing_go_no_go/#fail_blocking","title":"FAIL_BLOCKING","text":"<ul> <li>this means the release criteria has not been met and is blocking</li> </ul> <p>In this document criteria status should include who completed the item and generally how it was complete.</p> <p>Examples...</p> <ul> <li>PASS - (@tcooper, virt only, manual)</li> <li>PASS - (@lumarel, @raktajino, @tcooper, semi-automatic , openQA)</li> </ul>"},{"location":"guidelines/release_criteria/r9/9.0_qa_testing_go_no_go/#initialization-requirements","title":"Initialization Requirements","text":"<ul> <li>Release-blocking images must boot - PASS - (@neil, @atomicturtle, @lumarel)</li> <li>Optical Media Requirements - PASS - (@neil)</li> <li>Basic Graphics Mode behaviors - PASS - (@tcooper, virt only, manual)</li> <li>No Broken Packages - PASS - (@tcooper, scripted, manual)</li> <li>Repositories Must Match Upstream - PASS - (@tcooper, manual)</li> <li>Debranding - PASS - (@tcooper, scripted, manual)</li> <li>Media Consistency Verification - PASS - (@tcooper, scripted, manual)</li> <li>Packages and Installer Sources - PASS - (@lumarel, semi-automatic, openQA test)</li> <li>NAS (Network Attached Storage) - PASS - (@stack, manual)</li> <li>Installation Interfaces - PASS - (@lumarel, @raktajino, @tcooper, semi-automatic, openQA, @atomicturtle, manual?, SCAP)</li> <li>Minimal Installation - PASS - (@lumarel, @raktajino, @tcooper, semi-automatic , openQA)</li> <li>Kickstart Installation - PASS - (@label, @tcooper, manual, createhdds)</li> <li>Disk Layouts - PASS - (@lumarel, @raktajino, @tcooper, semi-automatic, openQA)</li> <li>Firmware RAID - TO_CONFIRM - (@tbd, missing hardware support?)</li> <li>Bootloader Disk Selection - PASS - (@raktajino, manual)</li> <li>Storage Volume Resize - PASS - (@lumarel, @raktajino, @tcooper, semi-automatic, openQA)</li> <li>Update Image - PASS - (@raktajino,@tcooper, semi-automatic, openQA)</li> <li>Installer Help - PASS - (@lumarel, @raktajino, @tcooper, semi-automatic, openQA)</li> <li>Installer Translations - PASS - (@lumarel, @raktajino, @tcooper, semi-automatic, openQA)</li> </ul>"},{"location":"guidelines/release_criteria/r9/9.0_qa_testing_go_no_go/#cloud-image-requirements","title":"Cloud Image Requirements","text":"<ul> <li>Images Published to Cloud Providers - PASS - (@neil)</li> </ul>"},{"location":"guidelines/release_criteria/r9/9.0_qa_testing_go_no_go/#post-installation-requirements","title":"Post-Installation Requirements","text":"<ul> <li>System Services - PASS - (@lumarel, semi-automatic, openQA)</li> <li>Keyboard Layout - PASS - (@lumarel, semi-automatic, openQA)</li> <li>SELinux Errors (Server) - PASS - (@lumarel, semi-automatic, openQA)</li> <li>SELinux and Crash Notifications (Desktop Only) - PASS - (@lumarel, semi-automatic, openQA)</li> <li>Default Application Functionality (Desktop Only) - PASS - (@lumarel, semi-automatic, openQA)</li> <li>Default Panel Functionality (Desktop Only) - PASS - (@lumarel, semi-automatic, openQA)</li> <li>Dual Monitor Setup (Desktop Only) - PASS - (@lumarel, semi-automatic, openQA)</li> <li>Artwork and Assets (Server and Desktop) - PASS - (@lumarel, semi-automatic, openQA)</li> <li>Packages and Module Installation - PASS - (@lumarel, semi-automatic, openQA)</li> </ul>"},{"location":"guidelines/release_criteria/r9/9.0_qa_testing_summary/","title":"Rocky Linux 9 QA and Testing Summary","text":"<p>Last updated:"},{"location":"guidelines/release_criteria/r9/9.0_qa_testing_summary/#scope","title":"Scope","text":"<p>This document will record a summary of all QA and Testing results for Rocky Linux {{ no such element: dict object[9] }} release. It is only a record of success and/or failure. Solution discussion should take place elsewhere.</p>"},{"location":"guidelines/release_criteria/r9/9.0_qa_testing_summary/#reference","title":"Reference","text":"<ul> <li>Please check RHEL 9 Release Notes BEFORE marking issue here as FAIL.</li> </ul>"},{"location":"guidelines/release_criteria/r9/9.0_qa_testing_summary/#sop","title":"SOP","text":"<ul> <li>Please include PASS, FAIL, NOTABUG, INVESTIGATE or UPSTREAM as appropriate in all entries.</li> <li>Please only provide brief summary. Details should go to Rocky Pastebin, links here is OK.</li> <li>Please leave your MM @handle on all items you have done or are working on so we can talk to you to get resolution.</li> <li>If the item you have reported is related to a QA:Testcase please mention it.</li> <li>If you think the item you have reported should be a QA:Testcase, even if it's not a current requirement, suggest a title and create an issue in the wiki repository so we can add it.</li> </ul>"},{"location":"guidelines/release_criteria/r9/9.0_qa_testing_summary/#investigate","title":"INVESTIGATE","text":"<p>This is a list of items that are being INVESTIGATEd further before being assigned a PASS, FAIL, NOTABUG or UPSTREAM status. PLEASE add your MM handle if you are working on this item to minimize duplication of work. More than one handle is allowed but please communicate.</p> <ul> <li>QA:Testcase Firmware RAID - [INVESTIGATE] - @neil</li> </ul>"},{"location":"guidelines/release_criteria/r9/9.0_qa_testing_summary/#upstream","title":"UPSTREAM","text":"<p>This is a list of items that have been verified to be replicated UPSTREAM in RHEL {{ no such element: dict object[9] }} and/or are described clearly in the RHEL 9 Release Notes.</p> <ul> <li>QA:Testcase_Some_Testcase - [UPSTREAM] - @your_mm_handle -"},{"location":"guidelines/release_criteria/r9/9.0_qa_testing_summary/#fail","title":"FAIL","text":"<p>This is a list of items that have been verified to FAIL the QA:Testcase. In addition to recording who did the test please indicate if the item is BLOCKING release or not.</p> <ul> <li>QA:Testcase_Some_Testcase - [FAIL] - @your_mm_handle - <li>RC1 - The blue side banner background at the left side of the Anaconda installer display is not displaying correctly in virt-viewer. [minor BUG] - @alangm</li>"},{"location":"guidelines/release_criteria/r9/9.0_qa_testing_summary/#notabug","title":"NOTABUG","text":"<p>This is a list of items that have been verified as less than optimal but are expected and NOTABUG.</p> <ul> <li>QA:Testcase Basic Graphics Mode - [DEPRICATED] - @tcooper</li> </ul>"},{"location":"guidelines/release_criteria/r9/9.0_qa_testing_summary/#pass","title":"PASS","text":"<p>This is a list of item that have been verified as PASSing the QA:Testcase named (or proposed).</p> <ul> <li>QA:Testcase_Debranding - [PASS] - @tcooper - preliminary pass based on Peridot yumrepofs</li> <li>RC1 - QA:Testcase System Services - [PASS] - @lumarel - tested with boot-iso and every base environment</li> <li>RC1 - Basic Installs - [PASS] - @lumarel - Installs of all base environments on x86_64 without additional optional package groups</li> <li>RC1 - QA:Testcase Packages and Installer Sources - [PASS] - @raktajino - tested against RC1-boot-iso in openQA, all package sets pass.</li> <li>RC1 - QA:Testcase GNOME UI Functionality - [PASS] - @lumarel - Nothing to mention</li> <li>RC1 - QA:Testcase SELinux Errors on Server - [PASS] - @lumarel - no errors</li> <li>RC1 - QA:Testcase SELinux Errors on Desktop- [PASS] - @lumarel - no errors</li> <li>RC1 - QA:Testcase Artwork and Assets - [PASS] - @lumarel - everything looks correct</li> <li>RC1 - QA:Testcase Minimal Installation - [PASS] - @raktajino - nothing to report</li> <li>RC1 - QA: Testcase Boot Methods Boot Iso - [PASS] - @alangm - minimal system, graphical server &amp; basic workstation - nothing to report except as above ^^^</li> <li>RC1 - Minimal install on QEMU/KVM passing - [PASS] - @boris - reboot takes slightly longer on the first reboot</li> <li>RC1 - Repo Health Check - [PASS] - @lumarel - sqlite database files for repo metadata is missing up to now, which will hinder some applications from syncing the sources - are implemented</li> <li>RC1 - Repo Health Check - [PASS] - @lumarel - metadata signing not implemented up to now - looks to be implemented as well now</li> <li>RC1 - Repo Health Check - [PASS] - @lumarel - Repos look good now excl. BaseOS of aarch64, ppc64le, s390x, where the boot image is missing, which is referenced in the .treeinfo</li> <li>RC1 - Redesign looks to be broken (Post-Install error, effects some of the install groups) - [PASS] - @lumarel</li> <li>RC1 - Workstation install with known pesign bug - [PASS] - @alangm - error window \"Exit Installer\" button froze Anaconda instead of exit so had to initiate shutdown from cockpit - @lumarel - fixed!</li> <li>RC1 - Building packages with mock - [PASS] - @hbjy - building works with the mock config from sokels' repo (will be upstreamed for release)</li> <li>RC1 - Install apache + mariadb-server - [PASS] - @sspencerwire - mariadb-secure-installation works, nextcloud install on top as well</li> <li>RC1 - Install works on macOS M1 - [PASS] - @netwaze, @gardo984, @jordan_c</li> <li>RC1 - Install on baremetal went well - [PASS] - @alangm - on a Dell T630</li> <li>RC1 - Install went well - [PASS] - @kars88 - there was some flickering during the install</li> <li>RC1.1 dvd - STIG security - [PASS] - @atomicturtle - packages were not complete in RC1 dvd, but are now in RC1.1</li> <li>RC1.1 - Basic installs work - [PASS] - @mkahric - Virtualbox on Windows (UEFI w/o SB), Workstation Player on Windows (UEFI w/ SB), Hyper-V (UEFI w/ SB)</li> <li>RC1.1 - docker installation with ansible works - [PASS] - @gardo984</li> <li>RC1 - Repo Health Check - [PASS] - @lumarel - all repos (x86_64, aarch64, ppc64le, s390x) look good now, all metadata is healthy and all package checksums match</li> <li>RC1.1 - QA:Testcase Multimonitor Setup - [PASS] - @lumarel - looks good</li> <li>RC1.1 - QA:Testcase Artwork and Assets - [PASS] - @lumarel - no issues found</li> <li>RC1.1 - QA:Testcase GNOME UI Functionality - [PASS] - @lumarel - everything behaves as it should</li> <li>RC1.1 - QA:Testcase SELinux Errors on Desktop - [PASS] - @lumarel - After an hour of usage no errors</li> <li>RC1.1 - QA:Testcase Keyboard Layout - [PASS] - @lumarel - OpenQA tests and manual tests show normal behavior</li> <li>RC1.1 - QA:Testcase SELinux Errors on Server - [PASS] - @lumarel - after more than an hour of runtime with several installs and application setups (missing, Katello bootstrap, which once brought some SELinux errors)</li> <li>RC1.1 - QA:Testcase System Services - [PASS] - @lumarel - no errors</li> <li>RC1.1 - QA: Testcase Installation Interfaces - [PASS] - @raktajino - failures on the Welcome Tour screen because we haven't handled it yet. Everything else seems good.</li> <li>RC1.1 - QA:Testcase Installer Help - [PASS] - @raktajino - no errors</li> <li>RC1.1 - QA: Testcase Disk Layouts - [PASS] - @raktajino - Assorted post-install failures due to either mismatch between console login and GUI login or unhandled Welcome Tour.</li> <li>RC1.1 - QA: Testcase Kickstart Installation - [PASS] - @raktajino - Executed manually with virt-install. Nothing to report.</li> <li>RC1.1 - QA: Testcase Update Image - [PASS] - @raktajino - failure on _console_wait_login as the GUI login screen is displayed. Update image is applied as expected.</li> <li>RC1.1 - QA:Testcase VNC Graphics Mode - [PASS] - @tcooper</li> <li>RC1.1 - QA:Testcase Basic Package installs - [PASS] - @lumarel - All package sets and services tested which are currently on the blocking list</li> <li>RC1.1 - QA:Testcase Application Functionality - [PASS] - @lumarel - everything looks good</li> <li>RC1/RC1.1 - QA:Testcase_Mediacheck - [PASS] - @tcooper</li> <li>RC1/RC1.1 - QA:Testcase Media Consistency Verification - [PASS] - @tcooper</li> <li>RC1.1 - QA:Testcase Media Repoclosure - [PASS] - @tcooper</li> <li>RC1.1 - QA:Testcase Media File Conflicts - [PASS] - @tcooper</li> <li>RC1.1 - QA: Testcase Bootloader Disk Selection - [PASS] - @raktajino</li> <li>RC1.1 - QA: Testcase Installer Translations - [PASS] - @raktajino</li> <li>RC1.1 - QA: Testcase Network Attached Storage - [PASS] - @Stack</li> <li>QA: Testcase Boot Methods Boot ISO - [PASS] - all of us &lt;3</li> <li>QA: Testcase Boot Methods DVD - [PASS] - todos nosotros &lt;3</li> <li>QA:Testcase Cloud Images Published - [PASS] - @neil</li> <li>QA:Testcase Storage Volume Resize - [PASS] - @raktajino, @tcooper</li> <li>QA:Testcase Repocompare - [PASS] - @tcooper</li> <li>QA:Testcase Basic install boot final ISO - [PASS] - @lumarel</li> <li>QA:Testcase Basic install minimal final ISO - [PASS] - @lumarel</li> <li>QA:Testcase Basic installs dvd final ISO - [PASS] - @lumarel - install of every base environment + custom operating system with all options enabled</li> <li>OpenQA tests with final ISOs - [PASS] - @lumarel - boot-iso 2/2 | minimal-iso 2/2 | minimal 22/26 (failing are all false-positive) | server 21/26 (failing are all false-positive) | package-set 5/5 | workstation 17/26 (failing are all false-positive) | graphical-server 17/26 (failing are all false-positive) | universal 34/43 (failing are all false-positive)</li> <li>QA:Testcase Minimal Installation - [PASS] - @neil</li> </ul>"},{"location":"guidelines/release_criteria/r9/9.0_qa_testing_summary/#other-notable-items","title":"OTHER NOTABLE ITEMS","text":"<ul> <li>QA:Testcase Module Streams - @lumarel - 9.0 currently does not have any Stream metadata and only the base Streams</li> <li>Repo Health Check - @lumarel - yumrepofs is not sending content lengths, which make syncing with Katello impossible</li> <li>Missing package in package group additional-devel - @stack - dnf -y group install additional-devel: No match for group package \"hmaccalc\" - this is an old EL bug</li> <li>Hosting a nfs server in macOS, and using that in Virtualbox for OpenQA shares is a pain - @tcooper</li> </ul>"},{"location":"guidelines/release_criteria/r9/9_release_criteria/","title":"Rocky Linux 9 Final Release Objectives","text":"<p>The objective of a release (major or minor) is to provide a solid Enterprise Linux release that is suitable to:</p> <ul> <li>Meet the needs of end users</li> <li>Meet the needs of enterprises big or small</li> </ul>"},{"location":"guidelines/release_criteria/r9/9_release_criteria/#rocky-linux-9-final-release-requirements","title":"Rocky Linux 9 Final Release Requirements","text":"<p>In order for Rocky Linux to be released to the general public, a compose must be able to meet all the following criteria as provided in this document. This is allows the decision process to be straightforward and as clear as possible. This document only contains \u201chard requirement\u201d items. Optional/nice to have items are not to be included in this list.</p> <p>There may cases where a requirement cannot be met but only in particular configurations. In these types of cases, the Release Engineering Team should use their judgement to determine whether or not the issue should be considered to block the release. They should consider the number of users likely to be affected by said issue, the severity of the case, if the issue can be avoided with ease (by both informed and uninformed users), and if the problem exists upstream in the current Red Hat Enterprise Linux that the release is based on.</p> <p>Release-blocking Server</p> <p>...means bugs as it pertains to server functionality can be considered to block a release. This applies to any packages that provide a service such as httpd, nginx, etc. All architectures apply.</p> <p>Release-blocking Desktop</p> <p>...means bugs as it pertains to desktop functionality (GNOME) can be considered to block a release. This applies to both x86_64 and aarch64. Additional desktops (as provided by EPEL or a SIG) are not considered blockers.</p> <p>Release-blocking Image</p> <p>...means bugs as it pertains to the images built that can block a release. This applies to the DVD, minimal, and boot images on all architectures.</p>"},{"location":"guidelines/release_criteria/r9/9_release_criteria/#initialization-requirements","title":"Initialization Requirements","text":""},{"location":"guidelines/release_criteria/r9/9_release_criteria/#release-blocking-images-must-boot","title":"Release-blocking images must boot","text":"<p>Release-blocking installer images must boot when written to optical media or USB flash drive of appropriate sizes (if applicable) via officially supported methods. It is not the testing team\u2019s responsibility to test optical media, but they can and report back. If a bug is found, it is considered a blocker.</p> Optical Media Requirements <p>Release-blocking images must boot when written to optical media of an appropriate size. Current size requirements are: boot.iso = 789M, minimal.iso = 2.0G and dvd.iso = 10G.</p> Officially supported USB flash drive writing methods <p>The following methods of writing USB flash drives are officially support: dd The following methods of writing USB flash drives are not supported: rufus</p> References <ul> <li>Test cases:<ul> <li>QA:Testcase Boot Methods Boot ISO</li> <li>QA:Testcase Boot Methods DVD</li> <li>QA:Testcase Media USB dd</li> </ul> </li> </ul>"},{"location":"guidelines/release_criteria/r9/9_release_criteria/#vnc-graphics-mode-behaviors","title":"VNC Graphics Mode behaviors","text":"<p>The VNC installation option on all release-blocking installers must function as intended. This means launching the installer or desktop and connecting with VNC to complete the installation. There must be no bugs that prevent the installer from being reached in this configuration on all systems and classes of hardware supported by the enterprise linux kernel.</p> References <ul> <li>Test cases:<ul> <li>QA:Testcase VNC Graphics Mode</li> </ul> </li> </ul>"},{"location":"guidelines/release_criteria/r9/9_release_criteria/#no-broken-packages","title":"No Broken Packages","text":"<p>Critical errors, such as undeclared conflicts, unresolved dependencies, or modules relying on packages from another stream will be considered an automatic blocker. There are potential exceptions to this (eg, freeradius cannot be installed on an older perl stream, this is a known issue upstream).</p> References <ul> <li>Test cases:<ul> <li>QA:Testcase Media Repoclosure</li> <li>QA:Testcase Media File Conflicts</li> </ul> </li> </ul>"},{"location":"guidelines/release_criteria/r9/9_release_criteria/#repositories-must-match-upstream","title":"Repositories Must Match Upstream","text":"<p>Repositories and the packages within them should match upstream as closely as possible. Notable exceptions would be kmods, kpatch, or what is deemed as \u201cspyware\u201d like insights. Packages that are available from upstream should not have hard requirements on RHSM and packages that have it default built in should be patched out.</p> References <ul> <li>Test cases:<ul> <li>QA:Testcase Repo Compare</li> <li>QA:Testcase Packages No Insights</li> <li>QA:Testcase Packages No RHSM</li> </ul> </li> </ul>"},{"location":"guidelines/release_criteria/r9/9_release_criteria/#debranding","title":"Debranding","text":"<p>Assets and functionality that are Red Hat specific should not be included. If they are not patched out, it will be considered an automatic blocker.</p> References <ul> <li>Test cases:<ul> <li>QA:Testcase Debranding</li> </ul> </li> </ul>"},{"location":"guidelines/release_criteria/r9/9_release_criteria/#installer-requirements","title":"Installer Requirements","text":""},{"location":"guidelines/release_criteria/r9/9_release_criteria/#media-consistency-verification","title":"Media Consistency Verification","text":"<p>This means that the installer\u2019s mechanism for verifying the install medium is intact and must complete successfully, with the assumption that the medium was correctly written. It should return a failure message if this not the case.</p> References <ul> <li>Test cases:<ul> <li>QA:Testcase Media USB dd</li> <li>QA:Testcase Boot Methods Boot ISO</li> <li>QA:Testcase Boot Methods DVD</li> </ul> </li> </ul>"},{"location":"guidelines/release_criteria/r9/9_release_criteria/#packages-and-installer-sources","title":"Packages and Installer Sources","text":"<p>The installer must be able to use all supported local/remote packages and installer sources.</p> References <ul> <li>Test cases:<ul> <li>QA:Testcase Packages and Installer Sources</li> </ul> </li> </ul>"},{"location":"guidelines/release_criteria/r9/9_release_criteria/#nas-network-attached-storage","title":"NAS (Network Attached Storage)\"","text":"<p>The installer must be able to detect and install to supported NAS devices (if possible and supported by the kernel).</p> References <ul> <li>Test cases:<ul> <li>QA:Testcase Network Attached Storage</li> </ul> </li> </ul>"},{"location":"guidelines/release_criteria/r9/9_release_criteria/#installation-interfaces","title":"Installation Interfaces","text":"<p>The installer must be able to complete an installation using all supported spokes.</p> References <ul> <li>Test cases:<ul> <li>QA:Testcase Installation Interfaces</li> </ul> </li> </ul>"},{"location":"guidelines/release_criteria/r9/9_release_criteria/#minimal-installation","title":"Minimal Installation","text":"<p>A minimal installation (via network) must be able to install the minimal package set.</p> References <ul> <li>Test cases:<ul> <li>QA:Testcase Minimal Installation</li> </ul> </li> </ul>"},{"location":"guidelines/release_criteria/r9/9_release_criteria/#kickstart-installation","title":"Kickstart Installation","text":"<p>A kickstart installation should succeed, whether from optical/USB media or via the network.</p> References <ul> <li>Test cases:<ul> <li>QA:Testcase Kickstart Installation</li> </ul> </li> </ul>"},{"location":"guidelines/release_criteria/r9/9_release_criteria/#disk-layouts","title":"Disk Layouts","text":"<p>The installer must be able to create and install to any workable partition layout using any file system or format combination offered or supported by the installer. File systems that are not supported by the EL kernel is not tested here (this means btrfs, zfs, both of wish are not supported).</p> References <ul> <li>Test cases:<ul> <li>QA:Testcase Disk Layouts</li> </ul> </li> </ul>"},{"location":"guidelines/release_criteria/r9/9_release_criteria/#firmware-raid","title":"Firmware RAID","text":"<p>The installer must be able to detect and install to firmware RAID devices. Note that system-specific bugs do not count as blockers. It is likely that some hardware support might be broken or not available at all. DUDs (driver update disks) are not considered for this criteria.</p> References <ul> <li>Test cases:<ul> <li>QA:Testcase Firmware RAID</li> </ul> </li> </ul>"},{"location":"guidelines/release_criteria/r9/9_release_criteria/#bootloader-disk-selection","title":"Bootloader Disk Selection","text":"<p>The installer must allow the user to choose which disk the bootloader will be installed to or, if the user so chooses, not to install a bootloader.</p> References <ul> <li>Test cases:<ul> <li>QA:Testcase Bootloader Disk Selection</li> </ul> </li> </ul>"},{"location":"guidelines/release_criteria/r9/9_release_criteria/#storage-volume-resize","title":"Storage Volume Resize","text":"<p>Any installer mechanism for resizing storage volumes must correctly attempt the requested operation. This means that if the installer offers a way to resize storage volumes, then it must use the correct resizing tool with the correct parameters. However, it does not require the installer to disallow resizing of unformatted or volumes with an unknown filesystem type.</p> References <ul> <li>Test cases:<ul> <li>QA:Testcase Storage Volume Resize</li> </ul> </li> </ul>"},{"location":"guidelines/release_criteria/r9/9_release_criteria/#update-image","title":"Update Image","text":"<p>The installer must be able to use an installer update image retrieved from removable media or a remote package source. This includes DUDs (driver update disks).</p> References <ul> <li>Test cases:<ul> <li>QA:Testcase Update Image</li> </ul> </li> </ul>"},{"location":"guidelines/release_criteria/r9/9_release_criteria/#installer-help","title":"Installer Help","text":"<p>Any element in the installer which contains a \u201chelp\u201d text must display the appropriate help documentation when selected.</p> References <ul> <li>Test cases:<ul> <li>QA:Testcase Installer Help</li> </ul> </li> </ul>"},{"location":"guidelines/release_criteria/r9/9_release_criteria/#installer-translations","title":"Installer Translations","text":"<p>The installer must correctly display all complete translations that are available for use.</p> References <ul> <li>Test cases:<ul> <li>QA:Testcase Installer Translations</li> </ul> </li> </ul>"},{"location":"guidelines/release_criteria/r9/9_release_criteria/#cloud-image-requirements","title":"Cloud Image Requirements","text":""},{"location":"guidelines/release_criteria/r9/9_release_criteria/#images-published-to-cloud-providers","title":"Images Published to Cloud Providers","text":"<p>Release-blocking cloud disk images must be published to appropriate cloud providers (such as Amazon) and they must successfully boot. This also applies to KVM based instances, such as x86 and aarch64 systems.</p> References <ul> <li>Test cases:<ul> <li>QA:Testcase TBD</li> </ul> </li> </ul>"},{"location":"guidelines/release_criteria/r9/9_release_criteria/#post-installation-requirements","title":"Post-Installation Requirements","text":""},{"location":"guidelines/release_criteria/r9/9_release_criteria/#system-services","title":"System Services","text":"<p>All system services present after installation must start properly, with the exception of services that require hardware which is not present. Examples of such services would be:</p> <ul> <li>sshd</li> <li>firewalld</li> <li>auditd</li> <li>chronyd</li> </ul> References <ul> <li>Test cases:<ul> <li>QA:Testcase System Services</li> </ul> </li> </ul>"},{"location":"guidelines/release_criteria/r9/9_release_criteria/#keyboard-layout","title":"Keyboard Layout","text":"<p>If a particular keyboard layout has been configured for the system, that layout must be used:</p> <ul> <li>When unlocking storage volumes (encrypted by LUKS)</li> <li>When logging in at a TTY console</li> <li>When logging in via GDM</li> <li>After logging into a GNOME desktop system, if the user does not have their own layout configuration set.</li> </ul> References <ul> <li>Test cases:<ul> <li>QA:Testcase Keyboard Layout</li> </ul> </li> </ul>"},{"location":"guidelines/release_criteria/r9/9_release_criteria/#selinux-errors-server","title":"SELinux Errors (Server)","text":"<p>There must be no SELinux denial logs in /var/log/audit/audit.log</p> References <ul> <li>Test cases:<ul> <li>QA:Testcase SELinux Errors on Server installations</li> </ul> </li> </ul>"},{"location":"guidelines/release_criteria/r9/9_release_criteria/#selinux-and-crash-notifications-desktop-only","title":"SELinux and Crash Notifications (Desktop Only)","text":"<p>There must be no SELinux denial notifications or crash notifications on boot, during installation, or during first login.</p> References <ul> <li>Test cases:<ul> <li>QA:Testcase SELinux Errors on Desktop clients</li> </ul> </li> </ul>"},{"location":"guidelines/release_criteria/r9/9_release_criteria/#default-application-functionality-desktop-only","title":"Default Application Functionality (Desktop Only)","text":"<p>Applications that can be launched within GNOME or on the command line must start successfully and withstand basic functionality tests. This includes:</p> <ul> <li>Web browser</li> <li>File manager</li> <li>Package manager</li> <li>Image/Document Viewers</li> <li>Text editors (gedit, vim)</li> <li>Archive manager</li> <li>Terminal Emulator (GNOME Terminal)</li> <li>Problem Reporter</li> <li>Help Viewer</li> <li>System Settings</li> </ul> References <ul> <li>Test cases:<ul> <li>QA:Testcase Application Functionality</li> </ul> </li> </ul>"},{"location":"guidelines/release_criteria/r9/9_release_criteria/#default-panel-functionality-desktop-only","title":"Default Panel Functionality (Desktop Only)","text":"<p>All elements of GNOME should function properly in regular use.</p> References <ul> <li>Test cases:<ul> <li>QA:Testcase GNOME UI Functionality</li> </ul> </li> </ul>"},{"location":"guidelines/release_criteria/r9/9_release_criteria/#dual-monitor-setup-desktop-only","title":"Dual Monitor Setup (Desktop Only)","text":"<p>Computers using two monitors, the graphical output is correctly shown on both monitors.</p> References <ul> <li>Test cases:<ul> <li>QA:Testcase Multimonitor Setup</li> </ul> </li> </ul>"},{"location":"guidelines/release_criteria/r9/9_release_criteria/#artwork-and-assets-server-and-desktop","title":"Artwork and Assets (Server and Desktop)","text":"<p>Proposed final artwork (such as wallpapers and other assets) must be included. A wallpaper from this package should show up as a default for GDM and GNOME.</p> References <ul> <li>Test cases:<ul> <li>QA:Testcase Artwork and Assets</li> </ul> </li> </ul>"},{"location":"guidelines/release_criteria/r9/9_release_criteria/#packages-and-module-installation","title":"Packages and Module Installation","text":"<p>Packages (non-module) should be able to be installed without conflicts or dependent on repositories outside of Rocky Linux.</p> <ul> <li>Default modules (as listed in dnf module list) should be installed without requiring them to be enabled.</li> <li>Module streams should be able to be switched and those packages should be able to be installed without errors or unresolved dependencies.</li> </ul> References <ul> <li>Test cases:<ul> <li>QA:Testcase Basic Package installs</li> <li>QA:Testcase Module Streams</li> </ul> </li> </ul>"},{"location":"guidelines/release_criteria/r9/9_release_criteria/#identity-management-server-setup","title":"Identity Management Server Setup","text":"<p>It should be possible to setup a IdM server (FreeIPA), use it's functionality and connect clients.</p> References <ul> <li>Test cases<ul> <li>QA:Testcase Identity Management</li> </ul> </li> </ul> Additional Information ContactDisclaimerAttributionLicense <p>If you have questions with respect to this content or to report concerns regarding the use or misuse content please do not hesitate to contact us at testing@rockylinux.org.</p> <p>Rocky Linux and the Rocky Enterprise Software Foundation (RESF) does not make any express or implied warranties, including but not limited to the warranties of non-infringement of any third party intellectual property rights. RESF does not warrant that any pending trademark applications for trademarks of RESF will result in any granted trademark protection. RESF shall not be liable for any claims relating to user's activities falling within the scope of the permission and user hereby agrees to indemnify, defend and hold RESF and its contributors harmless against any such claim.</p> <p>This work is heavily inspired by the Fedora Release Requirements documents which were made available under Attribution-Share Alike 4.0 International license unless otherwise noted.</p> <p>This content is licensed under under Attribution-Share Alike 4.0 International license unless otherwise noted.</p>"},{"location":"include/contacts_top/","title":"Contacts top","text":""},{"location":"include/contacts_top/#contact-information","title":"Contact Information","text":"Owner Testing Team Email Contact testing@rockylinux.org Mattermost Contacts <code>@stack</code>, <code>@tcooper</code> Mattermost Channels <code>~Testing</code>"},{"location":"include/content_bottom/","title":"Content bottom","text":"Additional Information ContactDisclaimerLicense <p>If you have questions with respect to this content or to report concerns regarding the use or misuse content please do not hesitate to contact us at info@rockylinux.org.</p> <p>Rocky Linux and the Rocky Enterprise Software Foundation (RESF) does not make any express or implied warranties, including but not limited to the warranties of non-infringement of any third party intellectual property rights. RESF does not warrant that any pending trademark applications for trademarks of RESF will result in any granted trademark protection. RESF shall not be liable for any claims relating to user's activities falling within the scope of the permission and user hereby agrees to indemnify, defend and hold RESF and its contributors harmless against any such claim.</p> <p>This content is licensed under under Attribution-Share Alike 4.0 International license unless otherwise noted.</p>"},{"location":"include/members_full/","title":"Members full","text":"Role Name Email Mattermost Name IRC Name Testing Lead Chris Stackpole stack@rockylinux.org @stack Testing Team Al Bowles @raktajino raktajino Testing Team Trevor Cooper tcooper@rockylinux.org @tcooper Testing Team Lukas Magauer lukas@magauer.eu @lumarel Testing Team Alan Marshall @alangm alangm Testing Team Rich Alloway @ralloway Testing Team Anthony Navarro @anavarro10"},{"location":"include/members_no_role/","title":"Members no role","text":"<pre><code>| Name | Email | Mattermost Name | IRC Name |\n| --------------- | ----------------------- | ------------------ | --------- |\n| Chris Stackpole | stack@rockylinux.org | @stack | |\n| Al Bowles | | @raktajino | raktajino |\n| Trevor Cooper | tcooper@rockylinux.org | @tcooper | |\n| Lukas Magauer | lukas@magauer.eu | @lumarel | |\n| Alan Marshall | | @alangm | alangm |\n| Rich Alloway | | @ralloway | |\n| Anthony Navarro | | @anavarro10 | |\n</code></pre>"},{"location":"include/qa_content_example_only/","title":"Qa content example only","text":"<p>CONTENT EXAMPLE ONLY</p> <p>Content on this page may be copy-pasta from Fedora Quality Assurance documents and needs to be replaced and/or reviewed before publishing for applicability for Rocky Linux.</p>"},{"location":"include/qa_data_loss_warning/","title":"Qa data loss warning","text":"<p>DATA LOSS</p> <p>Depending on installer choices this MAY destroy all the data on the test system. If you choose to complete the installation of the test system any/all data on the system may be lost. Please do not install on a system whose contents you need to keep.</p>"},{"location":"include/qa_setup_boot_to_media/","title":"Qa setup boot to media","text":"<ol> <li>Obtain access to supported system and hardware class to be installed.</li> <li>Prepare appropriate media for the selected ISO to be tested.<ul> <li>Example: QA:Testcase Media USB dd</li> </ul> </li> <li>Boot the system from the prepared optical, USB media or virtual device attachment.<ul> <li>Examples: QA:Testcase Boot Methods Boot ISO, QA:Testcase Boot Methods DVD</li> </ul> </li> <li>In the boot menu select the appropriate option to boot the installer.</li> </ol>"},{"location":"include/qa_testcase_bottom/","title":"Qa testcase bottom","text":"Additional Information ContactDisclaimerAttributionLicense <p>If you have questions with respect to this content or to report concerns regarding the use or misuse content please do not hesitate to contact us at testing@rockylinux.org.</p> <p>Rocky Linux and the Rocky Enterprise Software Foundation (RESF) does not make any express or implied warranties, including but not limited to the warranties of non-infringement of any third party intellectual property rights. RESF does not warrant that any pending trademark applications for trademarks of RESF will result in any granted trademark protection. RESF shall not be liable for any claims relating to user's activities falling within the scope of the permission and user hereby agrees to indemnify, defend and hold RESF and its contributors harmless against any such claim.</p> <p>This work is heavily inspired by the Fedora Quality Assurance documents which were made available under Attribution-Share Alike 4.0 International license unless otherwise noted.</p> <p>This content is licensed under under Attribution-Share Alike 4.0 International license unless otherwise noted.</p>"},{"location":"include/qa_testcase_supported_systems/","title":"Qa testcase supported systems","text":"Supported Systems and Hardware Classes x86_64aarch64ppc64s309x <p>TBD</p> <p>TBD</p> <p>TBD</p> <p>TBD</p>"},{"location":"include/rc_content_bottom/","title":"Rc content bottom","text":"Additional Information ContactDisclaimerAttributionLicense <p>If you have questions with respect to this content or to report concerns regarding the use or misuse content please do not hesitate to contact us at testing@rockylinux.org.</p> <p>Rocky Linux and the Rocky Enterprise Software Foundation (RESF) does not make any express or implied warranties, including but not limited to the warranties of non-infringement of any third party intellectual property rights. RESF does not warrant that any pending trademark applications for trademarks of RESF will result in any granted trademark protection. RESF shall not be liable for any claims relating to user's activities falling within the scope of the permission and user hereby agrees to indemnify, defend and hold RESF and its contributors harmless against any such claim.</p> <p>This work is heavily inspired by the Fedora Release Requirements documents which were made available under Attribution-Share Alike 4.0 International license unless otherwise noted.</p> <p>This content is licensed under under Attribution-Share Alike 4.0 International license unless otherwise noted.</p>"},{"location":"include/rc_content_example_only/","title":"Rc content example only","text":"<p>CONTENT EXAMPLE ONLY</p> <p>Content on this page may be copied from Fedora Release Requirements documentation and needs to be replaced and/or reviewed before publishing for applicability for Rocky Linux.</p>"},{"location":"sop/","title":"SOP (Standard Operationg Procedures)","text":"<p>This section goes over the various SOP's for the Testing Team. Please use the menu items to find the various pages of interest.</p> Additional Information ContactDisclaimerLicense <p>If you have questions with respect to this content or to report concerns regarding the use or misuse content please do not hesitate to contact us at info@rockylinux.org.</p> <p>Rocky Linux and the Rocky Enterprise Software Foundation (RESF) does not make any express or implied warranties, including but not limited to the warranties of non-infringement of any third party intellectual property rights. RESF does not warrant that any pending trademark applications for trademarks of RESF will result in any granted trademark protection. RESF shall not be liable for any claims relating to user's activities falling within the scope of the permission and user hereby agrees to indemnify, defend and hold RESF and its contributors harmless against any such claim.</p> <p>This content is licensed under under Attribution-Share Alike 4.0 International license unless otherwise noted.</p>"},{"location":"sop/openqa_sop_operator_access/","title":"SOP: openQA - Operator Access Request","text":"<p>This SOP covers how the Rocky Linux Testing Team handles requests for Operator access to the openQA system.</p>"},{"location":"sop/openqa_sop_operator_access/#contact-information","title":"Contact Information","text":"Owner Testing Team Email Contact testing@rockylinux.org Mattermost Contacts <code>@stack</code>, <code>@tcooper</code> Mattermost Channels <code>~Testing</code>"},{"location":"sop/openqa_sop_operator_access/#responding-to-an-openqa-operator-access-request","title":"Responding to an openQA Operator Access Request","text":"<p>TODO</p> Additional Information ContactDisclaimerLicense <p>If you have questions with respect to this content or to report concerns regarding the use or misuse content please do not hesitate to contact us at info@rockylinux.org.</p> <p>Rocky Linux and the Rocky Enterprise Software Foundation (RESF) does not make any express or implied warranties, including but not limited to the warranties of non-infringement of any third party intellectual property rights. RESF does not warrant that any pending trademark applications for trademarks of RESF will result in any granted trademark protection. RESF shall not be liable for any claims relating to user's activities falling within the scope of the permission and user hereby agrees to indemnify, defend and hold RESF and its contributors harmless against any such claim.</p> <p>This content is licensed under under Attribution-Share Alike 4.0 International license unless otherwise noted.</p>"},{"location":"sop/openqa_sop_operator_removal/","title":"SOP: openQA - Operator Access Removal","text":"<p>This SOP covers how the Rocky Linux Testing Team handles requests for Operator access removal on the openQA system.</p>"},{"location":"sop/openqa_sop_operator_removal/#contact-information","title":"Contact Information","text":"Owner Testing Team Email Contact testing@rockylinux.org Mattermost Contacts <code>@stack</code>, <code>@tcooper</code> Mattermost Channels <code>~Testing</code>"},{"location":"sop/openqa_sop_operator_removal/#responding-to-an-openqa-operator-access-removal","title":"Responding to an openQA Operator Access Removal","text":"<p>TODO</p> Additional Information ContactDisclaimerLicense <p>If you have questions with respect to this content or to report concerns regarding the use or misuse content please do not hesitate to contact us at info@rockylinux.org.</p> <p>Rocky Linux and the Rocky Enterprise Software Foundation (RESF) does not make any express or implied warranties, including but not limited to the warranties of non-infringement of any third party intellectual property rights. RESF does not warrant that any pending trademark applications for trademarks of RESF will result in any granted trademark protection. RESF shall not be liable for any claims relating to user's activities falling within the scope of the permission and user hereby agrees to indemnify, defend and hold RESF and its contributors harmless against any such claim.</p> <p>This content is licensed under under Attribution-Share Alike 4.0 International license unless otherwise noted.</p>"},{"location":"sop/openqa_sop_system_upgrades/","title":"SOP: openQA - System Upgrades","text":"<p>This SOP details the necessary steps for performing a system upgrade on an openQA host.</p>"},{"location":"sop/openqa_sop_system_upgrades/#contact-information","title":"Contact Information","text":"Owner Testing Team Email Contact testing@rockylinux.org Mattermost Contacts <code>@stack</code>, <code>@tcooper</code> Mattermost Channels <code>~Testing</code>"},{"location":"sop/openqa_sop_system_upgrades/#fedora","title":"Fedora","text":"<ol> <li> <p>Verify current installation is fully upgraded</p> <pre><code>dnf upgrade --refresh\n</code></pre> </li> <li> <p>Install system upgrade plugin</p> <pre><code>dnf install dnf-plugin-system-upgrade\n</code></pre> </li> <li> <p>Download the upgrade packages for next version</p> <pre><code>dnf system-upgrade download --releasever=[newversion]\n</code></pre> </li> <li> <p>Reboot into offline upgrade mode</p> <pre><code>dnf system-upgrade reboot\n</code></pre> </li> <li> <p>Post-reboot cleanup</p> <pre><code>dnf system-upgrade clean\ndnf clean packages\n</code></pre> </li> </ol>"},{"location":"sop/openqa_sop_system_upgrades/#post-upgrade-tasks","title":"Post-Upgrade Tasks","text":"<p>These steps may also be necessary in some (but not all) cases.</p>"},{"location":"sop/openqa_sop_system_upgrades/#upgrade-the-postgresql-database","title":"Upgrade the PostgreSQL database","text":"<ol> <li> <p>Install postgresql-upgrade package</p> <pre><code>dnf install postgresql-upgrade\n</code></pre> </li> <li> <p>Upgrade your postgres database</p> <pre><code>sudo -iu postgres\npostgresql-setup --upgrade\n</code></pre> </li> </ol>"},{"location":"sop/openqa_sop_system_upgrades/#re-apply-rocky-branding","title":"Re-apply Rocky branding","text":"<ol> <li> <p>Obtain the Ansible openQA deployment repository</p> </li> <li> <p>Run the branding related tasks</p> <pre><code>ansible-playbook init-openqa-rocky-developer-host.yml -t branding\n</code></pre> </li> </ol>"},{"location":"sop/openqa_sop_system_upgrades/#references","title":"References","text":"<ul> <li>Upgrading Fedora using the DNF system upgrade</li> <li>How to Easily Upgrade to Fedora Workstation 36</li> </ul> Additional Information ContactDisclaimerLicense <p>If you have questions with respect to this content or to report concerns regarding the use or misuse content please do not hesitate to contact us at info@rockylinux.org.</p> <p>Rocky Linux and the Rocky Enterprise Software Foundation (RESF) does not make any express or implied warranties, including but not limited to the warranties of non-infringement of any third party intellectual property rights. RESF does not warrant that any pending trademark applications for trademarks of RESF will result in any granted trademark protection. RESF shall not be liable for any claims relating to user's activities falling within the scope of the permission and user hereby agrees to indemnify, defend and hold RESF and its contributors harmless against any such claim.</p> <p>This content is licensed under under Attribution-Share Alike 4.0 International license unless otherwise noted.</p>"},{"location":"sop/sop_repocompare/","title":"SOP: Repocompare","text":"<p>This SOP covers how to perform the repocompare process, to ensure that Rocky's package repositories are up-to-date with the RHEL package repositories.</p>"},{"location":"sop/sop_repocompare/#contact-information","title":"Contact Information","text":"Owner Testing Team Email Contact testing@rockylinux.org Mattermost Contacts <code>@stack</code>, <code>@tcooper</code> Mattermost Channels <code>~Testing</code> <p>To identify which packages may need updates, visit the appropriate RepoCompare page, focusing on the SRPM Repo Comparison page for each version. Packages where the Rocky version is lower than the RHEL version likely require an update - you can do a manual comparison to be sure.</p>"},{"location":"sop/sop_repocompare/#setup","title":"Setup","text":"<p>From a RHEL8 machine with a valid entitlement, obtain the repocompare repository:</p> <pre><code>git clone https://git.resf.org/testing/repocompare\ncd repocompare/\n</code></pre> <p>Import the RPM GPG keys for both Rocky and RHEL</p> <pre><code>curl -O http://dl.rockylinux.org/pub/rocky/RPM-GPG-KEY-Rocky-8\ncurl -O http://dl.rockylinux.org/pub/rocky/RPM-GPG-KEY-Rocky-9\nrpm --import RPM-GPG-KEY-Rocky-8\nrpm --import RPM-GPG-KEY-Rocky-9\nrpm --import /etc/pki/rpm-gpg/redhat-official\n</code></pre>"},{"location":"sop/sop_repocompare/#comparing-a-package","title":"Comparing a package","text":"<p>If the Name/Epoch/Version/Release (NEVR) for the RHEL package is newer than the one for the Rocky package, the package requires an update. In this situation, there will also likely be a newer entry in the changelog for the RHEL package, as shown below:</p> <pre><code>./manual_compare.sh 9 AppStream golang\nRocky Linux 9.2 golang 1.19.9 2.el9_2 * Tue May 23 2023 Alejandro S\u00e1ez &lt;asm@redhat.com&gt; - 1.19.9-2\nRed Hat golang 1.19.10 1.el9_2 * Tue Jun 06 2023 David Benoit &lt;dbenoit@redhat.com&gt; - 1.19.10-1\n</code></pre> <p>Notice that the Red Hat golang package has a higher version than the Rocky Linux 9.2 package. It also has a newer entry in its changelog.</p>"},{"location":"sop/sop_repocompare/#gotchas","title":"Gotchas","text":"<p>Some packages are not considered relevant for repocompare purposes. These include:</p> <pre><code>rhc\nshim-unsigned\n# Any package that exists in RHEL but not in Rocky (denoted by **DOES NOT EXIST** in the Rocky column on the repocompare website)\n</code></pre> Additional Information ContactDisclaimerLicense <p>If you have questions with respect to this content or to report concerns regarding the use or misuse content please do not hesitate to contact us at info@rockylinux.org.</p> <p>Rocky Linux and the Rocky Enterprise Software Foundation (RESF) does not make any express or implied warranties, including but not limited to the warranties of non-infringement of any third party intellectual property rights. RESF does not warrant that any pending trademark applications for trademarks of RESF will result in any granted trademark protection. RESF shall not be liable for any claims relating to user's activities falling within the scope of the permission and user hereby agrees to indemnify, defend and hold RESF and its contributors harmless against any such claim.</p> <p>This content is licensed under under Attribution-Share Alike 4.0 International license unless otherwise noted.</p>"}]}