LINUX.ORG.RU
решено ФорумAdmin

Ansible и проблема Python 2 => Python3

 , , ,


0

2

Привет!

Вопросы по сабжу.

  • насколько проблема актуальна для Ansible?
  • Какой процент модулей поддерживает третий Питон?

Или будет достаточно установки в инвентаре

ansible_python_interpreter=/usr/bin/python3

?

★★★★★

насколько проблема актуальна для Ansible?

ни разу не встречал проблем, незначительные проблемы с версией питона у меня были с васяномодулями с гитхаба года 4 назад

Какой процент модулей поддерживает третий Питон?

по-моему, все модули, начиная с версии ansible 2.6 обязаны иметь поддержку питон3

ansible_python_interpreter=/usr/bin/python3

всегда и везде так делаю уже давно, всё чётко

bass ★★★★★ ()

python2 deprecated при том очень давно и я 6 лет назад уже не встречал его в модулях ansible (да и вообще в любом живом софте)

peregrine ★★★★★ ()

Зависит от версии ансибла, старая - python2, новая python3

Старая с новым питоном на клиентах плохо работает.
И сама с третим питоном плохо работает потому что они не совместимы.

zgen ★★★★★ ()
Ответ на: комментарий от zgen

Приведу конкретный пример, ради чего создавал этот топик:

вот плейбук с развёртыванием почтовика. В отличие от остальных шпаргалок плейбуков все отрабатывает без особых вопросов, кроме того, что клиентская машина хоть убей требует python2. Управляющая Debian 10, клиент Ubuntu 18.04 .

Хоть и развёрнуто всё для теста, но не хотелось бы ломать систему симлинками)

P.S. На контролирующей машине ansible 2.7.7

Twissel ★★★★★ ()
Последнее исправление: Twissel (всего исправлений: 1)
Ответ на: комментарий от peregrine

python2 deprecated при том очень давно и я 6 лет назад уже не встречал его в модулях ansible (да и вообще в любом живом софте)

Куча кода еще на втором питоне работает, особенно ос и вендор специфичные вещи. То, что красношапка спрятала его внутрь, не значит что его нет :)

stave ★★★★★ ()
Ответ на: комментарий от Twissel

кроме того, что клиентская машина хоть убей требует python2.

Пропиши параметром к клиентской машине в ansible hosts путь до python2 на клиенте

host_name.ltd ansible_python_interpreter=/usr/local/bin/python

zgen ★★★★★ ()
Последнее исправление: zgen (всего исправлений: 2)
Ответ на: комментарий от zgen

Спасибо, но заковыка не в этом.

Дело в том, что на клиентской Убунте по умолчанию нету python (2.7), если его поставить (на клиенте), все заводится и без этого.

Не понятно другое: в идеале ведь ansible не должен зависеть от ПО установленного на клиенте... да, а тут такой затык. Непонятна его причина.

Twissel ★★★★★ ()
Последнее исправление: Twissel (всего исправлений: 3)
Ответ на: комментарий от Twissel

слушай, мы тут про теорию не говорим. Ты спросил как есть, я ответил. Я не понимаю что ты от меня еще хочешь. Что должен делать ansible и чего не должен - ты автору его говори, окей?

zgen ★★★★★ ()
Ответ на: комментарий от zgen

Хех)

От тебя лично? Да вроде ты мне денег не должен, а значит ничего =)

Думал, может есть какие-то соображения отчего творится необъяснимая хренотень, но если нет, то и ладно.

Я это к тому, что даже пути прописывать не надо - достаточно просто доставить python 2.7 на клиентской машине.

Twissel ★★★★★ ()
Последнее исправление: Twissel (всего исправлений: 1)
Ответ на: комментарий от FireFighter

Хорошо, предположим.

Как тогда заставить его на клиенте использовать 3й Питон, т.к. строка из ОП не помогает, проверено.

Twissel ★★★★★ ()
Ответ на: комментарий от Twissel

Запусти с дебагом и подробным выводом, там он пишет, какой python клиента использует. Более подробно описано здесь https://docs.ansible.com/ansible/latest/reference_appendices/interpreter_discovery.html

FireFighter ★★★ ()
Последнее исправление: FireFighter (всего исправлений: 1)
Ограничение на отправку комментариев: только для зарегистрированных пользователей