diff --git a/.azure-pipelines/azure-pipelines.yml b/.azure-pipelines/azure-pipelines.yml index 3c422d8d..e84db8d2 100644 --- a/.azure-pipelines/azure-pipelines.yml +++ b/.azure-pipelines/azure-pipelines.yml @@ -196,6 +196,8 @@ stages: parameters: testFormat: devel/{0} targets: + - name: RHEL 10.0 + test: rhel/10.0 - name: RHEL 9.6 with Docker SDK, urllib3, requests from sources test: rhel/9.6-dev-latest # For some reason, Ubuntu 24.04 is *extremely* slower than RHEL 9.6 diff --git a/antsibull-nox.toml b/antsibull-nox.toml index 145469af..2aa5cc7f 100644 --- a/antsibull-nox.toml +++ b/antsibull-nox.toml @@ -222,11 +222,14 @@ target = [ "azp/1/", "azp/2/", "azp/3/", "azp/4/", "azp/5/" ] remote = [ "rhel/9.6" ] ansible_vars = { force_docker_sdk_for_python_dev = { type = "value", value = true, template_value = "sdk-dev-latest" } } -# For some reason, Ubuntu 24.04 is *extremely* slower than RHEL 9.6 -# [[sessions.ansible_test_integration.groups.sessions]] -# ansible_core = "devel" -# target = [ "azp/1/", "azp/2/", "azp/3/", "azp/4/", "azp/5/" ] -# remote = [ "ubuntu/24.04" ] +[[sessions.ansible_test_integration.groups.sessions]] +ansible_core = "devel" +target = [ "azp/1/", "azp/2/", "azp/3/", "azp/4/", "azp/5/" ] +remote = [ + "rhel/10.0", + # For some reason, Ubuntu 24.04 is *extremely* slower than RHEL 9.6 + # "ubuntu/24.04", +] ################################################################################################## diff --git a/tests/integration/targets/setup_docker/tasks/RedHat-10.yml b/tests/integration/targets/setup_docker/tasks/RedHat-10.yml new file mode 100644 index 00000000..9afe4b2e --- /dev/null +++ b/tests/integration/targets/setup_docker/tasks/RedHat-10.yml @@ -0,0 +1,39 @@ +--- +# Copyright (c) Ansible Project +# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt) +# SPDX-License-Identifier: GPL-3.0-or-later + +# The RHEL extras repository must be enabled to provide the container-selinux package. +# See: https://docs.docker.com/engine/installation/linux/docker-ee/rhel/#install-using-the-repository + +- name: Install Docker pre-reqs + dnf: + name: "{{ docker_prereq_packages }}" + state: present + notify: cleanup docker + register: result + until: result is success + retries: 10 + delay: 2 + +# Docker broke their .repo file, so we set it up ourselves +- name: Set-up repository + yum_repository: + name: docker-ce + description: docker-ce + baseurl: https://download.docker.com/linux/rhel/{{ ansible_facts.distribution_major_version }}/$basearch/stable + gpgcheck: true + gpgkey: https://download.docker.com/linux/rhel/gpg + +- name: Install docker + dnf: + name: "{{ docker_packages if needs_docker_daemon else docker_cli_packages }}" + state: present + notify: cleanup docker + +- name: Make sure the docker daemon is running (failure expected inside docker container) + service: + name: docker + state: started + ignore_errors: "{{ ansible_virtualization_type in ['docker', 'container', 'containerd'] }}" + when: needs_docker_daemon diff --git a/tests/integration/targets/setup_docker/vars/RedHat-10.yml b/tests/integration/targets/setup_docker/vars/RedHat-10.yml new file mode 100644 index 00000000..eb17b245 --- /dev/null +++ b/tests/integration/targets/setup_docker/vars/RedHat-10.yml @@ -0,0 +1,18 @@ +--- +# Copyright (c) Ansible Project +# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt) +# SPDX-License-Identifier: GPL-3.0-or-later + +docker_prereq_packages: + - yum-utils + - device-mapper-persistent-data + - lvm2 + - libseccomp + - iptables + - "kernel-modules-extra-{{ ansible_facts.kernel }}" + +docker_packages: + - docker-ce # -19.03.13 + - docker-ce-cli # -19.03.13 +docker_cli_packages: + - docker-ce-cli # -19.03.13 diff --git a/tests/integration/targets/setup_docker_cli_buildx/tasks/RedHat-10.yml b/tests/integration/targets/setup_docker_cli_buildx/tasks/RedHat-10.yml new file mode 120000 index 00000000..0b069514 --- /dev/null +++ b/tests/integration/targets/setup_docker_cli_buildx/tasks/RedHat-10.yml @@ -0,0 +1 @@ +nothing.yml \ No newline at end of file diff --git a/tests/integration/targets/setup_docker_cli_compose/tasks/RedHat-10.yml b/tests/integration/targets/setup_docker_cli_compose/tasks/RedHat-10.yml new file mode 120000 index 00000000..0b069514 --- /dev/null +++ b/tests/integration/targets/setup_docker_cli_compose/tasks/RedHat-10.yml @@ -0,0 +1 @@ +nothing.yml \ No newline at end of file diff --git a/tests/integration/targets/setup_docker_compose_v2/tasks/RedHat-10.yml b/tests/integration/targets/setup_docker_compose_v2/tasks/RedHat-10.yml new file mode 100644 index 00000000..54986845 --- /dev/null +++ b/tests/integration/targets/setup_docker_compose_v2/tasks/RedHat-10.yml @@ -0,0 +1,9 @@ +--- +# Copyright (c) Ansible Project +# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt) +# SPDX-License-Identifier: GPL-3.0-or-later + +- name: Install docker-compose as system package + dnf: + name: "{{ docker_compose_packages }}" + state: present diff --git a/tests/integration/targets/setup_podman/tasks/main.yml b/tests/integration/targets/setup_podman/tasks/main.yml index 183c73bb..f820c517 100644 --- a/tests/integration/targets/setup_podman/tasks/main.yml +++ b/tests/integration/targets/setup_podman/tasks/main.yml @@ -57,7 +57,7 @@ systemd_service: name: "{{ podman_socket_service }}" state: started - scope: "{{ 'global' if podman_user_id.stdout == '0' and ansible_facts.os_family == 'RedHat' else 'user' }}" + scope: "{{ 'global' if podman_user_id.stdout == '0' and ansible_facts.os_family == 'RedHat' and (ansible_facts.distribution_major_version | int < 10) else 'user' }}" environment: XDG_RUNTIME_DIR: "{{ '/run' if podman_user_id.stdout == '0' else ('/run/user/' ~ podman_user_id.stdout) }}"