ansible-test - Replace Fedora 40 with 41 (#84281)

* ansible-test - Replace Fedora 40 with 41

Also update other distro containers to remove unnecessary packages:

* apache2
* subversion
* ruby

* Fix subversion test on Ubuntu

Also remove obsolete vars files from subversion test.

* Skip dnf test on Fedora 41+

The dnf5 test is all that is needed.

* Support dnf5 for the package test

* Extend unix-chkpwd work-around for Fedora
pull/84525/head
Matt Clay 11 months ago committed by GitHub
parent 3a33d8a4c1
commit 648dcd3a6a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -121,8 +121,8 @@ stages:
targets: targets:
- name: Alpine 3.20 - name: Alpine 3.20
test: alpine/3.20 test: alpine/3.20
- name: Fedora 40 - name: Fedora 41
test: fedora/40 test: fedora/41
- name: RHEL 9.4 - name: RHEL 9.4
test: rhel/9.4 test: rhel/9.4
- name: Ubuntu 24.04 - name: Ubuntu 24.04
@ -138,8 +138,8 @@ stages:
targets: targets:
- name: Alpine 3.20 - name: Alpine 3.20
test: alpine320 test: alpine320
- name: Fedora 40 - name: Fedora 41
test: fedora40 test: fedora41
- name: Ubuntu 22.04 - name: Ubuntu 22.04
test: ubuntu2204 test: ubuntu2204
- name: Ubuntu 24.04 - name: Ubuntu 24.04
@ -153,8 +153,8 @@ stages:
targets: targets:
- name: Alpine 3.20 - name: Alpine 3.20
test: alpine320 test: alpine320
- name: Fedora 40 - name: Fedora 41
test: fedora40 test: fedora41
- name: Ubuntu 24.04 - name: Ubuntu 24.04
test: ubuntu2404 test: ubuntu2404
groups: groups:

@ -0,0 +1,3 @@
minor_changes:
- ansible-test - Replace container Fedora 40 with 41.
- ansible-test - Update distro containers to remove unnecessary pakages (apache2, subversion, ruby).

@ -1,2 +1,3 @@
minor_changes: minor_changes:
- ansible-test - Replace remote FreeBSD 13.3 with 13.4. - ansible-test - Replace remote FreeBSD 13.3 with 13.4.
- ansible-test - Replace remote Fedora 40 with 41.

@ -184,7 +184,7 @@ def get_test_scenarios() -> list[TestScenario]:
# Starting with Fedora 40, use of /usr/sbin/unix-chkpwd fails under Ubuntu 24.04 due to AppArmor. # Starting with Fedora 40, use of /usr/sbin/unix-chkpwd fails under Ubuntu 24.04 due to AppArmor.
# This prevents SSH logins from completing due to unix-chkpwd failing to look up the user with getpwnam. # This prevents SSH logins from completing due to unix-chkpwd failing to look up the user with getpwnam.
# Disabling the 'unix-chkpwd' profile works around the issue, but does not solve the underlying problem. # Disabling the 'unix-chkpwd' profile works around the issue, but does not solve the underlying problem.
disable_apparmor_profile_unix_chkpwd = engine == 'podman' and os_release.id == 'ubuntu' and container_name == 'fedora40' disable_apparmor_profile_unix_chkpwd = engine == 'podman' and os_release.id == 'ubuntu' and container_name.startswith('fedora')
cgroup_version = get_docker_info(engine).cgroup_version cgroup_version = get_docker_info(engine).cgroup_version

@ -16,47 +16,49 @@
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with Ansible. If not, see <http://www.gnu.org/licenses/>. # along with Ansible. If not, see <http://www.gnu.org/licenses/>.
- block: - when: not (ansible_distribution == 'Fedora' and ansible_distribution_version is version(41, '>=') and not (dnf5 | default(False)))
- include_tasks: dnf.yml block:
- include_tasks: skip_broken_and_nobest.yml - block:
- block: - include_tasks: dnf.yml
- include_tasks: filters.yml - include_tasks: skip_broken_and_nobest.yml
- include_tasks: filters_check_mode.yml - block:
tags: - include_tasks: filters.yml
- filters - include_tasks: filters_check_mode.yml
- include_tasks: gpg.yml tags:
- include_tasks: repo.yml - filters
- include_tasks: dnf_group_remove.yml - include_tasks: gpg.yml
- include_tasks: dnfinstallroot.yml - include_tasks: repo.yml
- include_tasks: logging.yml - include_tasks: dnf_group_remove.yml
- include_tasks: cacheonly.yml - include_tasks: dnfinstallroot.yml
- include_tasks: multilib.yml - include_tasks: logging.yml
when: ansible_distribution in ['Fedora', 'RedHat'] - include_tasks: cacheonly.yml
- include_tasks: multilib.yml
when: ansible_distribution in ['Fedora', 'RedHat']
# Attempting to install a different RHEL release in a tmpdir doesn't work (rhel8 beta) # Attempting to install a different RHEL release in a tmpdir doesn't work (rhel8 beta)
- include_tasks: dnfreleasever.yml - include_tasks: dnfreleasever.yml
when: ansible_distribution == 'Fedora' when: ansible_distribution == 'Fedora'
- when: - when:
- ansible_distribution == 'RedHat' - ansible_distribution == 'RedHat'
- not dnf5|default(false) - not dnf5|default(false)
block: block:
# FUTURE - look at including AppStream support in our local repo # FUTURE - look at including AppStream support in our local repo
- name: list modules - name: list modules
command: dnf module list -q command: dnf module list -q
register: module_list register: module_list
# A module that only has a single version # A module that only has a single version
- name: Find a module that meets our testing needs - name: Find a module that meets our testing needs
set_fact: set_fact:
astream_name: '@{{ module.name }}:{{ module.version }}/{{ module.profile }}' astream_name: '@{{ module.name }}:{{ module.version }}/{{ module.profile }}'
astream_name_no_stream: '@{{ module.name }}/{{ module.profile }}' astream_name_no_stream: '@{{ module.name }}/{{ module.profile }}'
vars: vars:
module: '{{ module_list.stdout|get_first_single_version_module }}' module: '{{ module_list.stdout|get_first_single_version_module }}'
- include_tasks: modularity.yml - include_tasks: modularity.yml
tags: tags:
- dnf_modularity - dnf_modularity
rescue: rescue:
# Just in case something crazy happens when listing or parsing modules # Just in case something crazy happens when listing or parsing modules
- meta: noop - meta: noop

@ -28,7 +28,7 @@
- name: validate output - name: validate output
assert: assert:
that: that:
- 'ansible_pkg_mgr == "dnf"' - 'ansible_pkg_mgr in ("dnf", "dnf5")'
always: always:
- name: remove apt - name: remove apt
dnf: dnf:

@ -1,5 +1,6 @@
--- ---
subversion_packages: subversion_packages:
- apache2
- subversion - subversion
- libapache2-mod-svn - libapache2-mod-svn
apache_user: www-data apache_user: www-data

@ -1,6 +0,0 @@
---
subversion_packages:
- subversion
- subversion-server
apache_user: wwwrun
apache_group: www

@ -1,6 +0,0 @@
---
subversion_packages:
- subversion
- libapache2-mod-svn
apache_user: www-data
apache_group: www-data

@ -1,8 +0,0 @@
---
subversion_packages:
- apache2 # /usr/sbin/apachectl
- apache2-utils # htpasswd
- subversion
- libapache2-mod-svn
apache_user: www-data
apache_group: www-data

@ -1,7 +1,7 @@
base image=quay.io/ansible/base-test-container:7.7.0 python=3.13,3.8,3.9,3.10,3.11,3.12 base image=quay.io/ansible/base-test-container:7.7.0 python=3.13,3.8,3.9,3.10,3.11,3.12
default image=quay.io/ansible/default-test-container:11.3.0 python=3.13,3.8,3.9,3.10,3.11,3.12 context=collection default image=quay.io/ansible/default-test-container:11.3.0 python=3.13,3.8,3.9,3.10,3.11,3.12 context=collection
default image=quay.io/ansible/ansible-core-test-container:11.3.0 python=3.13,3.8,3.9,3.10,3.11,3.12 context=ansible-core default image=quay.io/ansible/ansible-core-test-container:11.3.0 python=3.13,3.8,3.9,3.10,3.11,3.12 context=ansible-core
alpine320 image=quay.io/ansible/alpine320-test-container:8.1.0 python=3.12 cgroup=none audit=none alpine320 image=quay.io/ansible/alpine320-test-container:9.0.0 python=3.12 cgroup=none audit=none
fedora40 image=quay.io/ansible/fedora40-test-container:8.1.0 python=3.12 fedora41 image=quay.io/ansible/fedora41-test-container:9.0.0 python=3.13 cgroup=v2-only
ubuntu2204 image=quay.io/ansible/ubuntu2204-test-container:8.1.0 python=3.10 ubuntu2204 image=quay.io/ansible/ubuntu2204-test-container:9.0.0 python=3.10
ubuntu2404 image=quay.io/ansible/ubuntu2404-test-container:8.1.0 python=3.12 ubuntu2404 image=quay.io/ansible/ubuntu2404-test-container:9.0.0 python=3.12

@ -1,6 +1,6 @@
alpine/3.20 python=3.12 become=doas_sudo provider=aws arch=x86_64 alpine/3.20 python=3.12 become=doas_sudo provider=aws arch=x86_64
alpine become=doas_sudo provider=aws arch=x86_64 alpine become=doas_sudo provider=aws arch=x86_64
fedora/40 python=3.12 become=sudo provider=aws arch=x86_64 fedora/41 python=3.13 become=sudo provider=aws arch=x86_64
fedora become=sudo provider=aws arch=x86_64 fedora become=sudo provider=aws arch=x86_64
freebsd/13.4 python=3.11 python_dir=/usr/local/bin become=su_sudo provider=aws arch=x86_64 freebsd/13.4 python=3.11 python_dir=/usr/local/bin become=su_sudo provider=aws arch=x86_64
freebsd/14.1 python=3.9,3.11 python_dir=/usr/local/bin become=su_sudo provider=aws arch=x86_64 freebsd/14.1 python=3.9,3.11 python_dir=/usr/local/bin become=su_sudo provider=aws arch=x86_64

Loading…
Cancel
Save