Stefan
в чем вопрос?
на рабочей тачке всё отлично отрабатывает, но когда запускаю это в alpine образе в ci/cd в docker in docker степ с циклом тупо не проходит, из-за того что выбивает undefined variable, такое впечатление что из-за этого дело(
Tadeusz
кто отвечает этой ошибкой
Tadeusz
гитлаб?
Stefan
гитлаб?
неа, сам ансибл
Tadeusz
-vvv ему?
Stefan
-vvv ему?
сейчас на -vv, ниче нового нет, пробну на -vvv
Stefan
-vvv ему?
TASK [bar_sites : Generate nginx config] *************************************** task path: /builds/bar_site/drinkhome/ansible/roles/bar_sites/tasks/main.yml:11 fatal: [drinkhome.bar]: FAILED! => { "msg": "The task includes an option with an undefined variable. The error was: 'ansible.utils.unsafe_proxy.AnsibleUnsafeText object' has no attribute 'domain_name'\n\nThe error appears to have been in '/builds/bar_site/drinkhome/ansible/roles/bar_sites/tasks/main.yml': line 11, column 3, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n\n- name: Generate nginx config\n ^ here\n" } ну ошибка не меняется, максимальная информативность при этом тот же код запускается без проблем на linux mint в оболочке что-ли дело...
Lamobot
сейчас на -vv, ниче нового нет, пробну на -vvv
В контейнере проверьте шелл и локали
Stefan
В контейнере проверьте шелл и локали
а что имеется ввиду проверить shell?
Lamobot
а что имеется ввиду проверить shell?
Ок. Просто локали проверьте :)
Stefan
а версии энсибла одинаковые?
да, до этого были разные, потом принципиально поставил одну и туже
Stefan
Ок. Просто локали проверьте :)
а что я конкретно там должен увидеть? чтоб понимать, что не так
Lamobot
Сравните локали в докер контейнере, где не работает роль, и там где работает
Lamobot
Переменные окружения, связанные с локалями
Stefan
Переменные окружения, связанные с локалями
об этом же речь? это на моей рабочей тачке, в alpine locale команды нет locale LANG=en_US.UTF-8 LANGUAGE=en_US LC_CTYPE="en_US.UTF-8" LC_NUMERIC=uk_UA.UTF-8 LC_TIME="en_US.UTF-8" LC_COLLATE="en_US.UTF-8" LC_MONETARY=uk_UA.UTF-8 LC_MESSAGES="en_US.UTF-8" LC_PAPER=uk_UA.UTF-8 LC_NAME=uk_UA.UTF-8 LC_ADDRESS=uk_UA.UTF-8 LC_TELEPHONE=uk_UA.UTF-8 LC_MEASUREMENT=uk_UA.UTF-8 LC_IDENTIFICATION=uk_UA.UTF-8 LC_ALL=
Stefan
вот их сейчас и смотрю.. не думал что всё так печально, капец
Sergey
об этом же речь? это на моей рабочей тачке, в alpine locale команды нет locale LANG=en_US.UTF-8 LANGUAGE=en_US LC_CTYPE="en_US.UTF-8" LC_NUMERIC=uk_UA.UTF-8 LC_TIME="en_US.UTF-8" LC_COLLATE="en_US.UTF-8" LC_MONETARY=uk_UA.UTF-8 LC_MESSAGES="en_US.UTF-8" LC_PAPER=uk_UA.UTF-8 LC_NAME=uk_UA.UTF-8 LC_ADDRESS=uk_UA.UTF-8 LC_TELEPHONE=uk_UA.UTF-8 LC_MEASUREMENT=uk_UA.UTF-8 LC_IDENTIFICATION=uk_UA.UTF-8 LC_ALL=
Ты на какой-то баг наткнулся (https://stackoverflow.com/questions/57333424/how-to-fix-ansible-utils-unsafe-proxy-ansibleunsafetext-object-has-no-attribut). Подозреваю, что из-за сочетания неудачно выбранного способа обращения к ключам словаря (почему ты к ним обращаешься через точку вообще?) и ключа name.
Stefan
Ну... не используй альпин.
а если не хочется к примеру большой образ, разница в 100 мб, но тем не менее)
Stefan
думал альпина бест практис
Sergey
думал альпина бест практис
Бест практис - использовать то, что умеешь и понимаешь. В альпине даже stdlib другой, если ты не в курсе. Соответственно, всё на нём приготовленное имеет полное право ломаться когда угодно и на чём угодно :-D
Lamobot
а если не хочется к примеру большой образ, разница в 100 мб, но тем не менее)
В докере используются файловые системы со слоями, ты один раз качаешь 100Мб основы, и потом они реиспользуются во всех образах/контейнерах на основе этого слоя.
Stefan
не столь критично конечно, просто интересно было бы, если бы он весил 500+ мб, а альпина 200мб)
Terry
у меня debian based docker с nodejs говноприложением - 2.5 гб, с alpine - 1.1
Stefan
потому что проблема оболочек мне кажется и отсутствии как писали выше локалей
Sergey
не не, именно медленнее
Ну мы же здесь не сорта доскера обсуждаем :-)
Terry
Ну мы же здесь не сорта доскера обсуждаем :-)
https://pythonspeed.com/articles/alpine-docker-python нет конечно, просто вспомнилось :D
Stefan
https://pastebin.com/RGz8Y2i5
Stefan
https://pastebin.com/RGz8Y2i5
и при этом, если закомментить этот степ, всё остальное запускается без проблем, так как я локально это пытаюсь сделать, генерацию конфигов, поэтому теорию о локалях может быть верна
Stefan
в host_vars
Aleksey
А можно поинтересоваться как вы с тестовой средой работаете? Тоже через GIT? Т.е. каждая правка роли - отдельный коммит?
Aleksey
Опечатки и т.п. мелкие ошибки - у меня будет коммитов просто до жопы
Stefan
лол, таки дело в образе) FROM debian:9 RUN apt-get update && \ apt-get install rsync ssh python python-pip python-dev -y && \ pip install --no-cache --upgrade pip && \ pip install --no-cache --upgrade setuptools ansible==2.6.19 собрал таким образом, правда для питона2 и завелось всем спасибо!
Sergey
Господа, напоминаю - этот чат посвящён обcуждению Ansible, и сегодня не пятница.
Aleksey
Не в политике дело. Похоже я неверно вызываю powershell из ansible и он остается ждать команд на стандартном вводе
Если кому интересно - действительно неверно передавал скрипт powershell-у. В win_command реализована паредача команд в виде EncodedCommand на stdin запущенного экземпляра powershell. Правильно вот так: --- - hosts: rb-pshost1 # gather_facts: no become: yes become_method: runas become_user: Administrator tasks: - name: Ping win_ping: - name: Run test Powershell script win_command: powershell.exe -nologo args: stdin: c:\Tmp\test.ps1
Alex
https://marketplace.visualstudio.com/items?itemName=vscoss.vscode-ansible кто то пользуется?
Alex
или есть что то лучше?
Grek 🇺🇦
https://marketplace.visualstudio.com/items?itemName=vscoss.vscode-ansible кто то пользуется?
смотря для чего лучше, я его использую только для удобного запуска плейбуков из ide
Alex
больше инетересны проверка сиинтаксиса и подсказки/автодополнения
Anton
Ребят, помогите плиз, не могу приконнектиться с ансибл хоста к виндовым машинам
Anton
Anton
Anton
Anton
Lamobot
pip install pywinrm
Anton
pip install pywinrm
пробовал. не сработало
Sergey
пробовал. не сработало
Ты в системный питон 3.4 поставил. Ансибл у тебя каким запускается?
Sergey
pip search winrm
Первый скриншот жи.
Anton
Sergey
И ты ставил pywinrm, а Ансибл хочет wimrm.
Anton
root@bld-07$ python --version Python 2.7.5
Sergey
root@bld-07$ python --version Python 2.7.5
Поставил модуль в одно место, запускаешь Ansible с Python из другого.
Sergey
Посмотри на пути на своих скриншотах.
Aleksey
И ты ставил pywinrm, а Ансибл хочет wimrm.
У меня именно с pywinrm работает
Aleksey
Только вчера ставил
Aleksey
rb-adm :: ~/ansible # python Python 2.7.5 (default, Apr 2 2020, 13:16:51) [GCC 4.8.5 20150623 (Red Hat 4.8.5-39)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import winrm >>> rb-adm :: ~/ansible # pip freeze | grep winrm DEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 is no longer maintained. pip 21.0 will drop support for Python 2.7 in January 2021. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support pywinrm==0.4.1
Aleksey
rb-adm :: ~/ansible/windows # ansible rb-pshost1 -m win_ping rb-pshost1 | SUCCESS => { "changed": false, "ping": "pong" }
Jack
SnakeYAML + Ansible в PyCharm
там магии никакой нет? поставил, добавил extension YAML к SnakeYAML, но чот пока не хочет
Alex
SnakeYAML + Ansible в PyCharm
хотелось бы что то полегче, чем pycharm
Sergey
У меня именно с pywinrm работает
Это никак не отменяет то, что в первом скриншоте ты ставил pywinrm в Python 3.4, а запускаешь Ansible с Python 2.7.5.
Aleksandr
или есть что то лучше?
нет, к сожалению самое лучшее, что я нашел, это плагин OrchedE для разных ide от jetbrains, но он стоит $14 в месяц, кроме самой IDE еще
Sergey
нет, к сожалению самое лучшее, что я нашел, это плагин OrchedE для разных ide от jetbrains, но он стоит $14 в месяц, кроме самой IDE еще
Да, я его не стал указывать как раз из-за стоимости, потому что в масштабах энтерпрайза толстенько выходит.