diff --git a/bibigrid/models/configuration.py b/bibigrid/models/configuration.py index e77661e7..6b034321 100644 --- a/bibigrid/models/configuration.py +++ b/bibigrid/models/configuration.py @@ -159,6 +159,7 @@ class MasterConfig(BaseConfig): Holds info regarding the configuration """ masterInstance: Instance + dns_server_list: Optional[List[str]] = Field(default_factory=list) sshPublicKeyFiles: Optional[List[str]] = Field(default_factory=list) sshPublicKeys: Optional[List[str]] = Field(default_factory=list) sshTimeout: Optional[int] = 5 diff --git a/bibigrid/resources/playbook/roles/bibigrid/tasks/003-dns.yaml b/bibigrid/resources/playbook/roles/bibigrid/tasks/003-dns.yaml index 1bb3994a..33375a49 100644 --- a/bibigrid/resources/playbook/roles/bibigrid/tasks/003-dns.yaml +++ b/bibigrid/resources/playbook/roles/bibigrid/tasks/003-dns.yaml @@ -21,6 +21,11 @@ mode: "0o644" notify: Dnsmasq +- name: Read upstream DNS IPs from systemd-resolved + ansible.builtin.shell: "awk '/^nameserver/ {print $2}' /run/systemd/resolve/resolv.conf || true" + register: systemd_resolv_lines + changed_when: false + - name: Adjust dnsmasq.resolv.conf template: src: dns/resolv.conf.j2 diff --git a/bibigrid/resources/playbook/roles/bibigrid/templates/dns/resolv.conf.j2 b/bibigrid/resources/playbook/roles/bibigrid/templates/dns/resolv.conf.j2 index 4820b158..622b8543 100644 --- a/bibigrid/resources/playbook/roles/bibigrid/templates/dns/resolv.conf.j2 +++ b/bibigrid/resources/playbook/roles/bibigrid/templates/dns/resolv.conf.j2 @@ -1,3 +1,3 @@ -{% for ip in dns_server_list %} +{% for ip in dns_server_list + systemd_resolv_lines.stdout_lines %} nameserver {{ ip }} {% endfor %} \ No newline at end of file