LINUX.ORG.RU
ФорумAdmin

Ansible и Python 3.12

 ,


0

2

Попробовал свои плейбуки на серверах с новой Ubuntu24, там где Python 3.12 и поймал несовместимость на уровне requests/urllib3

То-есть, скрипт плейбука сгенерированный ансамблем на более раннем Python 3.10 не работает в среде Python 3.12, скорее всего и в обратную сторону тоже не будет работать

И как теперь запускать плейбуки на разных машинах?

★★

Последнее исправление: fMad (всего исправлений: 1)

Ответ на: комментарий от Jaeger1999

Что это за велосипед, у которого даже сайт не открывается?

Кому надо декларативное конфигурирование, те перешли на NixOS.

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

Когда ансамбль пытается подключиться к чему либо, то он использует requests/urllib3 и там вылетает вот такое

dist-packages/urllib3/connectionpool.py", line 497, in _make_request conn.request( TypeError: HTTPConnection.request() got an unexpected keyword argument 'chunked'

в частности при обращении к докеру

If the required library is installed, but Ansible is using the wrong Python interpreter, please consult the documentation on ansible_python_interpreter, for example via `pip install docker` (Python >= 3.6) or `pip install docker==4.4.4` (Python 2.7). The error was: No module named 'docker'"

там можно нашаманить с подменой версий библиотек и python, но для этого нужно заходить на эти хосты

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

Когда ансамбль пытается подключиться к чему либо, то он использует requests/urllib3 и там вылетает вот такое

правильно, это из-за ломающих изменений при обновлении urllib3 с 1.x на 2.x. Надо использовать правильную версию этой библиотеки, получается. Плюс она еще и может быть завендоренной

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

Думаю, можно ли это теоретически исправить.

Получается, нужно ждать обновления ансабля, чтобы там добавили проверки версий в модулях

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

Я так понял, ansible_community.docker.docker_compose использует для своей работы /usr/lib/python3/dist-packages/docker/ из python3-docker

https://pastebin.com/kEaLrCqq

можно подождать https://bugs.launchpad.net/ubuntu/+source/python-docker/+bug/2061929

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