--- - name: Check if host has NetworkManager command: systemctl show NetworkManager register: nm_check failed_when: false become: true changed_when: false - name: Check if NetworkManager service exists systemd: name: NetworkManager state: started register: nm_service failed_when: false ignore_errors: true - name: Ensure NetworkManager conf.id dir for Calico file: path: "/etc/NetworkManager/conf.d" state: directory recurse: yes become: true when: nm_check.rc == 0 - name: Prevent NetworkManager from managing Calico and host OVS interfaces copy: content: | [keyfile] unmanaged-devices=interface-name:cali*;interface-name:tunl*;interface-name:br*;interface-name:v* dest: /etc/NetworkManager/conf.d/calico.conf become: true when: - nm_check.rc == 0 - name: reload NetworkManager shell: | chattr +i /etc/resolv.conf || : echo "nm_service is defined? {{ nm_service is defined }}\nnm_service.state {{ nm_service.state | default('stopped') == 'started' }}" become: true when: - nm_service is defined - nm_service.state | default('stopped') == 'started' notify: Reload NetworkManager