Я изучаю ансольные роли и пытаюсь установить переменные ролей, используя шаблон Jinja2. Но значения переменных не обновляются.
Вот рабочий каталог
образец
sample
├── README.md
├── defaults
│ └── main.yml
├── files
│ └── main.out
├── handlers
│ └── main.yml
├── meta
│ └── main.yml
├── tasks
│ └── main.yml
├── templates
│ └── main.j2
├── tests
│ ├── inventory
│ └── test.yml
└── vars
└── main.yml
Содержимое папки vars / main.yml:
a: 2
b: 3
c: 0
Содержание задания / main.yml
---
- name: Jagadish Sagi
template:
src: "sample2/templates/main.j2"
dest: "sample2/files/main.out"
- name: Printing value of c
debug:
var: c
Содержимое шаблонов / main.j2:
{% if a > b %}
{% set c = a %}
{% else %}
{% set c = b %}
{% endif %}
The Value of C : {{c}}
Код для выполнения роли:
---
- hosts: localhost
roles:
- sample2
В файле files / main.out я получаю вывод
The Value of C : 3
Но в ANSIBLE playbook при печати на консоль выдает
ok: [localhost] => {
"c": 0
}
Я знаю, что могу сделать это с помощью ansible только с помощью set_fact и, если еще, условий. но как я могу сделать это, используя Jinja2 Template тоже ??