Denis 災 nobody
а есть чат по cfengine? )
Rishat
Привэтэс, что в ansible используется для запуска хэндлера до выполнения таска?
bebebe
Rishat
Я пока таск написал и все
bebebe
Vlad
Выполнить хендлер до выполнения задачи нельзя. Можно принудительно выполнить хендлеры командой
- meta: flush_handlers
Rishat
Azer
Есть какой-нибудь вменяемый способ сказать ансиблу, чтобы он показывал в каком месте темплейта у него случились обосратушки?
Всё, что плейбук изрыгает — это 'NoneType' object is not iterable в конце простыни, хотелось бы что-то вроде
{% for foo in bar -%}
^^^
>>>> всё, чувак, вот отсюда и дальше не могу <<<<
Темплейт очень длинный, и я понимаю, что лучше бы его уже выкинуть(in progress), но увы, бизнес хочет, чтобы работало уже вчера.
Stepan T.
Господа, я тут поимел удовольствие потыкать AWX и с наскока не разобрался, как там проекты добавлять. Попытка добавить из вебморды локальный проект приводит к выхлопу о недоступности /var/lib/awx/projects (не точный путь до директории). Попытка скормить вебморде путь к локальному гит репозиторию на базе гитлаб, приводит к выхлопу о том, что у меня неверный Credential. Попытка наконфигурять Credential к появлению его в соответствующем сприске SCM Credentials не приводит. Я, очевидно, тварю какую-то фигню. Гуглёж привёл сюда, но однозначно интерпретировать коментарии к проблеме у меня не получилось. Никто не встречал инструкции, которая бы содержала методику подключения локальных реп?
Egor
Stepan T.
Докер
Egor
БД тоже в докере или отдельно на хосте?
Stepan T.
В докере
Stepan T.
Всё в докере.
Artur
значит и " /var/lib/awx/projects" должна быть в докере
Artur
но легче всё хранить в гите
Artur
обновлять легче
Stepan T.
Artur
практика. пользуюсь AWX
Stepan T.
Ага, чудно. Так вот внутри контейнера директория projects присутствует.
Artur
теперь туда пихай свои плейбуки
Stepan T.
Да ну нафиг? Из вебморды нельзя накалякать всякого?
Artur
нет
Artur
говорю ж. юзай гит
Stepan T.
Прекрасно. Мне нравится. Спасибо.
Stepan T.
Попытка скормить вебморде путь к локальному гит репозиторию на базе гитлаб, приводит к выхлопу о том, что у меня неверный Credential. Попытка наконфигурять Credential к появлению его в соответствующем сприске SCM Credentials не приводит. Я, очевидно, тварю какую-то фигню. Гуглёж привёл сюда (https://github.com/ansible/awx/issues/886), но однозначно интерпретировать коментарии к проблеме у меня не получилось.
Artur
https://prnt.sc/l3x23k
Stepan T.
Спасибо
Artur
https://prnt.sc/l3x2pk
Danis
Как безопасно прервать выполнение роли, если 1 таск в ней валится с ошибкой?
Artur
так если валиться с ошибкой, выполнение прервётся
Денис
ignore_errors: yes
Денис
вот так правильно вроде пишется
Artur
с этим выполнение продолжится
Денис
а, я неправильно прочитал, прошу прощения
Денис
то есть чтобы просто прекращал выполнение, ничего не сообщая по сути?
Artur
похоже он хочет так, что б ансайбл ( как команда запущенная из баша ) возвращала return 0 даже если в такске была ошибка, но при этом ( если есть ошибка) выполнение сразу прекращалось
Денис
ну это наверное нужен свой callback plugin
Денис
но я не уверен
Danis
Денис
ну или костыль какой-нибудь, вроде ignore_error + register, и следующий таск проверяет состояние переменной
Денис
у меня похожее работает для ввода виндовых машин в домен
Денис
meta: end_play
Денис
я вот только не уверен, что meta можно использовать с when, в документации не вижу такого примера
Danis
Нашел какой-то any_errors_fatal, но вроде не совсем то.
Денис
все равно же будет ошибка в конце? и код не -0
Danis
Денис
можно попробовать вынести meta в отдельный файл, и инклудить по условию
Денис
https://pastebin.com/SRx8Y2HN
Денис
так вроде работает
Денис
до последнего дебага не доходит
Alexander
Че за фигня, в конфиге сменил remote_user, выполнил то что надо, сменил обратно на рута временно, а ансибл все равно продолжает от того юзера выполнять что раньше был?
Egor
Alexander
Точно нет. Даже если запускать плейбук вэс --user root все равно пишется что пытается подключиться с другим юзером
Egor
Попробуйте все же грепнуть код на юзера. Где-нибудь точно должен быть
Alexander
Alexander
Попробуйте все же грепнуть код на юзера. Где-нибудь точно должен быть
[root@ansm ansible]# cat provision_users.yml
---
- hosts: all
tasks:
- name: Test
shell: test
[root@ansm ansible]# cat hosts
[all]
example.domain.com
[root@ansm ansible]# cat /etc/ansible/ansible.cfg |grep -i user
remote_user = root
#become_user=root
[root@ansm ansible]# ansible-playbook -i hosts provision_users.yml --user root -vvv
PLAY [all] **********************************************************************************************************************************************************************************************************************************
TASK [Gathering Facts] **********************************************************************************************************************************************************************************************************************
task path: /opt/ansible/provision_users.yml:2
<example.domain.com> ESTABLISH SSH CONNECTION FOR USER: [u'ansible']
Egor
Можно выполнить с -vv и посмотреть что в output будет - возможно где-то есть факт об этом пользователе.
Egor
Это поможет понять откуда он берется
Alexander
Danis
до последнего дебага не доходит
Meta с when работает без проблем как нужно. Сделал так:
- meta: end_play
when: "'non-zero return code' in output.msg"
Egor
Stepan T.
Пора форкать PEP8?
Alexander
hackru
фоткать
Денис
Artur
делал кто в awx'e смарт инвентори ?
Danis
В результате в output нет Failed.
Artur
попробуй shell
Artur
cent
дак в 11-ом версию 3 api грохнули
А не в курсе, в какой версии еще точно api v3 работает?
Поставил 10.8.4-ce.0 и та же ошибка в ansible.
Можно как-то проверить, что это полноценная 3 версия и проблемы у ansible ?
Aleksey
Я не знаю
cent
Я не знаю, каким образом я вчера добился другой ошибки.
Но сегодня опять все та же ошибка
check docs or install with: pip install pyapi-gitlab"
Уже перепробовал тучу версий ansible и тучу версий pyapi-gitlab