---
- name: Ensure Prerequisites
  apt:
    name: "{{ item }}"
    state: present
  with_items:
    - python-ethtool=0.7*

- name: Gather Interface Information
  netinfo:

- name: Establish Interface Lists
  set_fact:
    reboot_required: false
    fabric_iface_list: []
    nonfabric_iface_list: []
    search_list: "|{{ compute_node.fabric_iface_match }}|"
  changed_when: false

- name: Gather Fabric Interfaces
  set_fact:
    fabric_iface_list: "{{ fabric_iface_list + [item] }}"
  with_items:
    - "{{ netinfo.keys() | sort }}"
  when: netinfo[item]['module'] is defined and search_list.find('|' + netinfo[item]['module'] + '|') != -1 and ( not compute_node.interfaces.external or item != compute_node.interfaces.external  )
  changed_when: false

- name: Gather Non-Fabric Interfaces
  set_fact:
    nonfabric_iface_list: "{{ nonfabric_iface_list + [item] }}"
  with_items:
    - "{{ netinfo.keys() | sort }}"
  when: netinfo[item]['module'] is defined and search_list.find('|' + netinfo[item]['module'] + '|') == -1 and ( not compute_node.interfaces.external or item != compute_node.interfaces.external )
  changed_when: false

#- name: Ensure Loopback
#  netfile:
#    src: "{{ compute_node.interfaces.file }}"
#    state: present
#    name: lo
#    config: loopback
#    auto: true
#    description: "Loopback interface"
#  register: net_changed

#- name: Verify Loopback Change
#  set_fact:
#    reboot_required: "{{ net_changed.changed }}"

- name: Ensure Fabric
  netfile:
    src: "{{ compute_node.interfaces.file }}"
    state: present
    name: fabric
    config: static
    auto: true
    address: "{{ compute_node.addresses.fabric }}"
    bond-mode: active-backup
    bond-miimon: 100
    bond-slaves: none
    description: "Leaf - Spine bonded fabric interface"
  register: net_changed

- name: Verify Network Change
  set_fact:
    reboot_required: "{{ reboot_required }}"

- name: Gather Primary Fabric Interface
  set_fact:
    fabric_primary_iface: "{{ fabric_iface_list | sort | first }}"
  changed_when: false
  when: fabric_iface_list|length > 0

- name: Ensure Primary Fabric Interface
  netfile:
    src: "{{ compute_node.interfaces.file }}"
    state: present
    auto: true
    name: "{{ fabric_primary_iface }}"
    config: manual
    bond-master: fabric
    bond-primary: "{{ fabric_primary_iface }}"
    description: "Primary fabric interface"
  register: net_changed
  when: fabric_iface_list|length > 0

- name: Verify Primary Fabric Interface Changed
  set_fact:
    reboot_required: "{{ reboot_required }} or {{ net_changed.changed }}"

- name: Ensure Fabric Interfaces
  netfile:
    src: "{{ compute_node.interfaces.file }}"
    state: present
    auto: true
    name: "{{ item }}"
    config: manual
    bond-master: fabric
    description: "Fabric interface"
  register: net_changed
  when: fabric_iface_list|length > 1 and item != fabric_primary_iface
  with_items:
    - "{{ fabric_iface_list | sort }}"

- name: Verify Fabric Interfaces Changed
  set_fact:
    reboot_required: "{{ reboot_required }} or {{ net_changed.changed }}"

- name: Ensure Management Bridge DHCP
  netfile:
    src: "{{ compute_node.interfaces.file }}"
    state: present
    name: mgmtbr
    config: "dhcp"
    auto: true
    bridge_ports: "{{ nonfabric_iface_list | join(' ') }}"
    description: "Internal POD management interface"
  register: net_changed
  when: compute_node.addresses.management == "dhcp"

- name: Verify Management Bridge DHCP Changed
  set_fact:
    reboot_required: "{{ reboot_required }} or {{ net_changed.changed }}"

- name: Ensure Management Bridge STATIC
  netfile:
    src: "{{ compute_node.interfaces.file }}"
    state: present
    name: mgmtbr
    config: static
    auto: true
    address: "{{ compute_node.addresses.management }}"
    gateway: "{{ compute_node.gateway.management | default(omit) }}"
    broadcast: "{{ compute_node.broadcast.management | default(omit) }}"
    bridge_ports: "{{ nonfabric_iface_list | join(' ') }}"
    description: "Internal POD management interface"
  register: net_changed
  when: compute_node.addresses.management != "dhcp"

- name: Verify Management Bridge STATIC Changed
  set_fact:
    reboot_required: "{{ reboot_required }} or {{ net_changed.changed }}"

- name: Ensure Management Bridge Interfaces
  netfile:
    src: "{{ compute_node.interfaces.file }}"
    state: present
    auto: true
    name: "{{ item }}"
    config: manual
    description: "Management interface"
  register: net_changed
  with_items:
    - "{{ nonfabric_iface_list | sort }}"

- name: Verify Management Bridge Interfaces Changed
  set_fact:
    reboot_required: "{{ reboot_required }} or {{ net_changed.changed }}"

- name: Ensure External Interface DHCP
  netfile:
    src: "{{ compute_node.interfaces.file }}"
    state: present
    auto: true
    name: "{{ compute_node.interfaces.external }}"
    config: dhcp
    description: "External interface from POD to Internet (uplink)"
  register: net_changed
  when: compute_node.interfaces.external and compute_node.addresses.external == "dhcp"

- name: Verify External Interface DHCP Changed
  set_fact:
    reboot_required: "{{ reboot_required }} or {{ net_changed.changed }}"

- name: Ensure External Interface STATIC
  netfile:
    src: "{{ compute_node.interfaces.file }}"
    state: present
    auto: true
    name: "{{ compute_node.interfaces.external }}"
    config: static
    address: "{{ compute_node.addresses.external }}"
    gateway: "{{ compute_node.gateway.external | default(omit) }}"
    broadcast: "{{ compute_node.broadcast.external | default(omit) }}"
    description: "External interface from POD to Internet (uplink)"
  register: net_changed
  when: compute_node.interfaces.external and compute_node.addresses.external != "dhcp"

- name: Verify External Interface STATIC Changed
  set_fact:
    reboot_required: "{{ reboot_required }} or {{ net_changed.changed }}"

- name: Reboot Required
  command: /sbin/reboot
  async: 0
  poll: 0
  ignore_errors: true
  when: reboot_required
  tags:
    - interface_config
    - reboot

- name: Ensure Port Defined
  set_fact:
    ansible_ssh_port: 22
  when: ansible_ssh_port is not defined

- name: Wait For Restart
  local_action: wait_for port={{ ansible_ssh_port }} host={{ inventory_hostname }} search_regex=OpenSSH delay=120 timeout=600 connect_timeout=15
  when: reboot_required
  tags:
    - interface_config
    - reboot
