Нужно (1) записать результат выполнения обычной команды (скажем, hostname
) в переменную. А затем, (2) эту переменную записать в template.
Для этого я делаю:
1. В defaults/main.yml:
test: "$(hostname)"
2. В templates/test.conf.j2
myhostname={{ test }}
3. В tasks/test.yml:
---
- name: test variable in template
template:
src: templates/test.conf.j2
dest: /root/test.conf
owner: root
group: root
mode: 644
Таким образом, на каждой машине образовывается файл с её хостнеймом.
Вопрос: как это правильно делать в ansible? Почему ответ не так очевиден (из мануалов), ведь это, наверняка, распространненая задача?