systemd-resolved not started when networking enabled

Bug #1891952 reported by Brian Murray
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Release Notes for Ubuntu
Fix Released
Undecided
Unassigned
friendly-recovery (Ubuntu)
Fix Released
High
William Wilson
Bionic
Fix Released
High
William Wilson
Focal
Fix Released
High
William Wilson
Groovy
Fix Released
High
William Wilson

Bug Description

I was using friendly-recovery as my Ubuntu desktop session was not starting after an upgrade to Groovy Gorilla. When I chose to "Enable networking" in the friendly-recovery menu I noticed that no dns servers could be reached and come to find out it was because systemd-resolved did not start.

Attached is a photo with some additional information.

[Impact]

 * If a user has both systemd and resolvconf
   installed, the networking option in friendly
   recovery mode will not work correctly.

 * In this scenario, /etc/resolv.conf will be
   empty and dns resolution will not work

[Test Case]

 * Ensure both systemd and resolvconf are installed

 * Boot to friendly recovery mode and select the
   network option from the menu

 * Drop to a root shell by selecting the root shell
   option from the menu.

 * `cat /etc/resolv.conf` to make sure it is not
    an empty file

 * Run `dig www.google.com` to ensure dns resolution
   works properly

[Where problems could occur]

 * It is possible certain resolvconf or systemd-resolved
   configurations could still conflict with each other

 * This would be especially true if a user wanted to use
   one nameserver service for a fully booted system and
   a different service in friendly recovery mode

 * If the nameserver is misconfigured in resolvconf or
   network-manager, it will still be non-functional
   in friendly recovery mode.

Related branches

Revision history for this message
Brian Murray (brian-murray) wrote :
Revision history for this message
Brian Murray (brian-murray) wrote :

The problem I encountered in the description was from when I had systemd version 246-2ubuntu1 installed. I've since downgraded to 245.7-1ubuntu1 so I tried friendly-recovery again and there were still issues with name resolution. However, this time starting systemd-resolved did not fix the issue and name resolution still failed so I think this bears further investigation.

tags: removed: rls-gg-incoming
Steve Langasek (vorlon)
Changed in friendly-recovery (Ubuntu Groovy):
importance: Undecided → High
Revision history for this message
Balint Reczey (rbalint) wrote :

Systemd 246.2-1ubuntu1 may have fixed the DNS issue. Do yo still observe the problem?

Changed in friendly-recovery (Ubuntu Groovy):
status: New → Incomplete
Revision history for this message
Brian Murray (brian-murray) wrote :

Yes, I still observe the issue with systemd 246.2-1ubuntu1. Simply restarting systemd-resolved populates /etc/resolv.conf and allows name resolution to work.

Changed in friendly-recovery (Ubuntu Groovy):
status: Incomplete → New
tags: added: id-5f3e933949c90824f3719caa
Revision history for this message
Brian Murray (brian-murray) wrote :

This is still an issue with systemd 246.4-1ubuntu1.

Revision history for this message
Brian Murray (brian-murray) wrote :

Latest test results.

tags: added: fr-209
tags: added: groovy
Changed in ubuntu-release-notes:
status: New → Fix Released
Revision history for this message
William Wilson (jawn-smith) wrote :

This appears to be a conflict between systemd-resolved and resolvconf.

I'm able to recreate the issue with the following steps

1) Fresh 20.04 install

2) boot to friendly recovery
    a) enable networking, drop to root shell
    b) name resolution works as expected

3) reboot to fully booted system and install resolvconf

4) boot to friendly recovery
    a) enable networking, drop to root shell
    b) name resolution no longer works
    c) /etc/resolv.conf is empty
    d) restarting systemd-resolved populates /etc/resolv.conf and name resolution
       begins working again

Revision history for this message
William Wilson (jawn-smith) wrote :

The steps in my previous comment result in the same behavior with all of the following:

