vhosts:
- hname: "host1"
lport: "80"
hmsg: "First"
- hname: "host2"
lport: "81"
hmsg: "Secondary"
- name: Generate main config
template:
src: "./templates/nginx.conf.j2"
dest: "/etc/nginx/nginx.conf"
loop: "{{ vhosts }}"
notify: Reload nginx
на выходе получаю:
failed: [ans-tasks-vps] (item={'hname': 'host1', 'lport': '80', 'hmsg': 'First'}) => {"ansible_loop_var": "item", "changed": false, "item": {"hmsg": "First", "hname": "host1", "lport": "80"}, "msg": "AnsibleUndefinedVariable: 'hname' is undefined"}
failed: [ans-tasks-vps] (item={'hname': 'host2', 'lport': '81', 'hmsg': 'Secondary'}) => {"ansible_loop_var": "item", "changed": false, "item": {"hmsg": "Secondary", "hname": "host2", "lport": "81"}, "msg": "AnsibleUndefinedVariable: 'hname' is undefined"}
он же отрендерил переменную-то что значит андэфайнд?
loop не нужен в таске, тк ты делаешь перебор внутри шаблона. Внутри шаблона тогда for item in vhosts и {{ item.hname }}
а шаблон разве увидит переменную?
Да, переменная определена на уровне vars, почему нет
точно, я запутался с лупах, ум зка разумзашел с ними уже
Обсуждают сегодня