docker test broken by systemd-resolv environment
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
ubuntu-fan (Ubuntu) |
Fix Released
|
Medium
|
Unassigned | ||
Xenial |
Fix Released
|
Medium
|
Stefan Bader | ||
Zesty |
Fix Released
|
Medium
|
Stefan Bader | ||
Artful |
Fix Released
|
Medium
|
Unassigned |
Bug Description
Inside a docker container DNS lookups are routed to 127.0.0.11:53 which is provided by the docker environment in some way. The real DNS service is taken from the hosts /etc/resolv.conf. The docker man page claims that selecting a good automatic default would not work if the hosts uses local resolvers (127.0.0.0/8).
Since switching to netplan/
SRU Justification:
Impact: DNS lookups inside docker containers can fail if the host environment is set up to only use a local resolver. The built-in docker test of fanatic will always fail in that case.
Fix: Add code to built-in tests which detect systemd-resolvd being in use and pass the IP address which systemd-resolv is using as forwarder with the --dns option to the docker run command.
Testcase:
- If the test host is using systemd-resolvd as its primary DNS
server, there will be the following message in the test log:
local docker test: *** Using DNS override ***
- Otherwise no message is printed.
- For all cases docker ADT test should (continue to) pass
Risk of regression: minimal, only testing affected which is run as ADT tests.
Changed in ubuntu-fan (Ubuntu): | |
status: | New → In Progress |
description: | updated |
Changed in ubuntu-fan (Ubuntu Artful): | |
importance: | Undecided → Medium |
status: | New → In Progress |
Changed in ubuntu-fan (Ubuntu Zesty): | |
assignee: | nobody → Stefan Bader (smb) |
importance: | Undecided → Medium |
status: | New → In Progress |
Changed in ubuntu-fan (Ubuntu Xenial): | |
assignee: | nobody → Stefan Bader (smb) |
importance: | Undecided → Medium |
status: | New → In Progress |
Changed in ubuntu-fan (Ubuntu): | |
assignee: | Stefan Bader (smb) → nobody |
This bug was fixed in the package ubuntu-fan - 0.12.8
---------------
ubuntu-fan (0.12.8) bionic; urgency=medium
* fanatic: Optionally provide DNS server for docker test (LP: #1732717)
ubuntu-fan (0.12.7) bionic; urgency=medium
* fanctl: cmd_up needs to proparate scan_config errors (LP: #1719644)
* fanatic: Clean up config if bringup fails (LP: #1728050)
-- Stefan Bader <email address hidden> Thu, 16 Nov 2017 18:44:06 +0100