From e0103eb66c3669ae5cc729655bf4adceb6c487e4 Mon Sep 17 00:00:00 2001 From: Alex Willmer Date: Wed, 26 Nov 2025 13:24:00 +0000 Subject: [PATCH] CI: Add OS release coverage: AlmaLinux 9 --- .ci/ci_lib.py | 2 +- docs/changelog.rst | 1 + tests/ansible/hosts/group_vars/alma9.yml | 8 ++++++++ tests/ansible/integration/ssh/password.yml | 4 ++-- tests/image_prep/host_vars/alma9.yml | 1 + tests/testlib.py | 2 +- tox.ini | 14 +++++++------- 7 files changed, 21 insertions(+), 11 deletions(-) create mode 100644 tests/ansible/hosts/group_vars/alma9.yml diff --git a/.ci/ci_lib.py b/.ci/ci_lib.py index eace0b71..7289f173 100644 --- a/.ci/ci_lib.py +++ b/.ci/ci_lib.py @@ -34,7 +34,7 @@ ANSIBLE_TESTS_HOSTS_DIR = os.path.join(GIT_ROOT, 'tests/ansible/hosts') ANSIBLE_TESTS_TEMPLATES_DIR = os.path.join(GIT_ROOT, 'tests/ansible/templates') DISTRO_SPECS = os.environ.get( 'MITOGEN_TEST_DISTRO_SPECS', - 'centos6 centos8-py3 debian9 debian11 ubuntu1604 ubuntu2004', + 'alma9-py3 centos6 centos8-py3 debian9 debian11 ubuntu1604 ubuntu2004', ) IMAGE_PREP_DIR = os.path.join(GIT_ROOT, 'tests/image_prep') IMAGE_TEMPLATE = os.environ.get( diff --git a/docs/changelog.rst b/docs/changelog.rst index edfc1ceb..2692cc07 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -23,6 +23,7 @@ In progress (unreleased) * :gh:issue:`1118` CI: Use 2025.02 test images, keeping same OS releases * :gh:issue:`1358` CI: Bump deprecated macOS 13 runner to macOS 15 +* :gh:issue:`1118` CI: Add OS release coverage: AlmaLinux 9 v0.3.33 (2025-11-22) diff --git a/tests/ansible/hosts/group_vars/alma9.yml b/tests/ansible/hosts/group_vars/alma9.yml new file mode 100644 index 00000000..25fd10bd --- /dev/null +++ b/tests/ansible/hosts/group_vars/alma9.yml @@ -0,0 +1,8 @@ +pkg_mgr_python_interpreter: python3 + +# Alma Linux 9, RHEL 9, etc. lack a virtualenv package +virtualenv_create_argv: + - "{{ virtualenv_python }}" + - -m + - venv + - "{{ virtualenv_path }}" diff --git a/tests/ansible/integration/ssh/password.yml b/tests/ansible/integration/ssh/password.yml index ca08fa5b..5301c084 100644 --- a/tests/ansible/integration/ssh/password.yml +++ b/tests/ansible/integration/ssh/password.yml @@ -35,7 +35,7 @@ ssh_no_password_result.msg is search('SSH password was requested, but none specified') or ssh_no_password_result.msg is search('SSH password is incorrect') or ssh_no_password_result.msg is search('Invalid/incorrect password') - or ssh_no_password_result.msg is search('Permission denied \(publickey,password(,keyboard-interactive)?\)') + or ssh_no_password_result.msg is search('Permission denied \(publickey(,gssapi-keyex)?(,gssapi-with-mic)?,password(,keyboard-interactive)?\)') fail_msg: | ssh_no_password_result={{ ssh_no_password_result }} @@ -72,6 +72,6 @@ - >- ssh_wrong_password_result.msg is search('SSH password is incorrect') or ssh_wrong_password_result.msg is search('Invalid/incorrect password') - or ssh_wrong_password_result.msg is search('Permission denied \(publickey,password(,keyboard-interactive)?\)') + or ssh_no_password_result.msg is search('Permission denied \(publickey(,gssapi-keyex)?(,gssapi-with-mic)?,password(,keyboard-interactive)?\)') fail_msg: | ssh_wrong_password_result={{ ssh_wrong_password_result }} diff --git a/tests/image_prep/host_vars/alma9.yml b/tests/image_prep/host_vars/alma9.yml index 63279e0c..430d6bf2 100644 --- a/tests/image_prep/host_vars/alma9.yml +++ b/tests/image_prep/host_vars/alma9.yml @@ -3,3 +3,4 @@ docker_base: almalinux:9 packages: - perl-JSON + - procps-ng diff --git a/tests/testlib.py b/tests/testlib.py index 803159a3..6577f30b 100644 --- a/tests/testlib.py +++ b/tests/testlib.py @@ -53,7 +53,7 @@ LOG = logging.getLogger(__name__) DISTRO_SPECS = os.environ.get( 'MITOGEN_TEST_DISTRO_SPECS', - 'centos6 centos8-py3 debian9 debian11 ubuntu1604 ubuntu2004', + 'alma9-py3 centos6 centos8-py3 debian9 debian11 ubuntu1604 ubuntu2004', ) IMAGE_TEMPLATE = os.environ.get( 'MITOGEN_TEST_IMAGE_TEMPLATE', diff --git a/tox.ini b/tox.ini index 3270f10a..d660054d 100644 --- a/tox.ini +++ b/tox.ini @@ -123,18 +123,18 @@ setenv = ans{2.10,3,4,5}: ANSIBLE_STDOUT_CALLBACK=yaml # Print warning on the first occurence at each module:linenno in Mitogen. Available Python 2.7, 3.2+. PYTHONWARNINGS=default:::ansible_mitogen,default:::mitogen - ans{2.10,3,4,5}: MITOGEN_TEST_DISTRO_SPECS=centos6 centos8-py3 debian9 debian11 ubuntu1604 ubuntu2004 + ans{2.10,3,4,5}: MITOGEN_TEST_DISTRO_SPECS=alma9-py3 centos6 centos8-py3 debian9 debian11 ubuntu1604 ubuntu2004 # Ansible 6 - 8 (ansible-core 2.13 - 2.15) require Python 2.7 or >= 3.5 on targets - ans{6,7,8}: MITOGEN_TEST_DISTRO_SPECS=centos7 centos8-py3 debian9 debian10 debian11 ubuntu1604 ubuntu1804 ubuntu2004 + ans{6,7,8}: MITOGEN_TEST_DISTRO_SPECS=alma9-py3 centos7 centos8-py3 debian9 debian10 debian11 ubuntu1604 ubuntu1804 ubuntu2004 # Ansible 9 (ansible-core 2.16) requires Python 2.7 or >= 3.6 on targets - ans9: MITOGEN_TEST_DISTRO_SPECS=centos7 centos8-py3 debian9 debian10 debian11 ubuntu1804 ubuntu2004 + ans9: MITOGEN_TEST_DISTRO_SPECS=alma9-py3 centos7 centos8-py3 debian9 debian10 debian11 ubuntu1804 ubuntu2004 # Ansible 10 (ansible-core 2.17) requires Python >= 3.7 on targets - ans10: MITOGEN_TEST_DISTRO_SPECS=debian10-py3 debian11-py3 ubuntu2004-py3 + ans10: MITOGEN_TEST_DISTRO_SPECS=alma9-py3 debian10-py3 debian11-py3 ubuntu2004-py3 # Ansible 11 (ansible-core 2.18) requires Python >= 3.8 on targets - ans11: MITOGEN_TEST_DISTRO_SPECS=debian11-py3 ubuntu2004-py3 - ans12: MITOGEN_TEST_DISTRO_SPECS=debian11-py3 ubuntu2004-py3 + ans11: MITOGEN_TEST_DISTRO_SPECS=alma9-py3 debian11-py3 ubuntu2004-py3 + ans12: MITOGEN_TEST_DISTRO_SPECS=alma9-py3 debian11-py3 ubuntu2004-py3 # Ansible 13 (ansible-core 2.20) requires Python >= 3.9 on targets - ans13: MITOGEN_TEST_DISTRO_SPECS=debian11-py3 + ans13: MITOGEN_TEST_DISTRO_SPECS=alma9-py3 debian11-py3 m_ans: MODE=ansible m_ans: ANSIBLE_SKIP_TAGS=resource_intensive m_ans: ANSIBLE_CALLBACK_WHITELIST=profile_tasks