/etc/resolv.conf is empty on snappy
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Snappy |
Fix Released
|
Critical
|
Unassigned | ||
systemd (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Xenial |
Fix Released
|
High
|
Martin Pitt |
Bug Description
we currently have no working resolver on snappy installs, /etc/resolv.conf is the boilerplate one.
on the low level we seem to have DNS from the DHCP server though
ogra@localhost:~$ grep -r DNS= /run/systemd/netif
/run/systemd/
/run/systemd/
/run/systemd/
ogra@localhost:~$
SRU INFORMATION
===============
Fix: https:/
Test case:
I cannot reproduce this in a VM or normal laptop, this is somehow specific to the reporter's hardware/DHCP server config.
* Configure systemd-networkd for an ethernet interface, either directly or via netplan; remove it from /etc/network/
* Reboot.
* With current xenial's systemd, if /run/systemd/
* With the proposed update, /etc/resolv.conf should have the DHCP-provided nameserver.
Regression potential: Low; in 16.04 LTS we do not configure networkd by any Ubuntu tool, so networkd is not widely used there yet. For systems which do use it it could happen that interface-specific DNS servers now appear in resolv.conf that should not be global -- but we do not have anything that would configure or obey this setup in 16.04.
Changed in snappy: | |
importance: | Undecided → Critical |
Changed in systemd (Ubuntu): | |
importance: | Undecided → Critical |
tags: | added: hw-specific |
description: | updated |
description: | updated |
Changed in snappy: | |
status: | New → Incomplete |
status: | Incomplete → Fix Released |
This is a bug in systemd- networkd- resolvconf- update. service, apparently /run/systemd/ netif/state does not always get the received DNS servers. This does not affect yakkety any more as this hackish thing is gone entirely and replaced by resolved.
But it is still relevant for xenial which snappy is based on, so we need to SRU it there.
Quick fix for snappy image builds until this is SRUed:
sed '/^ExecStart=/ s!netif/state!& /run/systemd/ netif/leases/ * | sort -u!' /lib/systemd/ system/ systemd- networkd- resolvconf- update. service