Vladislav 👻
Vladislav 👻
нет
Vladislav 👻
но за модуль спасибо, сделаю феншуй 👍🏻
Timur
Посмотрел код. Таки да, systemd по умолчанию можно запустить без аргумента state, но это, скорее, баг, а не фича
Timur
Трувей - service_facts
Anonymous
@Tyler_Millman будет жить. Поприветствуем!
Tyler
Кто-нибудь может подсказать, почему в ansible-playbook в модуле blockline с пустым маркером ломается порядок добавления блока? (3й блок добавляется в начало файла)
Tyler
Упросил код для читаемости
хотя при использовании маркера все норм
che
Упросил код для читаемости
После tasks все строки сместить на 2 пробела вправо - тогда по RFC yaml-а будет
Egor
Попробуй явно указать: insertafter: EOF Но он вроде по дефолту должен быть в EOF.
George
о мои глаза
George
опять скриншоты
Denis
В blockinfile маркеры не для красоты, при повторном запуске таски блок пишется между теми же маркерами.
Denis
Возможно в этом случае для первой таски модуль не находит маркеров и пишет в конец файла, для второй в тексте, добавленном первой, находит что-то, что считает маркером, и пишет туда
Denis
По мне лучше всего или добавить маркеры или использовать другой модуль.
Vladislav 👻
Посмотрел код. Таки да, systemd по умолчанию можно запустить без аргумента state, но это, скорее, баг, а не фича
ну там много всего возвращается, причем и то, что через service_facts не получить, например, что сервис включен, но не запущен...
Tyler
cent
Парни, а как поменять rerlative path https://docs.ansible.com/ansible/latest/user_guide/playbook_pathing.html Если я вызываю template не из роли, то сам шаблон не видит include '_parts' другие шаблоны с относительным путем. Как это можно хакнуть?
cent
Ну, какая разница? Как это относится к вопросу?
Timur
Ну, какая разница? Как это относится к вопросу?
Ну, ок. Пусть просто плейбук. В чем проблема-то?
Max
Ну, какая разница? Как это относится к вопросу?
когда ты говоришь, что ты чистишь зубы через задний проход, и спрашиваешь "как сделать чтобы не болел анус?", у меня возникает вопрос: "зачем через анус?".
Max
👆
Timur
Просто указывайте путь к темплейтам тогда
Max
есть переменная playbook_dir
Max
и фильтр dirname
cent
Ну, ок. Пусть просто плейбук. В чем проблема-то?
Проблема в том, что в шаблоне есть {% include '_parts/default_https_server.j2' %} И не находит _parts Подменял и role_path, role_name
Max
можно относительно места плейбуки гулять и найти файл.
Timur
Зачем в темплейте еще и другие файлы вызывать?
cent
Просто указывайте путь к темплейтам тогда
К самому шаблону я путь указал, но в шаблоне подключаются другие шаблоны по относительному пути.
Timur
Чтобы никто не мог понять откуда что берется?
Timur
это странно делать без роли.
Не, роль тут ни при чем
Max
#ненадотак
— у вас там кирпич! — а вы его отодвиньте, и там роза. это вам
Timur
Просто если юзаете какие-то нестандартные пути, то логично не использовать конструкций, которые рассчитаны на стандартные пути
cent
Я разберусь как нужно, а как нет) Вопрос в том, можно ли в какую переменную PATH подсунуть для ansible, чтобы он из папки templates находил _parts ?
Max
Не, роль тут ни при чем
были переменные role_path> скопировали шаблонь из роли.
Timur
Вы определитесь, чего хотите
Timur
Либо используете роль и тогда выполняйте все принятые соглашения насчет относительных путей. Или просто плейбука, но тогда обязанность указывать все относительные пути на вас самих
Timur
Либо пишете полный абсолютный путь, либо относительно playbook_dir
Max
а tpl_dir выставить как ``` {% set tpl_dir = "{{ playbook_dir | dirname }}" %} ```
Max
успешной чистки зубов.
Anonymous
@Zhuravskiy будет жить. Поприветствуем!
Andrei
{{ansible_hostname}} вставляет имя которе в hostname а как можно вставить имя которое указано в hosts.txt
Andrei
а что такое hosts.txt?
пардон это я про ansible inventory то есть там я указываею имя ip
Andrei
inventory_hostname наверно
Max
inventory_hostname <=== 👀
cent
А ansible_search_path вообще никак нельзя переопределить?
Anonymous
а кто может по русски пояснить что значит ‘default(omit) }}’ посмотрел на https://docs.ansible.com/ansible/latest/user_guide/playbooks_filters.html но понятнее не стало
/warn
переведи слово omit :)
Anonymous
ну я не до конца понимаю, какое в итоге значение будет в поле
Anonymous
например
Anonymous
- name: Create users postgresql_user: name: "{{ item.name }}" password: "{{ item.password | default(omit) }}" encrypted: "{{ item.encrypted | default(omit) }}" priv: "{{ item.priv | default(omit) }}"
Anonymous
что в итоге будет в поле пароль если item.password не задан
/warn
По идее ничего
/warn
Но, это не точно
Anonymous
в общем надо следственный экспермемент провести
inqfen
а теперь моя очередь, есть переменные такого плана admin_ips: - 1.1.1.1 admin_rule: | {% for ip in admin_ips %} - { proto: -1, from_port: -1, to_port: -1, cidr_ip: {{ ip }} } {% endfor %} security_groups: - name: admin description: security group for admin access rules: "{{ admin_rule }}"
Alexander
А как вы на целевых машинах git clone делаете?
inqfen
есть таск - name: create security groups ec2_group: name: "{{ group.name }}" description: "{{ group.description }}" vpc_id: "{{ vpc['vpcs'][0]['id'] }}" rules: "{{ group.rules }}" loop: "{{ security_groups }}" loop_control: loop_var: group