Div
большое спасибо за идею.
George
- hosts: loc
tasks:
- name: Ansible template with_items example.
template:
src: "mytemplate.j2"
dest: "{{ project.name }}"
mode: 0777
with_items:
{{ projects }}
George
типа так
George
но это тоже пока холостой выстрел )))
Div
буду проверять вот прямо вот сейчас.
George
https://stackoverflow.com/questions/26989492/ansible-loop-through-group-vars-in-template
George
или вот такое. Короче - гугления на 15 минут
George
😊
Div
я не с той стороны гуглил... два дня...
George
бывает
Nikolay
А не подскажете, как при помощи джинджика вставить простой символ перед переменной? Типа вставить например тот же \n только в начале переменной?
"{{ facts.instances|map(attribute='public_dns_name') | join('\n') }
Nikolay
хочу, чтобы аттрибут public_dns_name отдавался с кастомным символом в начале
George
George
В пайтоне есть штука, которая позволяет впечатать любое значение в определенную тобой строку
George
Но вообще, конечно, это вопрос для стековерфлоу
George
{{ etcd_ips | map('replace', '.*', 'http://\1:2379') }}
George
Парни, например, такое делают
Womchik
вот такой костыль получился :(
{% if (item.value.sudo_cmds is not defined) or (not item.value.sudo_cmds) %}
{{ item.key }} ALL=(ALL) NOPASSWD: ALL
{% else %}
{% for _vars in hostvars[inventory_hostname] %}
{% if _vars | regex_search('^' + item.key + '_sudo_cmds') %}
{% for _cmds in hostvars[inventory_hostname].get(_vars) %}
{{ item.key }} ALL=(ALL) NOPASSWD: {{ _cmds }}
{% endfor %}
{% endif %}
{% endfor %}
{% endif %}
George
Womchik
George
Huan
да
George
В регистере верхнем они разве не появляются ?
George
Наверное, отфильтровать грамотно )
Huan
подскажи плз как 🙂
George
Покажи вывод register
George
Я не представляю, что туда попадает
Timur
Sergei
господа человеки, вопрос, возможно ли выполнить плейбук так, чтоб таски выполнялись параллельно, и если на одном из серваков таск зафейлится - вся работа должна остановиться ?
George
George
У тебя на одном хосте плей отработал, а на втором все ещё на одной таске. Роллбек? Не, не слышал
Sergei
George
https://docs.ansible.com/ansible/latest/user_guide/playbooks_strategies.html
strategy free
George
Насчёт обработки ошибок
Sergei
Ды я ужо нашел, будем подумать
George
https://docs.ansible.com/ansible/latest/user_guide/playbooks_error_handling.html#aborting-the-play
Timur
Nikolay
Скажите, Ансиболь может выполнить внутри исполняемой роли вторую (после определенной таски), но для другого хоста? Чтобы было примерно таким макаром
таким макаром организовать реально?
role1_host1
task1
task2
task3
role2_host2
task 1
task 2
task4
end
Timur
Nikolay
просто хочу не разбивать task 4 на отдельную роль
Timur
А в чем изначальная задача заключается?
Aleksandr
Можно delegate_to сделать
Nikolay
роль 1 - создание инстанса
роль 2 - отработка роли на самом инстансе
таск 4 - шлется оповещение в слак
Можно конечно этот таск засунуть и во вторую роль, но хотелось бы целостность роли сохранить
Aleksandr
Да
Nikolay
хмммм
Timur
Nikolay
новую роль ради одной таски..
Что там бест практисы говорят, как лучше все это проворачивать - все же разбивать на роли, или включить все в одну роль?
Max
Max
Timur
Timur
Роли ради ролей не нужны
Nikolay
вообще отдельный плейбук?
Timur
Роли нужно делать, если планируется код ансибла распространять на разные окружения, меняя различные параметры
Max
человеку имхо сходить надо в библиотеку и понять что такое
- playbook
- play
Max
Timur
Max
плэйбук - последовательность плеев.
Max
плей бежит на 1 множество хостов, и применяет на них пре-таски, таски, роли и пост-таски.
Max
@hood4real ^^^
Nikolay
а понял, вы про тасклист
Max
Max
тасклист - это список тасков роли. в них не указывается hosts:
Max
внутри плейбука - список плэев. каждый плэй может на разные hosts применяться.
Max
приём.
Max
нотификацию по слаке я бы делал через хэндлер, в котором использовал бы конвенциональные переменные для параметров.
Nikolay
да все, нашел в доке
Anton
Всем привет.
Вопрос, есть нормальный способ при помощи ансибла скачать рекурсивно содержимое http ресурса? Или пусть даже не http, а ftp, короче дерево папок. Само собой всё происходит на винде.
Max
Anton
Угу, иначе бы тривиально решалось всё.
Max
само собой вруби wsl
Anton
Нет такой магии на Windows 7, это раз. Какой от него толк на целевой машине, это два.
Max
Anton
Timur