Всем привет. Не получается настроить шаблон для определения сетевого адаптера по его IP адресу
Во второй строке закралась ошибка (['ansible_'+interface]), не могу понять что делаю не так...
{% for interface in ansible_interfaces %}
{% if hostvars[inventory_hostname]['ansible_'+interface].ipv4.address == LANIP %}
INTERFACES="{{ interface }}"
{% endif %}
{% endfor %}
Если в ручную прописать нужный адаптер (['ansible_enp3s0']), то скрипт отрабатывает как надо.
С jinja2 синтаксисом столкнулся в первые, два для убил на мануалы, но так и не дошло, в итоге получаю такую ошибку :
fatal: [host]: FAILED! => {
"msg": "The task includes an option with an undefined variable. The error was: 'dict object' has no attribute u'ansible_br-141a37688284'\n\nThe error appears to have been in '/home/ansible/playbooks/testj2.yml': line 10, column 6, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n tasks:\n - pause:\n ^ here\n"
Playbook
---
- hosts: host
become: yes
become_user: root
become_method: sudo
vars:
LANIP: 192.168.{{ IP }}.1
tasks:
- pause:
prompt: "{{ lookup('template', 'demo.j2') }}"