inqfen
Может уже в 3 версии, выпилить во 2 - слишком сильное ломающее изменение
Anonymous
Я почему так спорю - повелся с полгода год назад на Тимиура, переписал на loop. А там многое стало не так как ожидаемо.
Anonymous
Проблема эта loop - нет. Проблема это того кто переписал - да
Anonymous
with_x это плагин, loop внутри "обработки тасков", поэтому возможен loop_control
Anonymous
это корявое описание
Anonymous
но как смог
inqfen
Timur
Сейчас у них политика поменялась в отношении лупов
Anonymous
Ну точно не вышло. Писать на него можно только с нуля имхо
Anonymous
И только если много времени и желания
Anonymous
Не юзая старые роли
Anonymous
Timur
Они говорят, что если получается лаконичнее с with_ - то можно его юзать. Если удобнее loop - то его
Timur
ммм, подробней можно?
We have not deprecated the use of with_<lookup> - that syntax will still be valid for the foreseeable future.
Anonymous
Anonymous
ну, не отказываются и здорово
Timur
• Any with_* statement that requires using lookup within a loop should not be converted to use the loop keyword. For example, instead of doing:
loop: "{{ lookup('fileglob', '*.txt', wantlist=True) }}"
it’s cleaner to keep:
with_fileglob: '*.txt'
inqfen
Но вообще прекрасное далеко - это loop
Anonymous
Anonymous
Пока оно дойдёт. Политика партии может раз много измениться
Anonymous
Timur
На loop в целом код получается более единообразным и предсказуемым. Но иногда более длинным и хуже читаемым
Anonymous
Anonymous
читабельность loop такое себе
Anonymous
в общем и целом loop рулит
Anonymous
Хорошая сегодня среда - спор хороший и никто не переругался
Anonymous
@deniswork4951 крути loop и живи свободно! Как-то так
Anonymous
Я когда хочу советов - их спрашиваю у компетентных людей. Но месседж услышал
Jungo
Lamobot
Lamobot
Если там словарь, то он пройдется по всем ключам
Jungo
Почему он его не должен воспринимать?
днем было - или with dict жаловался - не помню точно
но точно было когда было два значения было норм , а как только уменьшил до 1 написал что ты мне даешь лист вместо дикта
я только сегодня узнал вообще что это такое луп и дикт
Lamobot
Если такой переменной нет, то выдаст default пустой список
Lamobot
А если у тебя там не словарь - естественно ошибка вылезет
Jungo
Lamobot
В таком виде не работает?
Jungo
В таком виде не работает?
работает - сейчас буду тестировать усиленно разные варианты
вообще я хотел сделать только один план бкапов
но когда я в роли его описал и начал делать для хоста дополнительные то они затираются а не объединяются
пришлось сделать кастом и дефолт
дефолт для системного бэкапа а кастом для всего пользовательского
Lamobot
Jungo
Sergey
Sergey
но - по вкусу :-D
Jungo
Jungo
Jungo
Jungo
может через when передать какой то триггер в jinja
Jungo
в темплейте можно создать условие но оно будет при каждой итерации loop проверяться по идее
Lamobot
Выглядит костыльно. Нет никаких проблем сделать пяток схожих ролей, чтобы избавиться от неочевидных условий и костылей.
Lamobot
Потом появится ещё какая-то база для бекапа, и ещё добавится условий: )
Alex
TASK [itests/jfxr : Copy create user script] ***
fatal: [app_master -> 34.xxx.xxx.xxx]: FAILED! => changed=false
checksum: ca04d3c0b2db20a69910db8b2dc20337fd4394ac
expected_checksum: 1cb94d82e3aa8a30b7f2544642e337d0293c6f6a
msg: Copied file does not match the expected checksum. Transfer failed.
...ignoring
а из-за чего могут возникать подобные ошибки? Какие то проблемы с сетью?
Sergey
Alex
Anton
Ребят привет. Такой вопрос, в хостс файле список серваков, как закоменировать те которые временно ненужны? Решетка сработает?
Jungo
Sergey
есть ли смысл добавлять retry?
Есть смысл разбираться. У Миловидова есть замечательная статья на тему единичных сбоев, там что-то находили по физике.
Alex
Sergey
А, облако...... Тогда страдать и ретраить.
Anton
Ола, коллегас!
Подскажите советом / примером - никак не могу понять, как сделать проще такую штуку:
1 -- есть куча мелких последовательных тасков
2 -- есть отдельная роль telegram, где я делаю отправку уведомлений в телегу, дескать, стартанул вот этот таскан, закончился успешно другой таск
Например, куча тасков на отправку сообщения в телегу - https://pastebin.com/JAmRA7Gu
Сама роль телеги состоит из одного таска - https://pastebin.com/11HWdNP4
Вопрос - как нормально сделать уведомления?
Конструкция такая кажется костылем:\
include_role:
name: telegram
vars:
message: "Maintenance mode in Zabbix is created."
Можно как то сделать проще?
Sergey
Anton
в общем виде могу сформулировать так:
хочется иметь возможность в любом месте какой либо роли отправить уведомление в телегу, передавая как параметр текст
сейчас это выглядит как include роли и передача vars:message
это норм или как то проще можно?
Sergey
Anton
[IPT] Dmitry
ребят, хочу конфиги рендерить из словарей в переменных но при этом и всякие for i in list jinja использовать. что-то типа того:
cat config.yml.j2
{{ blackbox_exporter_conf | to_nice_yaml(indent=2) }}
cat group.yml
blackbox_exporter_conf:
modules:
{% for domain_zone in pdns_domain_zones %}
{{ domain_zone }}:
prober: dns
dns:
query_name: "{{ domain_zone }}"
query_type: "A"
validate_answer_rrs:
fail_if_not_matches_regexp:
- "{{ domain_zone }}.\t.*\tIN\tA\t.*"
{% endfor %}
как быть?
Sergey
[IPT] Dmitry
повод попиариться? 😁
[IPT] Dmitry
Sergey
повод попиариться? 😁
Фу так думать (кому нужно - меня и так знают). Вообщет там прямо рассказываю про джинджу, и о том, как собрать страшное в переменных.
Sergey
Оригинально твоя штука работать не будет, т.к. у тебя подстановка в ключе. Это так не едет, потому что сначала YaML грузится, а только потом шаблонизатор проходит.
[IPT] Dmitry
[IPT] Dmitry
Sergey
Это была шутка
Значит, я в танке и не врубился в смайлик :-)))) что поделать - рабочее время, модуль эмоций отключен.
[IPT] Dmitry
Где доклад-то можно посмотреть и что в двух словах мне делать?
George
Ещё по наболевшему в Ансибле. https://habr.com/en/post/508762/. Критика приветствуется.
Jungo
Jungo
Jungo
теперь вообще каша в голове когда все прочитал по манам(