Александр
Timur
Timur
Странно слышать вопросы, ответ на которые есть в документации
Max
Max
ты ее читал... ?
Александр
рассмотрим пример
Max
👀
Александр
- name: remove HTML as well as surrounding markers
blockinfile:
path: /var/www/html/index.html
marker: "<!-- {mark} ANSIBLE MANAGED BLOCK -->"
content: ""
Александр
что конкретно он удалит?
Александр
что есть {mark}?
Александр
что есть манаджед блок?
Александр
это обязательные части или фубар?
Александр
про маркер_бегин и маркер_энд сказано, что они для инсерта, для удаления тоже покатят?
Timur
Александр
...
Александр
ок
Александр
пойду тестить
Александр
регекс дополнительно нужно включать? или можно прямо в марк писать и он поймёт?
Timur
Александр
хм
Anonymous
Коллеги подскажите, как провернуть. Хочу автоматом генерировать условно сотни файлов uostream nginx вида upstream {{ item }} {
server {{upstream_server}}.{{upstream_domain}}:{{upstream_port}};
}
Anonymous
а вот что подавать на вход и как генерировать шаблон пока что-то не хватает понимания
George
George
Список словарей
George
Или даже словарь списка словарей
George
Схему данных тут разработать как раз не проблема, кмк
Anonymous
типа такого ? nginx:
upstreams:
- "server1"
- "server2"
- "serverN"
Anonymous
впринцпе какжется понял как сделать
Anonymous
@NealzZze будет жить. Поприветствуем!
George
Alexander
Подскажите, можно ли в
copy:
src: /srv/myfiles/foo.conf
dest: /etc/foo.conf
каким-либо образом указать список нод, на которых это должно выполняться?
Sergey
Alexander
Sergey
Можно добавить грязи, указав when: ansible_hostname=...., но ты этого не хочешь.
Alexander
Там была большая грязь в виде scp вместо copy
Alexander
Спасибо
Timur
Sergey
А как задача-то выглядит целиком?
Alexander
К подгруппе хостов нужно применить один таск, но это нужно в инвентори правильно обозанчить эту подгруппу
Anonymous
@Seboreia будет жить. Поприветствуем!
Sebor▂▅▇█▓▒░
Коллеги, подскажите, почему delegate_to не работает с динамической группой (создаётся через add_host)?
Как это можно обойти?
Timur
Anonymous
@Nedoumenie будет жить. Поприветствуем!
Sebor▂▅▇█▓▒░
В том же плее пытаетесь подключиться к хостам, которые добавили?
Подробнее:
Есть роль, в файла tasks/main.yml я создаю динамическую хост-группу и потом делаю инклюд другого файла с тасками:
- name: Run post creation tasks
include: post-creation.yml
delegate_to: "{{ new_hostgroup }}"
remote_user: "{{ default_user }}"
delegate_facts: True
А при запуске роли получаю
"'new_hostgroup' is undefined"
Timur
Timur
Во-первых, не нужно пытаться сделать роль, если вам нужна функциональность плейбука
Timur
Во-вторых, если у вас инфра динамически создаётся, имеет смысл посмотреть в сторону dynamic inventory
Timur
Создавать хостгруппы в рамках роли точно не стоит
Timur
Timur
Timur
Делается просто разными плеями в одной плейбуке
Timur
В первом плее (исполняемом на контроллере) создаются инстансы и добавляются в инвентарь
Timur
Во втором плее на этот инвентарь уже делается провижн
Timur
В доке ансибла даже примеры есть
Anonymous
@sgs75 будет жить. Поприветствуем!
Anonymous
@igormkh будет жить. Поприветствуем!
V
Добрый день. А ансибл в телнетовском модуле на данный момент в строчках плейбука login_prompt и password_prompt регулярки не понимает?.. документации по модулю на две странички всего.
Max
Timur
Boris
@tgadiev Добрый день. Подскажите пожалуйста можно ли использовать русские символы в win_copy ?
George
если заэкранировать их, то наверняка (чтоб кодировка не поехала), но нелатиница в общем случае - плохая идея
inqfen
Есть тут уважаемые господа модулеписцы?
inqfen
Как скачиваете ваши модули, через git clone или pip со скриптами в setup py, которые его в нужную директорию library закидывают?
inqfen
Думаю как бы это лучше в ci закидывать, а модуль к плейбуку прибивать не хочется конечно, лучше его в отдельном репе у себя держать
Timur
Timur
George
George
Вообще лучше явно какой-то менеджер пакетов прикрутить
inqfen
Пока так и есть, думал без гит клонов обойтись там, их может быть и штук 5-7 в итоге
inqfen
Timur
George
Timur
Это ж локальная вещь