Sander
как взять все group_vars и собрать из них ~/.ssh/config файл. так как этот вариант работает отвратно: ``` #- hosts: "all" # tasks: # - name: "Generate OpenSSH config file" # shell: "echo ' #host {{ domain }}\n #HostName {{ host_ip }}\n #IdentityFile {{ ssh_path }}/{{ domain }}\n #User webstudio\n\n #' >> $HOME/.ssh/webstudio/config" ```
Igor
👏 разобрались
Спасибо за беседу!
Igor
в них работают подстановки {{ var }}
Sander
использовать то я умею
Sander
но как мне прогнать так, чтоб нормально в файл запислалось
Igor
модуль template
Sander
да знаю я
Sander
проблема не в этом
Igor
а в чем
Sander
как ты возьмешь весь список сайтов со всеми параметрами
Sander
и запихнешь в один template?
Igor
/me openssh конфиг комментит модулем replayce
Sander
если ты посомтришь мой пример, я каждый раз добавляю в конец файла записи
Igor
возьму из групп хостов
Sander
``` echo ' host {{ domain }}\n HostName {{ host_ip }}\n IdentityFile {{ ssh_path }}/{{ domain }}\n User webstudio\n\n ' >> $HOME/.ssh/webstudio/config" ```
Sander
как иначе сделать я не знаю
Pavel
blockinfile посмотри модуль
Igor
ну, shell юзать точно не стоит
Pavel
еслия правильно понял задачу
Igor
заменять файлы лучше replace
Sander
иногда shell приходится использовать
Igor
этот модуль индепенднен
Igor
shell - нет
Igor
lineinfile - не помню, раньше был не инепенднен
Igor
точнее не файлы заменять а строки в ни
Sander
то есть все равно придется в конец файла постоянно добавлять текст
Sander
один раз циклом не получиться прогнать
Pavel
точнее не файлы заменять а строки в ни
тут же вставка строк нужна?
Sander
?
Igor
?
вам что нужно, вставить новые значения в конфиг или заменить дефолтные?э
Sander
просто создать новый с 0
Pavel
#- hosts: "all" # tasks: # - name: "Generate OpenSSH config file" # blockinfile: dest: $HOME/.ssh/webstudio/config block: | #host {{ domain }}\n #HostName {{ host_ip }}\n #IdentityFile {{ ssh_path }}/{{ domain }}\n #User webstudio\n\n
Sander
надо взять все group_vars и их параметры
Sander
мм
Pavel
все, я спать
Igor
просто создать новый с 0
новый с нуля надо создавать шаблонами
Igor
а не писать через command
Sander
не сработало
Sander
он добавляет только одну настройку в файл config
Pavel
новый с нуля надо создавать шаблонами
бли, я не уйду... вопрос: как создать шаблоном на основании списка?
Pavel
есть список [a, b, c] надополучить файл: - a qwerty - b qwery - c qwerty
Pavel
шаблоном же не сделаешь
Pavel
только loop
Sander
``` # blockinfile: # dest: $HOME/.ssh/webstudio/config # block: | # host {{ domain }} # HostName {{ host_ip }} # IdentityFile {{ ssh_path }}/{{ domain }} # User webstudio ```
Sander
такое чувство что перезаписывает каждый раз весь файл, вместо того чтоб добавить в конец запись
Sander
в итоге в конце ток 1-одна запись настройки в config, весто 3
Sander
🤔
Oleg
всем привет, такой вопрос, можно ли установить ansible на несколько серверов и с помощью него запускать git pull чтобы стягивать обновы репа, это реально?
Magistr
можно устаналивай
Sander
так и не получилось сделать этот шаблон config файла не работает, кто может помочь
Sander
такое чувство что перезаписывает каждый раз весь файл, вместо того чтоб добавить в конец запись
не получаю списка, такое чувсвто что получаю последний результат в файле, как не пытался, всегда одно и тоже
Sander
есть кто может помочь?
Sander
все что нужно это создать один .ssh/config файл из данных, которые у меня в group_vars и inventory ``` Host vagrant-test HostName 0.tcp.ngrok.io User vagrant Port 12746 IdentityFile ~/.ssh/vagrant ```
Sander
все решил проблему
Юрий
Ты обращаешься ко мне, но делаешь это без уважения?
Юрий
кто другой? это крестный отец из первого фильма. конкретно, что там в этом кадре происходит не помню, но обычно его используют как интернет-мем с такой подачей
Юрий
а, ну такие тонкости чтобы вспомнить - нужно пересматривать кино
Ilya
Как можно дропнуть инстанс в aws зная тег?)
Artem
всем привет, вопрос кто как переиспользует handlers между ролями и playbook? ansible 2.2 в доках такая замечательная строчка You cannot notify a handler that is defined inside of an include. As of Ansible 2.1, this does work, however the include must be static.
Artem
* роль при этом исполняться не должна
matt
дублирую в каждой роли и хныкаю
Artem
ну я пока так выкрутился можно дернуть их в виде таски tasks: - include: "{{ playbook_dir }}/../roles/config-neutron/handlers/main.yml" static: yes но тоже через опу
iF
дублирую в каждой роли и хныкаю
а как же максимально автономная роль?
iF
если не дублировать, то будет зависимость от других ролей
Dmitrii
Вопрос к знатокам
Dmitrii
Если в плейбуке объявить И роли И таски
Dmitrii
Что будет выполняться первым?
Ilya
Может в таком порядке как вставишь так и будет?)
Ilya
О_о
Dmitrii
Оп-оп варианты разнятся
matt
а как же максимально автономная роль?
могли бы и придумать какие-нибудь “глобальные” хэндлеры
Ilya
Я не пробовал)
Dmitrii
matt
таски, потом роли
Dmitrii
Так роли или таски?)
matt
таски
Ilya
А какого хуя что-либо выполнится быстрее чем оно написано в плейбуке?
Pavel
Ну это же как бы недолго проверить экспериментально