ci: several changes related to new qemu test, ansible-lint, python versions, ubuntu versions
There is a new QEMU based test which uses the qemu/kvm capability of github action runners. This is the basis for new bootc/image mode tests which we will be rolling out in the near future.
ansible-lint requires that the collection path is set so that the requirements it installs are installed in the correct place.
There has been some general github action deprecation of python versions and ubuntu versions that we have had to fix.
Remove CONTRIBUTOR from the list of users who can trigger citest.
For more information, see
- https://github.com/linux-system-roles/.github/pull/98
- https://github.com/linux-system-roles/.github/pull/94
- https://github.com/linux-system-roles/.github/pull/93
- https://github.com/linux-system-roles/.github/pull/92
- https://github.com/linux-system-roles/.github/pull/91
First look at the initial fedora-42 failures: They look like this:
fatal: [/home/runner/.cache/linux-system-roles/fedora-42.qcow2]: FAILED! => {
"changed": false
}
MSG:
Missing log message "testMessage0" in "/var/log/messages"
or here:
logger: socket /dev/log: No such file or directory
F42 does not have rsyslog installed by default. systemd/journald have been the main/default logging system for many years at least in Fedora, and I find it a bit annoying that in RHEL everything still gets logged twice by default by installing rsyslog by default.
This one is different but also interesting:
"Problem: problem with installed package\n - installed package dhcp-client-12:4.4.3-16.P1.fc42.x86_64 requires iproute, but none of the providers can be installed\n - package dhcp-client-12:4.4.3-16.P1.fc42.x86_64 from fedora requires iproute, but none of the providers can be installed\n - conflicting requests"
],
The standard image contains dhcp-client-4.4.3-16.P1.fc42.x86_64 and iproute-6.12.0-3.fc42.x86_64, so at first sight it's not a problem with Fedora.
So this is all certainly fixable, but it's a strategic decision: Does it actually make sense to support this role on Fedora? We could also just declare it "RHEL only" in the README and disable the Fedora tests (also in tmt).
To get some comparison, I'll trigger the tmt tests.
[citest]
The Fedora 41 failure in #358 shows the same depsolve errors, so that failure isn't something new. Search for "fatal:" in e.g. this log. This was already the case in the very first f41 run, although it still succeeded in F40. Fixing in #440
Some of the f42 tests now pass locally for me with the #440 fix applied. To clear up the debris and look at the remaining failures, I pushed the fix also here in the meantime (we'll rebase it away again after #440 lands, of course).
However, what is wrong with tmt here? CentOS-7 is shown as failure, but all ansible playbook tests succeeded. It would be really useful to get a link to the actual Testing Farm artifact/run URL, to see pipeline.log. Likewise, the CentOS 9 failure is a 404, but without a TF artifact link it's not possible to investigate why. @spetrosi @richm any idea how to debug these?
[citest]
@richm your most recent force push merged the two commits from the previous version of #440 and the github.git changes. I untangled them again, and pushed the updated fix from #440 to give it some more testing.
@richm I changed the test logging -- now the workflow produces a zip artifact with all logs, and the Show test log failures step only shows the interesting bit -- they are fast and small now.
As for the actual failures, one part is the same "parameter 'workdirectory' specified more than once" thing I'm already fighting in #440.