Vladislav 👻
Vladislav 👻
нет
Vladislav 👻
но за модуль спасибо, сделаю феншуй 👍🏻
Timur
Посмотрел код. Таки да, systemd по умолчанию можно запустить без аргумента state, но это, скорее, баг, а не фича
Timur
Трувей - service_facts
Anonymous
@Tyler_Millman будет жить. Поприветствуем!
Tyler
Кто-нибудь может подсказать, почему в ansible-playbook в модуле blockline с пустым маркером ломается порядок добавления блока? (3й блок добавляется в начало файла)
Tyler
Tyler
Egor
Попробуй явно указать: insertafter: EOF
Но он вроде по дефолту должен быть в EOF.
Tyler
George
о мои глаза
George
опять скриншоты
Denis
В blockinfile маркеры не для красоты, при повторном запуске таски блок пишется между теми же маркерами.
Denis
Возможно в этом случае для первой таски модуль не находит маркеров и пишет в конец файла, для второй в тексте, добавленном первой, находит что-то, что считает маркером, и пишет туда
Denis
По мне лучше всего или добавить маркеры или использовать другой модуль.
Tyler
Vladislav 👻
Посмотрел код. Таки да, systemd по умолчанию можно запустить без аргумента state, но это, скорее, баг, а не фича
ну там много всего возвращается, причем и то, что через service_facts не получить, например, что сервис включен, но не запущен...
Timur
Tyler
cent
Парни, а как поменять rerlative path https://docs.ansible.com/ansible/latest/user_guide/playbook_pathing.html
Если я вызываю template не из роли, то сам шаблон не видит include '_parts' другие шаблоны с относительным путем.
Как это можно хакнуть?
Max
Timur
cent
Max
Max
cent
Ну, какая разница? Как это относится к вопросу?
Max
👆
Timur
Просто указывайте путь к темплейтам тогда
Max
есть переменная playbook_dir
Max
и фильтр dirname
Timur
Max
можно относительно места плейбуки гулять и найти файл.
Max
Timur
Timur
Зачем в темплейте еще и другие файлы вызывать?
Timur
Чтобы никто не мог понять откуда что берется?
Max
Timur
Timur
Max
#ненадотак
— у вас там кирпич!
— а вы его отодвиньте, и там роза. это вам
Timur
Просто если юзаете какие-то нестандартные пути, то логично не использовать конструкций, которые рассчитаны на стандартные пути
cent
Я разберусь как нужно, а как нет)
Вопрос в том, можно ли в какую переменную PATH подсунуть для ansible, чтобы он из папки templates находил _parts ?
Timur
Timur
Вы определитесь, чего хотите
Timur
Либо используете роль и тогда выполняйте все принятые соглашения насчет относительных путей. Или просто плейбука, но тогда обязанность указывать все относительные пути на вас самих
Max
Timur
Либо пишете полный абсолютный путь, либо относительно playbook_dir
Max
а tpl_dir выставить как
```
{% set tpl_dir = "{{ playbook_dir | dirname }}" %}
```
Max
успешной чистки зубов.
Anonymous
@Zhuravskiy будет жить. Поприветствуем!
Andrei
{{ansible_hostname}} вставляет имя которе в hostname а как можно вставить имя которое указано в hosts.txt
Max
Andrei
inventory_hostname наверно
Max
inventory_hostname <=== 👀
Andrei
Max
cent
А ansible_search_path вообще никак нельзя переопределить?
Timur
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
Но, это не точно
inqfen
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