Some of the beakerlib tests need debuginfo in order to run in a meaningful way. The current test driver doesn't seem to be able to install debuginfo packages.
Usually, the test requirements are mentioned in the testcase's Makefile. Respective example Makefile snippet is as follows:
@echo "Requires: systemtap" >> $(METADATA)
As mentioned earlier, some of the tests require -debuginfo packages. In such case the respective example snippet is as follows:
@echo "Requires: kernel-debuginfo" >> $(METADATA)
Note that using beakerlib, one can list the testcase requirements using make testinfo.desc.
make testinfo.desc
For the "upstream first" qe initiative, we need to modify the current test driver in a way, that it is able to install all the testcase dependencies including debuginfo.
Note that packages containing debugging information are often kept in a separate yum/dnf repository (channel). This channel might not be enabled by default. Also, there are possible dependencies between the debuginfo packages, so that one can pull another into play, similarly how it works with regular/non-debuginfo packages. For yum, one can use the debuginfo-install utility that takes care of enabling the needed channels as well as of resolving the deps.
In the initial report I've mentioned systemtap as the example. This one is interesting. Systemtap needs kernel-debuginfo for the actually running kernel (uname -r). That means that the NVR of the running kernel must be identical to the NVR of the installed kernel-debuginfo package.
In practice there is one more unpleasant issue: Currently the various debuginfo versions can't get installed in parallel: https://fedoraproject.org/wiki/Changes/ParallelInstallableDebuginfo
In practice there usually are two situations:
1) the running kernel comes from the kernel.rpm that is the newest one within the configured repos. In such case it's sufficient to debuginfo install kernel and we are done.
2) the configured repos do have newer kernel.rpm than uname -r. Assumimg that available debuginfo channels will only have kernel-debuginfo for this newest kernel, we first need to a) yum/dnf update the test box, b) install kernel-debuginfo.rpm, and c) reboot the test box so that the newest kernel from the repos becomes also the running kernel.
uname -r
I am mentioning this sort of special case here right away. Maybe someone will take it into account when writing fresh feature code. In case our scenario will always be 1), then this problem gets reduced to plain debuginfo-install invocation. :-)
https://pagure.io/standard-test-roles/pull-request/69
Metadata Update from @astepano: - Issue status updated to: Closed (was: Open)