diff --git a/ansible/roles/network-redhat/tasks/main.yml b/ansible/roles/network-redhat/tasks/main.yml index 754ea2333..7df70b0f7 100644 --- a/ansible/roles/network-redhat/tasks/main.yml +++ b/ansible/roles/network-redhat/tasks/main.yml @@ -4,6 +4,22 @@ when: resolv_is_managed | bool become: True +- name: Ensure NetworkManager DNS config is present only if required + become: true + community.general.ini_file: + path: /etc/NetworkManager/NetworkManager.conf + section: main + option: "{{ item.option }}" + value: "{{ item.value }}" + state: "{{ 'present' if resolv_is_managed | bool else 'absent'}}" + loop: + - option: dns + value: none + - option: rc-manager + value: unmanaged + when: + - ansible_facts.os_family == "RedHat" and ansible_facts.distribution_major_version == "9" + - name: Configure network interfaces (RedHat) import_role: name: MichaelRigart.interfaces diff --git a/releasenotes/notes/fix-resolv-conf-management-141788e64d0e82a0.yaml b/releasenotes/notes/fix-resolv-conf-management-141788e64d0e82a0.yaml new file mode 100644 index 000000000..102af06b2 --- /dev/null +++ b/releasenotes/notes/fix-resolv-conf-management-141788e64d0e82a0.yaml @@ -0,0 +1,6 @@ +--- +fixes: + - | + Fixes a bug where NetworkManager would overwrite resolv.conf when + ``resolv_is_managed`` is set to ``True``. + `LP#2044537 `__