From 3964ac2e366ea25bd06dc35965be66b0fd32cf53 Mon Sep 17 00:00:00 2001 From: Sandwich Date: Thu, 12 Mar 2026 04:26:34 +0100 Subject: [PATCH] fix(environment): use resolvectl for DNS on systemd-resolved live ISOs --- .../environment/tasks/_configure_network.yml | 38 +++++++++++++------ 1 file changed, 27 insertions(+), 11 deletions(-) diff --git a/roles/environment/tasks/_configure_network.yml b/roles/environment/tasks/_configure_network.yml index f4ccc37..669fd33 100644 --- a/roles/environment/tasks/_configure_network.yml +++ b/roles/environment/tasks/_configure_network.yml @@ -32,20 +32,36 @@ register: environment_gateway_result changed_when: environment_gateway_result.rc == 0 -- name: Configure DNS resolvers +- name: Configure DNS resolvers via systemd-resolved when: - hypervisor_type == "vmware" - system_cfg.network.dns.servers | default([]) | length > 0 - ansible.builtin.copy: - dest: /etc/resolv.conf - content: | - {% for server in system_cfg.network.dns.servers %} - nameserver {{ server }} - {% endfor %} - {% if system_cfg.network.dns.search | default([]) | length > 0 %} - search {{ system_cfg.network.dns.search | join(' ') }} - {% endif %} - mode: "0644" + ansible.builtin.command: >- + resolvectl dns {{ environment_interface_name }} + {{ system_cfg.network.dns.servers | join(' ') }} + register: environment_dns_result + changed_when: environment_dns_result.rc == 0 + +- name: Configure DNS search domains via systemd-resolved + when: + - hypervisor_type == "vmware" + - system_cfg.network.dns.search | default([]) | length > 0 + ansible.builtin.command: >- + resolvectl domain {{ environment_interface_name }} + {{ system_cfg.network.dns.search | join(' ') }} + register: environment_dns_search_result + changed_when: environment_dns_search_result.rc == 0 + +- name: Verify network connectivity + when: + - hypervisor_type == "vmware" + - system_cfg.network.ip is defined and system_cfg.network.ip | string | length > 0 + ansible.builtin.command: >- + resolvectl query archlinux.org + register: environment_network_check + changed_when: false + retries: 3 + delay: 5 - name: Synchronize clock via NTP ansible.builtin.command: timedatectl set-ntp true