Если в системе установлен perl-Package (со своим /usr/bin/pkg), то модуль package пытается использовать pkg5 вместо apt_rpm. Убедиться можно просто, вот такой плейбук при повторном запуске выдаст ошибку (при первом же сначала установит пакет perl-Package): --- - name: "Test" hosts: somehost tasks: - name: test package: state: present name: perl-Package Сама ошибка: FAILED! => { "changed": false, "module_stderr": "Shared connection to 10.88.15.103 closed.\r\n", "module_stdout": "...", "msg": "MODULE FAILURE\nSee stdout/stderr for the exact error", "rc": 1 } module_stdout в более-менее читабельном виде: Traceback (most recent call last): File "/root/.ansible/tmp/ansible-tmp-1638461393.9872942-13059-89818530951856/AnsiballZ_pkg5.py", line 102, in <module> _ansiballz_main() File "/root/.ansible/tmp/ansible-tmp-1638461393.9872942-13059-89818530951856/AnsiballZ_pkg5.py", line 94, in _ansiballz_main invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS) File "/root/.ansible/tmp/ansible-tmp-1638461393.9872942-13059-89818530951856/AnsiballZ_pkg5.py", line 40, in invoke_module runpy.run_module(mod_name='ansible.modules.packaging.os.pkg5', init_globals=None, run_name='__main__', alter_sys=True) File "/usr/lib64/python3.9/runpy.py", line 210, in run_module return _run_module_code(code, init_globals, run_name, mod_spec) File "/usr/lib64/python3.9/runpy.py", line 97, in _run_module_code _run_code(code, mod_globals, init_globals, File "/usr/lib64/python3.9/runpy.py", line 87, in _run_code exec(code, run_globals) File "/tmp/.private/root/ansible_pkg5_payload_a4h3htv4/ansible_pkg5_payload.zip/ansible/modules/packaging/os/pkg5.py", line 182, in <module> File "/tmp/.private/root/ansible_pkg5_payload_a4h3htv4/ansible_pkg5_payload.zip/ansible/modules/packaging/os/pkg5.py", line 106, in main File "/tmp/.private/root/ansible_pkg5_payload_a4h3htv4/ansible_pkg5_payload.zip/ansible/modules/packaging/os/pkg5.py", line 157, in ensure TypeError: can only concatenate list (not "filter") to list Судя по lib/ansible/module_utils/facts/system/pkg_mgr.py причина тут в том, что последний найденный package manager оказывается в приоритете. Потому и получаем pkg5 вместо apt. http://git.altlinux.org/gears/a/ansible.git?p=ansible.git;a=blob;f=lib/ansible/module_utils/facts/system/pkg_mgr.py;h=4fe36ff7aadb8a540b988670c7f5ca862aa47a84;hb=8c37018a689fba2462f5f972616b256b0ef804b1#l13
Сделал PR: https://github.com/ansible/ansible/pull/76457 В принципе, могу пока сделать патч у нас. Непонятно, пройдет ли в апстрим.
(Ответ для Slava Aseev на комментарий #1) > Сделал PR: https://github.com/ansible/ansible/pull/76457 > В принципе, могу пока сделать патч у нас. Непонятно, пройдет ли в апстрим. Я сейчас собираю ansible на stable-2.9 и ansible-core на master. Можно и туда и туда. Спасибо за патч.
ansible-2.9.26-alt3 -> sisyphus: Tue Dec 07 2021 Slava Aseev <ptrnine@altlinux> 2.9.26-alt3 - Prohibit pkg5 usage (closes: #41494)