Назад | Перейти на главную страницу

Каков предпочтительный метод установки Python с Ansible на CentOS 8?

CentOS 8 не всегда поставляется с предустановленным Python, поэтому Ansible не сможет работать на удаленном компьютере, пока он не будет установлен. Однако в классическом курице / яйце вы не можете использовать Ansible. dnf модуль для установки Python.

Я использовал:

- name: Install Python 3
  raw: dnf -y install python3

Однако проблема в том, что мне нужно либо установить changed_when: false или он всегда будет возвращать измененное состояние. Я бы хотел, чтобы о состоянии было доложено правильно, если это возможно.

я нашел easy_install однако, похоже, это касается только библиотек Python, а не самого Python. Есть ли встроенный способ справиться с этим или есть raw: единственный вариант?

Да, raw module - предпочтительный способ установки Python с Ansible. Вы также можете включить некоторые другие необходимые пакеты для Ansible:

- name: Bootstrap a host without python2 installed
  raw: dnf install -y python2 python2-dnf libselinux-python

easy_install зависит от Python. Нет пути raw когда Python отсутствует. Обычно я использую это raw задача в рамках специального сценария начальной загрузки выполняется только один раз. Другая причина определить эту задачу вне других ролей и игр состоит в том, что вы не можете использовать сбор фактов, когда Python отсутствует в целевой системе.