- name: "Looking for interface holding {{ ip }}" set_fact: "{{ var }}": "{{ eth['device'] }}" vars: eth: "{{ hostvars[inventory_hostname]['ansible_' + item] | default({}) }}" ipv4: "{{ eth['ipv4'] | default({}) }}" q: "{{ eth | json_query('ipv4_secondaries[*].address') }}" sec: "{{ ((q == ands_none) or (q == '')) | ternary([], q) }}" ips: "{{ sec | union([ipv4.address]) }}" when: - eth['type'] is defined - eth['ipv4'] is defined - eth['device'] is defined - eth['type'] == 'ether' - ip in ips with_items: - "{{ hostvars[inventory_hostname]['ansible_interfaces'] }}" # loop_control: # label: "{{ item }}" # no_log: true