Focal
    systemd version 245.4-4ubuntu3.4
    resolvconf version 1.82

Groovy
    systemd version 246.6-1ubuntu1.1
    resolvconf version 1.84ubuntu1

Hirsute
    systemd version 247.1-4ubuntu1
    resolvconf version 1.84ubuntu1

Revision history for this message
Brian Murray (brian-murray) wrote :

The system on which I'd discovered this issue is one which has been upgraded from an install of Ubuntu 16.04 LTS which had resolvconf in main.

Revision history for this message
William Wilson (jawn-smith) wrote :

Attached is a patch to SRU for bionic.

Revision history for this message
William Wilson (jawn-smith) wrote :

Attached is a patch to SRU focal.

Revision history for this message
William Wilson (jawn-smith) wrote :

Attached is a patch to SRU groovy.

Revision history for this message
William Wilson (jawn-smith) wrote :

Attached is a patch for hirsute. For hirsute we will begin using quilt patches for changes.

description: updated
Revision history for this message
Brian Murray (brian-murray) wrote :

The hirsute debdiff is no longer necessary as 0.2.42 (which has the fix) is now in -proposed for hirsute.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package friendly-recovery - 0.2.42

---------------
friendly-recovery (0.2.42) unstable; urgency=medium

  [ Debian Janitor ]
  * Trim trailing whitespace.
  * Add missing build dependency on dh addon.
  * Bump debhelper from old 10 to 12.
  * Set debhelper-compat version in Build-Depends.
  * Use secure URI in Vcs control header Vcs-Bzr.

  [ William 'jawn-smith' Wilson ]
  * add resolvconf-pull-resolved.path to script that brings up the
    network (LP: #1891952)

 -- Dimitri John Ledkov <email address hidden> Wed, 27 Jan 2021 15:54:45 +0000

Changed in friendly-recovery (Ubuntu):
status: New → Fix Released
Revision history for this message
Dimitri John Ledkov (xnox) wrote :

groovy sponsored into unapproved queue

Revision history for this message
Dimitri John Ledkov (xnox) wrote :

focal sponsored into unapproved queue

Revision history for this message
Dimitri John Ledkov (xnox) wrote :

also news to me that resolvconf changes i did got srued that far back!

Revision history for this message
Dimitri John Ledkov (xnox) wrote :

bionic sponsored into unapproved queue

Changed in friendly-recovery (Ubuntu Bionic):
status: New → In Progress
Changed in friendly-recovery (Ubuntu Focal):
status: New → In Progress
Changed in friendly-recovery (Ubuntu Groovy):
status: New → In Progress
Mathew Hodson (mhodson)
Changed in friendly-recovery (Ubuntu Bionic):
importance: Undecided → High
Changed in friendly-recovery (Ubuntu Focal):
importance: Undecided → High
Revision history for this message
Brian Murray (brian-murray) wrote : Please test proposed package

Hello Brian, or anyone else affected,

Accepted friendly-recovery into groovy-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/friendly-recovery/0.2.41ubuntu0.20.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, what testing has been performed on the package and change the tag from verification-needed-groovy to verification-done-groovy. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-groovy. In either case, without details of your testing we will not be able to proceed.

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

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in friendly-recovery (Ubuntu Groovy):
status: In Progress → Fix Committed
tags: added: verification-needed verification-needed-groovy
Changed in friendly-recovery (Ubuntu Bionic):
status: In Progress → Fix Committed
tags: added: verification-needed-bionic
Revision history for this message
Brian Murray (brian-murray) wrote :

Hello Brian, or anyone else affected,

Accepted friendly-recovery into bionic-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/friendly-recovery/0.2.38ubuntu1.2 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, what testing has been performed on the package and change the tag from verification-needed-bionic to verification-done-bionic. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-bionic. In either case, without details of your testing we will not be able to proceed.

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

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in friendly-recovery (Ubuntu):
assignee: nobody → William Wilson (jawn-smith)
Changed in friendly-recovery (Ubuntu Bionic):
assignee: nobody → William Wilson (jawn-smith)
Changed in friendly-recovery (Ubuntu Focal):
assignee: nobody → William Wilson (jawn-smith)
Changed in friendly-recovery (Ubuntu Groovy):
assignee: nobody → William Wilson (jawn-smith)
Revision history for this message
William Wilson (jawn-smith) wrote :

The attached image verifies the fix in bionic. The first half of the image shows the installed versions of friendly-recovery, systemd, and resolvconf, the failed result from "dig www.google.com", and the empty /etc/resolv.conf. The second half of the image shows an updated installed version of friendly-recovery, a successful result from "dig www.google.com", and the correct contents of /etc/resolv.conf.

Revision history for this message
William Wilson (jawn-smith) wrote :

Verification passed for groovy.

The attached image verifies the fix in groovy. The first half of the image shows the installed versions of friendly-recovery, systemd, and resolvconf, the failed result from "dig www.google.com", and the empty /etc/resolv.conf. The second half of the image shows an updated installed version of friendly-recovery, a successful result from "dig www.google.com", and the correct contents of /etc/resolv.conf

tags: added: verification-done-bionic verification-done-groovy
removed: verification-needed-bionic verification-needed-groovy
Revision history for this message
Brian Murray (brian-murray) wrote :

Hello Brian, or anyone else affected,

Accepted friendly-recovery into focal-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/friendly-recovery/0.2.41ubuntu0.20.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, what testing has been performed on the package and change the tag from verification-needed-focal to verification-done-focal. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-focal. In either case, without details of your testing we will not be able to proceed.

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

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in friendly-recovery (Ubuntu Focal):
status: In Progress → Fix Committed
tags: added: verification-needed-focal
Revision history for this message
William Wilson (jawn-smith) wrote :

Verification passed for focal.

The attached image verifies the fix in focal. The first half of the image shows the installed versions of friendly-recovery, systemd, and resolvconf, the failed result from "dig www.google.com", and the empty /etc/resolv.conf. The second half of the image shows an updated installed version of friendly-recovery, a successful result from "dig www.google.com", and the correct contents of /etc/resolv.conf

tags: added: verification-done verification-done-focal
removed: verification-needed verification-needed-focal
Revision history for this message
Brian Murray (brian-murray) wrote : Update Released

The verification of the Stable Release Update for friendly-recovery has completed successfully and the package is now being 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.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package friendly-recovery - 0.2.41ubuntu0.20.10.1

---------------
friendly-recovery (0.2.41ubuntu0.20.10.1) groovy; urgency=medium

  * add resolvconf-pull-resolved.path to script that brings up the
    network in order to resolve a conflict between systemd and
    resolvconf (LP: #1891952)

 -- William 'jawn-smith' Wilson <email address hidden> Tue, 26 Jan 2021 15:09:22 -0600

Changed in friendly-recovery (Ubuntu Groovy):
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package friendly-recovery - 0.2.38ubuntu1.2

---------------
friendly-recovery (0.2.38ubuntu1.2) bionic; urgency=medium

  * add resolvconf-pull-resolved.path to script that brings up the
    network in order to resolve a conflict between systemd and
    resolvconf (LP: #1891952)

 -- William 'jawn-smith' Wilson <email address hidden> Tue, 26 Jan 2021 15:21:36 -0600

Changed in friendly-recovery (Ubuntu Bionic):
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package friendly-recovery - 0.2.41ubuntu0.20.04.1

---------------
friendly-recovery (0.2.41ubuntu0.20.04.1) focal; urgency=medium

  * add resolvconf-pull-resolved.path to script that brings up the
    network in order to resolve a conflict between systemd and
    resolvconf (LP: #1891952)

 -- William 'jawn-smith' Wilson <email address hidden> Tue, 26 Jan 2021 15:17:03 -0600

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

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.