---
- name: NetworkManager | Ensure NetworkManager conf.d dir
  file:
    path: "/etc/NetworkManager/conf.d"
    state: directory
    recurse: yes

- name: NetworkManager | Prevent NetworkManager from managing Calico interfaces (cali*/tunl*/vxlan.calico)
  copy:
    content: |
      [keyfile]
      unmanaged-devices+=interface-name:cali*;interface-name:tunl*;interface-name:vxlan.calico
    dest: /etc/NetworkManager/conf.d/calico.conf
    mode: 0644
  when:
    - kube_network_plugin == "calico"
  notify: Preinstall | reload NetworkManager

# TODO: add other network_plugin interfaces

- name: NetworkManager | Prevent NetworkManager from managing K8S interfaces (kube-ipvs0/nodelocaldns)
  copy:
    content: |
      [keyfile]
      unmanaged-devices+=interface-name:kube-ipvs0;interface-name:nodelocaldns
    dest: /etc/NetworkManager/conf.d/k8s.conf
    mode: 0644
  notify: Preinstall | reload NetworkManager
