No documented way to set a default DNS server if no per-interface servers exist
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
MAAS |
Won't Fix
|
Wishlist
|
Unassigned | ||
Netplan |
Won't Fix
|
Medium
|
Unassigned |
Bug Description
If no per-interface DNS service is defined, MAAS normally falls back to specifying a global default DNS server (probably specifying itself, since it is responsible for DNS for both query forwarding and MAAS hosts).
It looks like netplan only allows DNS servers to be set up on a per-interface basis.
If MAAS does not have *any* per-interface[1] DNS information, should we render a netplan configuration where *every single interface* uses the default DNS server? Or should the concept of a global DNS server be supported in netplan?
Closely related (enough that I'm not sure we need a separate bug) is that MAAS has a global search list (consisting of all the domains it manages), but not a per-interface search list (which would be a nice feature). So without support for a global search list, MAAS is again stuck appending each search domain to *every* interface.
I'm thinking of adding a "nameservers" entry (alongside "ethernets") to prevent information loss, for now, which would contain any default DNS servers, plus the search list.
[1]: (actually in MAAS per-subnet in MAAS, but that's a minor detail)
description: | updated |
description: | updated |
description: | updated |
tags: | added: netplan |
Changed in maas: | |
status: | Triaged → Won't Fix |
There are no ways to currently write global nameservers with the supported renderers (neither networkd nor NetworkManager have a concept of "global" nameservers, and instead encode this per-interface).
There's some potential to setting resolved fallback nameservers, but those remain *fallback* rather than alternate nameservers that apply to all interfaces.
Furthermore, there is not much point in writing global nameservers when you will need at least one interface to reach them anyway. At the current time, it is better to repeat the information for each interface where it makes sense, and omit "global" nameservers for the interfaces where they might not be reachable at all.