Vladimir
...и не понятно, кто ругается, и что хочет питон.
manefesto
Проблема есть
manefesto
Но нам ее не видно
Andrey
[DEPRECATION WARNING]: The use of 'include' for tasks has been deprecated. Use 'import_tasks' for static inclusions or 'include_tasks' for dynamic inclusions. This feature will be removed in a future release.
Deprecation warnings can be disabled by setting deprecation_warnings=False in ansible.cfg.
[DEPRECATION WARNING]: include is kept for backwards compatibility but usage is discouraged. The module documentation details page may explain more about this rationale.. This feature will be removed in a
future release. Deprecation warnings can be disabled by setting deprecation_warnings=False in ansible.cfg.
Andrey
плейбук обновил
Andrey
теперь вот такую пепяку выводит
Andrey
ааа
Andrey
допёрло
Andrey
сорри
Andrey
в роли был include а я про него забыл. поменял на import_tasks
simplemice.eth
Womchik
+1
Aleksei
Народ подскажите:
Делаю check playbook'а, который содержит command модули. Дойдя до модуля command Ansible падает с ошибкой, что он не может мне сказать, что произойдёт при выполнении. Есть возможность заставить его не падать, а продолжать работу, показав, что модуль comman просто выполнится?
Nklya
Нужно огораживать вызов таких вызовов
Ievgen
а как ошибка выглядит?
Ievgen
но в общем случае неплохо бы ловить exit code того что ты запускаешь через command и определять failed_when и changed_when о чем собственно ansible и предупреждает обычно
Aleksei
Сценарий:
- name: Add aliase
shell: 'echo "root: example@example.com" >> /etc/aliases'
when: answer1.stdout == "0"
Ошибка:
fatal: [10.11.12.13]: FAILED! => {"failed": true, "msg": "The conditional check 'answer1.stdout == \"0\"' failed. The error was: error while evaluating conditional (answer1.stdout == \"0\"): 'dict object' has no attribute 'stdout'\n\nThe error appears to have been in '/ansible/roles/common/ssmtp/tasks/main.yml': line 17, 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: Add aliase\n ^ here\n"}
Вчитался в ошибку, понял в чём косяк. Пойду разбираться. дальше. Спасибо за ответ ^^
Roman
Roman
ваша команда будет каждый раз добавлять по строке в конец файла при выполнении
Ievgen
👍
Ievgen
именно
Aleksei
именно
Заменим. Спасибо за подсказку.
Но проблема скорее в условии... Думаю, надо проводить валидацию того, что было написано в роли и будет мне счастье =)
Ievgen
вне зависимости от, использовать ансибл для того чтобы шеллом что то делать не есть гуд, как выше отписали, shell/command это самый крайний случай как по мне
Roman
Aleksei
Roman
Вы попали в точку
при использовании lineinfile вам не придется этого делать, модули ансибл идемпотентны
Aleksei
Aleksey
Andrey
Aleksey
ну я тоже так хочу. но я не знаю чего там на нодах
Aleksey
начальную инифицлизацию бы как то упроситить
Andrey
это как не знаешь?
Aleksey
ну так вот...
Aleksey
там может быть 5 осей.
Aleksey
4 линукса и фря.
Andrey
ну тебе нужно узнать есть ли питон. через raw
Andrey
а потом можно питоном всё остальное
Aleksey
ну вот его там нету видимо.
Aleksey
а но when будет доступен да ?
Andrey
нет же.
Andrey
всё надо будет через raw делать и шеллом прям на хосте
Andrey
узнать что за система и поставить питон нужный
Andrey
но вообще наверное можно register сделать по результатам исполнения raw/
Aleksey
ну там не только питон же надо.
Andrey
надо подумать как это организовать
Aleksey
в рхеле еще надо requeretty
Andrey
это ты уже сделать сможешь из ансибла
Andrey
а без питона ничерта ты не сделаешь
Andrey
но вообще странно это всё
Andrey
почему ты не знаешь что у тебя на той стороне?
Andrey
хороша идея!
Andrey
но ответь на вопрос - я не понимаю почему ты не знаешь что у тебя на другой стороне
Aleksey
потому что мне не говорят что там поставили
Andrey
вот они сложные. а ты им не запускай ничего пока не скажут! =)
Aleksey
у меня плейбук умеет в 5 осей.
есть понятие ноды. нода бывает 3 вариантов. линукс/фря/локал. что маппит место где живет питон
Aleksey
я конечно могу их заставить. но ведь они могут и обмануть
Andrey
а инвентори у тебя есть?
Andrey
Aleksey
инвентори есть. динамический. но в нем нет информации о нодах
Aleksey
вообще может рассказать подробнее на спблуге ?
Sergey
Aleksey
или так да
Aleksey
популярность ансибла в пятницу вечером меня правда смушает
Gleb
куда то ссылку заслали видимо
Albert
Aleksey
а. это группа юных деплоеров.
Pavel
Значит просто у всех всё работает)
Vladimir
А там, где не работает, всегда можно использовать raw =)
Vladimir
так что да, у всех работает)
Pavel
Ну да) Модуль letsencrypt падает и похоже сыроват, пока пришлось на certbot остановиться. Но это другая история
Aleksey
господа /etc/hosts кто нить правит в ансибле ?
Aleksey
научите делать это правильно и безопасно ?
Aleksey
template выглядит хорошо но требует точного понимания текущих дефолтов. а они мне не подконтрольны.
lineinfile выглядит хорошо но видимо я его не умею готовить ибо он допускает то что записи будут дублироваться.
assemble требует сборки по частям и надо гдето хранить ансиблонезависимую часть.
Viktor
вроде в доке lineinfile как раз были примеры с /etc/hosts, емнип
Aleksey
там крайне наивная реализация.
simplemice.eth
господа, тут акция раздачи курсов, про ансибл там есть, https://cloud.mail.ru/public/2Rh3/QRr9Hpt57/
Aleksey
simplemice.eth
ну что есть...