Dan
да, это норм, но обычно пишет [some ip -> localhost] в таске
может так плагины тут настроены что не пишет, хз
Николай
Николай
Неграмотное требование
Dmitriy
Неграмотное требование
Ну, тут я ничего не могу поделать, приходится отталкиваться от реалий(
Дмитрий
Я ведь правильно понимаю, что нет разницы между запуском роли через roles: - foo - bar и tasks: - import_role: name: foo - import_role: name: bar Судя по документации, это просто старый и новый варианты синтаксиса
Alex
получается наоборот, да. Так что во втором случае можно контролировать порядок выполнения
Fire
получается наоборот, да. Так что во втором случае можно контролировать порядок выполнения
Когда есть и roles: и tasks: то никто не гарантирует порядок исполнения и того и другого.
Fire
Они вообще могут параллельно исполняться.
Grek 🇺🇦
для этого и придумали pre_tasks
Alex
немного не то
Fire
немного не то
Что не то?
Alex
допустим мне надо так task group1 role1 task group2 role2
Alex
Можно конечно разбить на разные плеи
Alex
Но не всегда удобно/возможно
Fire
допустим мне надо так task group1 role1 task group2 role2
А зачем так сложно? Каждая роль должна быть сама по себе идемпотентна.
Grek 🇺🇦
допустим мне надо так task group1 role1 task group2 role2
а что Вы таким образом решаете? выглядит запутано и странно
Alex
а что Вы таким образом решаете? выглядит запутано и странно
Долго рассказывать, слишком привязанно к конкретному проекту
Alex
А зачем так сложно? Каждая роль должна быть сама по себе идемпотентна.
Оно так и есть. Просто есть набор тасков которые нет смысла выносить в отдельную роль, но и отнести их к какой либо существующей роли тоже нельзя
Oleg
Доброе утро
Oleg
Если есть желающий помочь - буду рад, в очень простом.
Oleg
Oleg
Lamobot
Если есть желающий помочь - буду рад, в очень простом.
1. Скрины не очень приветствуются 2. Проверьте объект tilecache_md5, возможно там должно быть exists
Oleg
Про скрины понял. А вот про второе не совсем, я его и пытаюсь проверить на наличие его на удаленном хосте, суть в том что он говорит мол такого атрибута "exist" нет.
Николай
exists
Oleg
exists
😂 thanks
Николай
Освойте модуль debug и смотрите им содержимое объектов в неясных случаях
Отделение Bereke Bank
Ещё в доке модулей есть return variables. Туда тоже заглядывай
Гайрат
Какой-то непонятный баг: variable: "{{ var_x }} sometext" раскрывает нормально variable: "{{ var_x }} sometext {{ hostvars['host2']['var_y'] }}" без раскрытия кидает как есть с {{ ... }}
Гайрат
Сталкивался кто?
inqfen
"{{ var_x + 'sometext' + hostvars['host2']['var_y'] }}"
Гайрат
И так пробовал
Гайрат
Кавычки менял даже
inqfen
Эм, тогда лучше полностью этот кусок и из debug что получается в итоге
Aleksey
Ребята а почему вот так вот - name: Remove old dir file: path: sometpath state: absent diff: no diff всё равно показывает что он удалил ?
Гайрат
Эм, тогда лучше полностью этот кусок и из debug что получается в итоге
На дебаге уже и проверяю. variable раскрывается норм, а hostvars[inventory_hostname]['variable'] уже нет.
inqfen
А, так, туплю.
inqfen
В смысле показал, какой каталог удалил?
inqfen
На дебаге уже и проверяю. variable раскрывается норм, а hostvars[inventory_hostname]['variable'] уже нет.
А там точно hostvars[inventory_hostname]['variable'] А не hostvars[inventory_hostname][variable] должно быть ?
inqfen
'variable' - это ключ с таким названием, а не подстановка переменной
Aleksey
Там много и с сабдирами. И хуже того известно и излишне
inqfen
Надо посмотреть в коде diff, но полагаю, что есть какой-то признак sensitive в выводе, и скрывается только это
Гайрат
А там точно hostvars[inventory_hostname]['variable'] А не hostvars[inventory_hostname][variable] должно быть ?
Да, тогда он будет искать переменную со значением variable, а не переменную с названием variable. Кстати, на hostvars[inventory_hostname][variable] ругается на раскрытую переменную :)
Aleksey
а что block не может быть handler ?
Aleksey
meh
Aleksey
а что block не может быть handler ?
https://medium.com/opsops/using-block-for-handlers-in-ansible-a55f45b62a96
Отделение Bereke Bank
Так можно что ли было?
Отделение Bereke Bank
https://medium.com/opsops/using-block-for-handlers-in-ansible-a55f45b62a96
Это же простой хандлер с импортом К имени блока обратится нельзя?
Aleksey
неа
Отделение Bereke Bank
Ну тогда так не интересно 😒
Aleksey
и так нельзя ERROR! 'listen' is not a valid attribute for a Block
Aleksey
а вот через инклуд можно да
Гайрат
Ну тогда так не интересно 😒
Также как и у тебя недавно, в block цикл нельзя было
Гайрат
И приходилось инклудить
Viktor
Коллеги, дайте совет. Верно ли разносить роли редиса и редис-экспортера на две, если я всегда ставлю и то, и другое?
George
Норм
Aleksey
Коллеги, дайте совет. Верно ли разносить роли редиса и редис-экспортера на две, если я всегда ставлю и то, и другое?
это довольно временное всегда. если диапазон планирования у вас год то да всегда, а если 5 лет или больше, то редис скорее всего останется а вот прометей может и нет. так что две роли.
Viktor
Скорее уж с редиса уедем в кафку, чем куда-то с прометея. Спс
George
Редис и Кафка совсем разные вещи
Отделение Bereke Bank
Редис и Кафка совсем разные вещи
Там наверное редис как брокер. Извращенцы
Sebor▂▅▇█▓▒░
Viktor
Очереди в редисе, да, я знаю, это фича такая
Dennis
Добрый день Коллеги а не подскажите аналог - name: "Yum :: clean yum cache to refresh zabbix package location" command: yum clean all when: zabbix_repoinstall|changed А то линтер ругается yum used in place of yum module
Андрей
используйте модуль yum https://docs.ansible.com/ansible/latest/modules/yum_module.html И не нужно Ansible в баш превращать.
Sergey
ну чего ты с козырей сразу....
Dennis
Да он еще и на другое тут оказывается ругается 503 Tasks that run when changed should likely be handlers /builds/system-management/ansible-roles/zabbix-server/tasks/01-tasks.yml:12
Pit
ну чего ты с козырей сразу....
я вот терпеть не могу башсибл, но периодически просто вариантов нету:-(. Та же рекурсивная очистка директории (rm -rf /path/to/directory/*) отсутствует как класс - единственный вариант делать в 2 этапа - первый получить список файлов/каталогов, второй - через file state: absent кикать их в цикле. И как по мне башсибловый «command: rm -rf /path/to/directory/*» - меньший костыль.