модуль?
при переходе на
ansible_python_interpreter: /usr/bin/python3
в доке написано что yum не поддерживается и нужно использовать dnf, но когда в playbook пишу
dnf: name=libselinux-python
ругается:
fatal: [default]: FAILED! => {"changed": false, "cmd": "dnf install -y python3-dnf", "msg": "[Errno 2] Нет такого файла или каталога: b'dnf': b'dnf'", "rc": 2}
куда копать?
Стоит ли python3-dnf и виден ли он питоном?
$ sudo yum install python3-dnf Пакета с названием python3-dnf не найдено. Ошибка: Выполнять нечего
Где там написано, что оно не поддерживается и откуда в CentOS 7 взяться DNF из коробки?
например тут https://docs.ansible.com/ansible/latest/collections/ansible/builtin/yum_module.html This module only works on Python 2. If you require Python 3 support see the ansible.builtin.dnf module.
Ну, тут речь про поддержку версий Python, а не то, что с этого модуля нужно куда-то бежать
https://t.me/pro_ansible/177739
Привет. Правильный ответ: ничем. Вернее, нЕчем. Нужный модуль существовал, но был потрачен якобы ввиду уязвимостей (wut?), и выпилен из pip. Поэтому не усложняй себе жизнь, и модули, работающие с пакетами, запускай с python2.
т.е. остается только в тасках менять интерпретатор?
Интерпретатор, ЕМНИП, задаётся для плея вроде. В общем, такой штукой уже занимался @ALexhha, ровно ту же пробелму решал, выше по чату можешь поискать.
package
можно и для таска, вот так например - name: Remove packages become: yes yum: name: "{{ prerequisite_packages_absent }}" state: absent vars: ansible_python_interpreter: /usr/bin/python
Да - самый лучший вариант для Centos 7. В тасках с yum оставляем дефолтный интерпретатор, а в других можно указывать альтернативный.
проще наоборот - деолтный задаем python3, и только для yum меняем на python 😉
видимо придется так...
Обсуждают сегодня