таска ansible из-за того что возникает проблема с модулями python на узле ?
Как вы это решаете:
- Переписываете на raw/script с bash/sh
- Продолжаете есть кактус под соусом best practice ansible
?
Конкретику бы
Вот работало у тебя месяц назад роль/плейбук. В течении месяца другие роли и плейбуки работали...и обновили какие-то пакеты. А в новых пакетах какая-то бага. И вот тебе срочно нужно выполнить плейбук который ты запускал месяц назад, а в нём таска вываливается с ощибкой.
Обновили где? На стороне ansible, на стороне хоста? Если первое, почему не откатить версию?
Вопрос не про то как разобраться с питоном. А про то часто ли у вас такое случается и не заёбывает ли вас это? И стоит ли переписывать такие таски на raw/script с bash/sh ? Т.к. иногда нужно решить вопрос сейчас, а приходится минут 30 ковырять почему же питон отрыгивает.
Отваливание прям питонячих модулей у ансибла на целевом хосте - редкая хрень. Если конечно чего-нибудь самописного/специфичного не использовать. Core модули так я вообще не видел ни разу чтобы ломались. Решается или установкой/ремонтом модуля(ей) или да, переписыванием на raw. Но вообще такое "работало и перестало" в среде управляемой CM быть не может. С какого это перепугу кто-то вломился на сервер и сломал питонячьи либы?
В течении 4 лет периодический ловлю разные баги, которые препятсвют решить проблему сразу. Сегодня была очердная буза в конторе "давайте уберать bash" из ролей. Вот решил тут продолжить ))
По core согласен. Но чут влево/вправо и в любой момент можно поймать сурприз.
Нет. Очень сложно его поймать. Ещё раз - как используется у вас ансибл (СМ), что кто-то мимо него вносит изменения в системные библиотеки питона? Вы используете СМ как продвинутый аналого баша для каких-то точечных задач, а сами серваки проходной двор? Не делайте так и проблема уйдёт сама собой. IaC на то и iaC, чтобы решать эту проблему. Ну или (как вариант) собирай на целевом хосте venv под ансибл, который никто не будет трогать. И в конфиге укажи где искать интерпретатор. Правда это принесёт своих проблем (в том числе и с портянкой рав команд на нулевом сервере).
Вспомнил из недавнего. На ubuntu 20.04 отвалились все модуля питона использующие ssl из-за кривого модуля взаимодействия с openssl под python3.8 в стандартной репе. Кривой модуль пришёл с обновлением от предыдещей роли. Пришлось переехать на 3.9. Не критично, но осадочек остался. И это только один из примеров.
Только но pyenv/virtualenv ещё нужно настройть машину...через ansible.
Если речь про комьюнити модули, то бывает что баш это наименьшее зло, потому что внутри у них бывают тонны легаси
Я все ещё не понимаю как можно ломать системный питон, но да ладно. Неисповедимы пути коляски. Вобщем если тебя это настолько сильно беспокоит, то вот, накостыль и не давай никому трогать venv: https://docs.ansible.com/ansible/latest/reference_appendices/config.html#envvar-ANSIBLE_PYTHON_INTERPRETER https://kentrichards.net/blog/using-python-virtual-environment-remote-machine-ansible
Иногда это не очень чистый дедикейтед и времени на переустановку системы нет.
Не было такого. Все обновы и серваки под нашим управлением и никто туда ничего обновить не может без нашего ведома. Ну правда кибербезы с антивирусом иногда закидывают какое-то говно и получают пиздюдей, но это уже нюансы
Обсуждают сегодня