localhost:
vars:
ansible_connection: local
ansible_user: urhero
item_main:
item1: value1
item2: value2
item3: value3
Пытаюсь делать как то так:
- name: debug
debug:
msg: item {{item.key}} value {{item.value}}
loop: "{{ item_main }}"
Но получаю:
fatal: [localhost]: FAILED! => {"msg": "'item_main' is undefined"}
Как это правильно сделать?
1. Vars неправильно заданы для хоста. 2. item_main не список а словарь.
item_main: - key: item1 value: value1 - key: item2 value: value2 В верном направлении иду?
Да. Или loop: '{{item_main|dict2items}}'
И, читаю вот на https://stackoverflow.com/questions/40027847/accessing-inventory-host-variable-in-ansible-playbook Что дотучаться до этого списка я смогу только через {{ hostvars['your_host_group'].ansible_host }} Эм, а как быть если групп хостов много?
Ссылку не читал. Если плейбук выполняется на самом хосте, то переменные доступны прямо так. Переменные других хостов через hostvars['other_host_inventory_hostname']['varname']
fatal: [localhost]: FAILED! => {"msg": "'item_main' is undefined"} Да вот что то не видит он их
Переменные хоста без vars пишутся
Обсуждают сегодня