playbooks: Add workaround for Fedora Rawhide

The Zuul executor contains Ansible 2.13.7 whose 'dnf' module is not
working as it should with Fedora Rawhide because of the DNF5 Change [1].
Unlike DNF4, DNF5 no longer pulls in the python3-dnf RPM, which causes:
  TASK [Install RPM packages]
  fedora-rawhide | ERROR
  fedora-rawhide | {
  fedora-rawhide |   "msg": "Could not import the dnf python module
      using /usr/bin/python3 (3.12.0b3 (main, Jun 21 2023, 00:00:00)
      [GCC 13.1.1 20230614 (Red Hat 13.1.1-4)]). Please install
      `python3-dnf` or `python2-dnf` package or ensure you have
      specified the correct ansible_python_interpreter. (attempted
      ['/usr/libexec/platform-python', '/usr/bin/python3',
      '/usr/bin/python2', '/usr/bin/python'])",
  fedora-rawhide |   "results": []
  fedora-rawhide | }

This adds a workaround that explicitly installs the python3-dnf RPM
using Ansible's 'command' module.  It should be removed after Zuul
contains a newer release of Ansible.

[1] https://fedoraproject.org/wiki/Changes/ReplaceDnfWithDnf5

https://github.com/containers/toolbox/pull/1338

Signed-off-by: Daniel Pawlik <dpawlik@redhat.com>
This commit is contained in:
Daniel Pawlik 2023-07-11 10:24:01 +02:00 committed by Debarshi Ray
parent 84ae385f33
commit 96791726a3
2 changed files with 10 additions and 0 deletions

View file

@ -14,6 +14,11 @@
# limitations under the License.
#
- name: Install python3-dnf
become: true
command: dnf5 --assumeyes install python3-dnf
when: ansible_distribution_major_version | int >= 39
- name: Ensure that subordinate group ID ranges are absent
become: yes
file:

View file

@ -14,6 +14,11 @@
# limitations under the License.
#
- name: Install python3-dnf
become: true
command: dnf5 --assumeyes install python3-dnf
when: ansible_distribution_major_version | int >= 39
- name: Install RPM packages
become: yes
package: