main.yml 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. ---
  2. - name: Check if host has NetworkManager
  3. command: systemctl show NetworkManager
  4. register: nm_check
  5. failed_when: false
  6. become: true
  7. changed_when: false
  8. - name: Check if NetworkManager service exists
  9. systemd:
  10. name: NetworkManager
  11. state: started
  12. register: nm_service
  13. failed_when: false
  14. ignore_errors: true
  15. - name: Ensure NetworkManager conf.id dir for Calico
  16. file:
  17. path: "/etc/NetworkManager/conf.d"
  18. state: directory
  19. recurse: yes
  20. become: true
  21. when: nm_check.rc == 0
  22. - name: Prevent NetworkManager from managing Calico and host OVS interfaces
  23. copy:
  24. content: |
  25. [keyfile]
  26. unmanaged-devices=interface-name:cali*;interface-name:tunl*;interface-name:br*;interface-name:v*
  27. dest: /etc/NetworkManager/conf.d/calico.conf
  28. become: true
  29. when:
  30. - nm_check.rc == 0
  31. - name: reload NetworkManager
  32. shell: |
  33. chattr +i /etc/resolv.conf || :
  34. echo "nm_service is defined? {{ nm_service is defined }}\nnm_service.state {{ nm_service.state | default('stopped') == 'started' }}"
  35. become: true
  36. when:
  37. - nm_service is defined
  38. - nm_service.state | default('stopped') == 'started'
  39. notify: Reload NetworkManager