docker test broken by systemd-resolv environment

Bug #1732717 reported by Stefan Bader on 2017-11-16
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
ubuntu-fan (Ubuntu)
Medium
Unassigned
Xenial
Medium
Stefan Bader
Zesty
Medium
Stefan Bader
Artful
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/systemd-resolvd there is only a local resolver (127.0.0.53) added to /etc/resolv.conf on the host. Surprisingly this does not seem to be an issue for an artful(or later) VM running on my own local desktop. But in the Canonical CI environment DNS lookups fail inside a docker container.

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 ***
          --dns=<ip>
  - 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.

Stefan Bader (smb) on 2017-11-16
Changed in ubuntu-fan (Ubuntu):
status: New → In Progress
description: updated
Launchpad Janitor (janitor) wrote :

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

Changed in ubuntu-fan (Ubuntu):
status: In Progress → Fix Released
Stefan Bader (smb) on 2017-11-29
Changed in ubuntu-fan (Ubuntu Artful):
importance: Undecided → Medium
status: New → In Progress
Stefan Bader (smb) on 2017-11-29
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

Hello Stefan, or anyone else affected,

Accepted ubuntu-fan into artful-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/ubuntu-fan/0.12.8~17.10.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed.Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested and change the tag from verification-needed-artful to verification-done-artful. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-artful. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in ubuntu-fan (Ubuntu Artful):
status: In Progress → Fix Committed
tags: added: verification-needed verification-needed-artful
Łukasz Zemczak (sil2100) wrote :

Hello Stefan, or anyone else affected,

Accepted ubuntu-fan into zesty-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/ubuntu-fan/0.12.8~17.04.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed.Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested and change the tag from verification-needed-zesty to verification-done-zesty. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-zesty. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in ubuntu-fan (Ubuntu Zesty):
status: In Progress → Fix Committed
tags: added: verification-needed-zesty
Łukasz Zemczak (sil2100) wrote :

Hello Stefan, or anyone else affected,

Accepted ubuntu-fan into xenial-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/ubuntu-fan/0.12.8~16.04.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed.Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested and change the tag from verification-needed-xenial to verification-done-xenial. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-xenial. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in ubuntu-fan (Ubuntu Xenial):
status: In Progress → Fix Committed
tags: added: verification-needed-xenial
Stefan Bader (smb) wrote :

Verified for Xenial/0.12.8~16.04.1 that in the log of the ADT docker test we do not activate the DNS explicit setting:

master: detected primary route through ens2
master: DNS: 91.189.94.2
local docker test: creating test container ...
d5b268f456f8cf0edc7291984eaf7c7f88eb7fa18bc45612751c2e0d04328d18
slave: detected primary route through eth0
slave: DNS: 127.0.0.11

tags: added: verification-done-xenial
removed: verification-needed-xenial
Stefan Bader (smb) wrote :
tags: added: verification-done-zesty
removed: verification-needed-zesty
Stefan Bader (smb) wrote :

Verified for Artful/0.12.8~17.10.1 that we are using DNS override:

master: detected primary route through ens2
master: DNS: systemd(91.189.95.35)
local docker test: *** Using DNS override ***
  --dns=91.189.95.35

https://objectstorage.prodstack4-5.canonical.com/v1/AUTH_77e2ada1e7a84929a74ba3b87153c0ac/autopkgtest-artful/artful/amd64/u/ubuntu-fan/20171204_153311_9bcda@/log.gz

tags: added: verification-done verification-done-artful
removed: verification-needed verification-needed-artful
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package ubuntu-fan - 0.12.8~17.10.1

---------------
ubuntu-fan (0.12.8~17.10.1) artful; urgency=medium

  * fanatic: Optionally provide DNS server for docker test (LP: #1732717)

ubuntu-fan (0.12.7~17.10.1) artful; 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> Wed, 29 Nov 2017 11:00:50 +0100

Changed in ubuntu-fan (Ubuntu Artful):
status: Fix Committed → Fix Released

The verification of the Stable Release Update for ubuntu-fan has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package ubuntu-fan - 0.12.8~17.04.1

---------------
ubuntu-fan (0.12.8~17.04.1) zesty; urgency=medium

  * fanatic: Optionally provide DNS server for docker test (LP: #1732717)

ubuntu-fan (0.12.7~17.04.1) zesty; urgency=medium

  * fanctl: cmd_up needs to proparate scan_config errors (LP: #1719644)
  * fanatic: Clean up config if bringup fails (LP: #1728050)

ubuntu-fan (0.12.6~17.04.1) zesty; urgency=medium

  [ 0.12.5 ]
  * DEP8: Fix LXD default interface detection (LP: #1732739)
  * fanctl: return error on fail_up (LP: #1719644)

  [ 0.12.6 ]
  * fanatic: Add short success delay to nc_send (LP: #1721352)
  * fanatic: Catch test preparation steps failing (LP: #1735183)
  * fanatic: Add DNS checks to local-test preparation (LP: #1732747)

 -- Stefan Bader <email address hidden> Wed, 29 Nov 2017 15:08:26 +0100

Changed in ubuntu-fan (Ubuntu Zesty):
status: Fix Committed → Fix Released
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package ubuntu-fan - 0.12.8~16.04.1

---------------
ubuntu-fan (0.12.8~16.04.1) xenial; urgency=medium

  * fanatic: Optionally provide DNS server for docker test (LP: #1732717)

ubuntu-fan (0.12.7~16.04.1) xenial; urgency=medium

  * fanctl: cmd_up needs to proparate scan_config errors (LP: #1719644)
  * fanatic: Clean up config if bringup fails (LP: #1728050)

ubuntu-fan (0.12.6~16.04.1) xenial; urgency=medium

  [ 0.12.5 ]
  * DEP8: Fix LXD default interface detection (LP: #1732739)
  * fanctl: return error on fail_up (LP: #1719644)

  [ 0.12.6 ]
  * fanatic: Add short success delay to nc_send (LP: #1721352)
  * fanatic: Catch test preparation steps failing (LP: #1735183)
  * fanatic: Add DNS checks to local-test preparation (LP: #1732747)

ubuntu-fan (0.12.4~16.04.1) xenial; urgency=medium

  [ Andy Whitcroft ]
  * fanctl.8: fix interfane type (LP: #1584845)
  * debian/control: fix use of obsolete > operator (LP: #1714969)
  * fanctl: only bring up enabled Fan Networks in --auto mode (LP: #1707610)
  * fanctl: correctly specify local interface specific config (LP: #1707610)
  * fanatic: recast advanced commands as non-interactive (LP: #1714966)
  * fanatic: fix spelling in primary help (LP: #1714966)
  * fanatic: fix references to fanatic manual page (LP: #1714966)

  [ Stefan Bader ]
  * fanatic: fix local testing and improve docker test (LP: #1714969)
  * fanatic: Support nc -N option (LP: #1714969)
  * fanatic: Prevent error message without docker installed (LP: #1714969)
  * fanatic: Supply LXD storage if needed (LP: #1714969)
  * dep8: Add LXD auto-test (LP: #1714969)
  * fanatic: Fix typo in progress output (LP: #1714966)
  * README: Refresh documentation (LP: #1714966)
  * fanctl.8: Refresh documentation (LP: #1714966)
  * fanatic.8: Refresh documentation (LP: #1714966)
  * fanatic.8: Reword advanced to non-interactive usage (LP: #1714966)
  * DEP8: lxd: Suppress stderr on profile list (LP: #1714969)

 -- Stefan Bader <email address hidden> Wed, 29 Nov 2017 16:17:26 +0100

Changed in ubuntu-fan (Ubuntu Xenial):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers