Execution
Date 22 Jul 2025 10:50:20 +0100
Duration 00:00:00.87
Controller ssh-gw-4.layershift.com
User root
Versions
Ansible 2.16.11
ara 1.7.2 / 1.7.2
Python 3.10.10
Summary
1 Hosts
3 Tasks
3 Results
1 Plays
1 Files
0 Records

File: /home/ssh-gateway/ansible/kuly/get_mac_addresses.yaml

---
- name: Get MAC address of primary physical network interface
  hosts: all
  gather_facts: true
  tasks:

    - name: Filter physical interfaces
      set_fact:
        physical_interfaces: >-
          {{
            ansible_interfaces
            | select('match', '^(eth|eno|ens|em)[0-9]+$')
            | list
          }}

    - name: Set MAC address of first valid physical interface
      set_fact:
        primary_physical_iface: "{{ item }}"
        primary_mac: "{{ ansible_facts['ansible_' + item]['macaddress'] }}"
      loop: "{{ physical_interfaces }}"
      when: "'ansible_' + item in ansible_facts and ansible_facts['ansible_' + item]['macaddress'] is defined"
      register: mac_result
      until: primary_mac is defined
      retries: "{{ physical_interfaces | length }}"
      delay: 0
      run_once: true

    - name: Show MAC address
      debug:
        msg: >-
          MAC address of primary physical interface ({{ primary_physical_iface }}):
          {{ primary_mac }}