# Help required for extracting Interface mac address

**URL:** <https://forum.ansible.com/t/help-required-for-extracting-interface-mac-address/30679>\
**Category:** Ansible Project\
**Created:** [June 28, 2019, 5:54am UTC](https://forum.ansible.com/t/help-required-for-extracting-interface-mac-address/30679 "2019-06-28T05:54:03Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Rakesh\_Parida](https://avatars.discourse-cdn.com/v4/letter/r/3ab097/32.png) [@Rakesh\_Parida](https://forum.ansible.com/u/Rakesh_Parida)\
**Post date:** [June 28, 2019, 5:54am UTC](https://forum.ansible.com/t/help-required-for-extracting-interface-mac-address/30679/1 "2019-06-28T05:54:03Z")

</div>

Hi ,

My VM has 4 ip-interfaces . I want to extract a data as below using ansible.  
Interface1: macaddress  
Interface2: macaddress

Interface3: macaddress

Interface4: macaddress

Kindly help.

---

<div class="post-metadata">

**Author:** ![Punit\_Jain](https://avatars.discourse-cdn.com/v4/letter/p/e56c9b/32.png) [@Punit\_Jain](https://forum.ansible.com/u/Punit_Jain)\
**Post date:** [June 29, 2019, 3:13am UTC](https://forum.ansible.com/t/help-required-for-extracting-interface-mac-address/30679/2 "2019-06-29T03:13:14Z")

</div>

Assuming you have all macs in a list:

- name: process mac addresses into a list  
set\_fact:  
result: “{{result | default() | union([‘Interface’ + idx|string + ': ’ + item]) }}”  
loop: “{{macs}}”  
loop\_control:  
index\_var: idx

- name: set fact  
set\_fact:  
final: “{{result|join(‘\n’)}}”

---

<div class="post-metadata">

**Author:** ![Dick\_Visser](https://avatars.discourse-cdn.com/v4/letter/d/d9b06d/32.png) [@Dick\_Visser](https://forum.ansible.com/u/Dick_Visser)\
**Post date:** [June 29, 2019, 7:42am UTC](https://forum.ansible.com/t/help-required-for-extracting-interface-mac-address/30679/3 "2019-06-29T07:42:22Z")

</div>

You could use a template like this:

{% for iface in ansible\_interfaces | difference(['lo','eth0']) | sort %}  
{{ iface }}: {{ hostvars[inventory\_hostname]['ansible\_' ~  
iface]['macaddress'] }}  
{% endfor %}

This will yield:

eth1: 08:00:27:b3:59:d0  
eth2: 08:00:27:87:1b:de  
eth3: 08:00:27:9b:80:85  
eth4: 08:00:27:90:ad:eb

---

<div class="post-metadata">

**Author:** ![Rakesh\_Parida](https://avatars.discourse-cdn.com/v4/letter/r/3ab097/32.png) [@Rakesh\_Parida](https://forum.ansible.com/u/Rakesh_Parida)\
**Post date:** [July 1, 2019, 4:42am UTC](https://forum.ansible.com/t/help-required-for-extracting-interface-mac-address/30679/4 "2019-07-01T04:42:12Z")

</div>

Hi Dick,

Thanks very much for your help. 🙂  
Thats exactly what i wanted.

Regards  
Rakesh
