Alex
Там где звёздочка это имя проекта
Alex
Sergey
Vladislav 👻
Vladislav 👻
причем тут инвентори по маске то,?
Vladislav 👻
я понимаю, что один общий энвайрмент для ансибла, ОК, хотите - ваше право, но причем тут инвентори по маске то?
Timur
Timur
У людей все время какие-то странные фантазии о том, как что-то запрограммировать на ансибле
Timur
То переменные назначать вручную, проверяя принадлежность к группе, то инвентори по маске из файлов брать, то хосты по паттернам в плейбуке...
Timur
Все пытаются зачем-то использовать ансибл не с той стороны, которой нужно по правилам
Timur
Напомнило опять
Timur
Когда начинаешь изучать ансибл
Pavel
George
George
И прибейте этот ответ как припиненное сообщение с дисклеймером, что если делаешь не так, то тебе тут не рады 😂
Anton
Всем привет)) Я все делаю в virtualenv. ansible-container build все билдит и в images докера этот image есть. но когда я делаю ansible-container run. у меня ошибка
ERROR: for projectenv_fed_1 Cannot start service fed: OCI runtime create failed: container_linux.go:344: starting container process caused
может кто знает, в чем может быть проблема? подскажите, пожалуйста
Извините, разобрался))
Terry
Max
товарищи по орудию пыток ...
как там сейчас дела обстоят с долгими (5-48ч) тасками?
нужно еще рожать ежиков с хитрыми трюками прокапывания текста с таргетов, чтобы не съесть всякие ssh таймауты?
или есть какие-то новшества?
Alex
Max
Max
500 будет нормалек?
Max
понятно, спасибо большое 🙏
Sergey
when:
- (hostgroup == "vrt1") or (hostgroup == "vrt2") or (hostgroup == "vrt3") or (hostgroup == "vrt4") or (hostgroup == "vrt5") or (hostgroup == "vrt6") как сократить до одного условия? Может даже массивом
Bsod
попробуй hostgroup in ["vrt1", "vrt2"]
Timur
Sergey
я передаю переменную группы
- hosts: "{{ hostgroup }}"
roles:
- process-exporter
become: true
become_method: sudo
gather_facts: False
Timur
Timur
Зачем какие-то доп. проверки и условия?
Sergey
потому что раскатка идет не только на эти группы
в сиае конкретный джоб будет на конкретную группу
Anonymous
Котаны, в роли надо организовать штуку для разового использования, которая будет выполнять остановку не только себя, как роли, но и вообще, остановку всего деплоя. Но ошибкой это поведение считаться не должно.
вариант fail не подойдет, потому что останов будет с ошибкой, вариант meta: end_play не подойдет, потому остановится выполнение только роли, управление передастся плейбуку
Есть у кого какие варики как порешать?
Timur
Sergey
Timur
Timur
И в варианте для останова - таск с сообщением и все
Anonymous
Sergey
Timur
Anonymous
А зачем их менять?
ну тогда я тебя не поняла)
Смори. у меня есть плейбук, в нем таски, в тасках вызывается роль. В роли в какой-то момент надо организовать остановку всего деплоя(остановку выполнения роли и остановку выполнения дальнейших тасок из плейбука), и остановка должна быть без ошибки. Ну типо это не должно восприниматься ошибочным поведением, должно восприниматься как успешное поведение.
Anonymous
должно быть типо как - fail, ведь фэил делает как раз ту остановку, которая нужна, но не фэил, потому что поведение будет считаться валидным
Anonymous
(вообще, это разовое решение, так что не спрашивай, зачем мне это)
Timur
Timur
Если нужно условие остановки - инклудается файл, в котором нет больше тасков
Timur
И роль завершается
Timur
Сделать так, чтоб не было
Timur
Ветвление тасков сделать просто
Artem
Если я правильно понял
Timur
Timur
Ансибл - не язык программирования
Timur
Он не заточен под произвольную логику запуска тасков
Timur
И он для декларативного подхода, а не для императивного заточен
Artem
Это понятно, но речь сейчас не о том
Anonymous
В роли инклуд тасков по условию
Так а если даже инклудать в роли пустой файл, то потом управление возвращается в плейбук, откуда была запущена роль)
Artem
Artem
Первое что придумалось
Artem
А вообще все уже давно придумано, как выяснилось
https://docs.ansible.com/ansible/latest/modules/meta_module.html
Artem
end_play
Artem
Инклуд с чем?
Timur
Artem
Ну так роли-то менять можно, выпилить из роли часть тасков в инклуд, и перед инклудом end_play сделать
Anonymous
end_play
Это не прокатит, в первом сообщении писала, что останов идёт чисто роли м end_play, управление плейбуку отдается после end_play, в общем, я решила, что походу останов с fail единственный варик... Реал других нет
Artem
Да, я прочитал уже
Anonymous
Anonymous
Кек, спасибо за внимание)))
Anonymous
Artem
Ну так у тебя не останется тасков, чтобы выполнять, они не будут заинклужены
Anonymous
Ну дык говорю, что в плейбуке, куда вернётся управление, ещё многа тасков, и типо их никто не остановит)) ток если зачищать все роли проекта 🙈
Timur
Timur
Вы пытаетесь организовать типичную императивную логику работы на ансибле
Timur
А ансибл не для этого сделан