Días de Prueba del Kernel

Nombre del Autor <giardia@fedoraproject.org> 08-04-2019

Durante los Días de Prueba del Kernel, se solicita a los contribuidores que ejecuten una Prueba de Regresión del Kernel que ayudará a detectar problemas y cualquier cuestión en una nueva versión del kernel antes de una amplia utilización. Consiste en ejecutar una serie de pruebas proporcionadas por el Conjunto de Pruebas del Kerne

El objetivo principal del Día de Prueba del Kernel Test Day es probar una nuevo kernel en tantas máquinas diferentes como sea posible, de modo que cada nuevo Día de Prueba del Kernel se anuncia con días de anticipación con una publicación en fedoramagazine.

Qué hacer durante los Días de Prueba de Kernel

La primera cosa que hay que hacer es obtener la versión correcta del kernel a probar. Hay diferentes maneras de obtener el kernel y probarlo:

Usando una imagen el día de prueba

Durante los días de prueba se proporciona en una página dedicada de la wiki un enlace para descargar una imagen del día de prueba que es una distribución viva de Fedora con la versión del kernel a probar en ella. La imagen del día de prueba contiene también el conjunto de pruebas, esto es los guiones para probar el kernel en su máquina. El archivo .iso descargado se debe escribir en un lápiz USB arrancable.

Vea en esta guía la forma de crear un lápiz USB arrancable.

Luego puede iniciar la imagen en vivo y ejecutar las pruebas sin preocuparse de estropear su sistema operativo.

Usando una Máquina Virtual

También puede instalar la versión requerida del kernel en una Máquina Virtual para ejecutar una versión actualizada de Fedora y hacer las pruebas en la MV. En esta caso usted puede añadir este repositorio Copr en la distribución Fedora que está corriendo en su MV.

Una vez que ha añadido el repositorio, instale el kernel a probar:

sudo dnf upgrade && sudo dnf install kernel-5.0.0-200.fc29.x86_64
  • En el ejemplo de arriba instalamos el kernel-5.0.0-200 sobre fedora 29 con una arquitectura de 64 bit.

  • Reinicie y está preparado para probar.

Using Koji

During kernel test days, the dedicated wiki page will provide a link to download the newly built kernel version to test, directly from koji builds. This is recommended for secure boot users.

Disclaimer: You could also install and test the new kernel on your Workstation/Server installation, on a bare metal machine, but make sure you have no important data on that installation, things might go wrong — don’t do this on your production machine!

Lets prepare for testing (and earn a new Fedora Badge!)

Before testing, you need to install some packages:

sudo dnf install gcc make git libtirpc python3-fedora keyutils libtirpc-devel policycoreutils-python-utils
  • If you are using the *test day image* you already have the kernel-test suite in the kernel-tests folder; enter the folder with

    cd /home/liveuser/kernel-tests
  • If you are not using the test day image you will need to clone the kernel-tests repo. Use this command in terminal:

    git clone https://pagure.io/kernel-tests.git

this will download the same folder that you find in the test day image, with the testing scripts. When the download is finished, enter the kernel-tests folder:

cd kernel-tests

Once inside the kernel-tests folder, it’s time to edit some configuration files; first we need to copy the content of the config.example file in a new hidden file named .config

cp config.example .config

Now edit the .config file with your favorite editor.

Here we can decide whether or not to upload the results of our tests to Fedora servers. By default, running the tests will not automatically submit results. They will just run and write results on a log file in /kernel-tests/logs/

  • To submit results anonymously: edit the .config file with submit=anonymous

  • To submit results linked to your FAS username: edit the .config file with submit=authenticated and username=<your FAS username>

If you link your submission to your FAS username, you’ll also receive a Fedora badge!

The results of your test will be uploaded here

Running tests

Before running the test, be sure your machine has no workload already, like other cpu intensive processes.You can check using the command: top

Before running tests, we need to allow the testsuite to make their heap memory executable with this command:

sudo semanage boolean -m --on selinuxuser_execheap
When you finish with the tests, remember to turn SELinux boolean selinuxuser_execheap back to default state, by issuing the command: sudo semanage boolean -m --off selinuxuser_execheap

Now let’s start testing!

To run the basic set of tests, use this command:

sudo ./runtests.sh

To run the performance test suites, use this command:

sudo ./runtests.sh -t performance

The expected result is that the tests pass. However, some tests may fail occasionally due to system load. Anyway, add whatever results you got from the tests on the dedicated result page of the Kernel Test day!

During a kernel test day, a dedicated web application page is created for uploading results, there you can fill a form with a description of the results you got. Just Click on the Enter Result button and fill the form. Enter a username in the Username field, in the Profile field enter a description of the machine you tested the kernel on, and choose the result of your test from the dropdown menu (failed or pass). In the Bugs field you can write the number of a bug (or bug numbers divided by semicolons. i.e. '752855;25532') that you opened on Bugzilla, against that particular kernel. If you found a bug in the kernel, please report it via this link. If you don’t have a Bugzilla account,you can still log in with your FAS account.

If a test fails repeatedly, consider helping by reporting the failure on Bugzilla

Finally add any other comments or observations you want in the Comment field and Click the Submit Query button.

*Done!*

Thanks for helping the fedora team in testing the newest kernel on your machine!

If you want to help more: join the Fedora Quality Assurance team and propose new test cases for the kernel that are not already on this page.