network manager snap service name regression

Bug #1747714 reported by Kyle Nitzsche on 2018-02-06
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
nplan (Ubuntu)
High
Mathieu Trudel-Lapierre
Xenial
High
Mathieu Trudel-Lapierre
Artful
High
Mathieu Trudel-Lapierre
Bionic
High
Mathieu Trudel-Lapierre

Bug Description

[Impact]
netplan users on Ubuntu Core systems wishing to change netplan configuration that affects NetworkManager

[Test cases]
1) Run 'sudo netplan apply'
2) Verify that NetworkManager has been restarted, and no errors were shown on console.

[Regression potential]
This fixes a current regression where netplan fails to use the right NetworkManager service file to restart NM on Ubuntu Core systems. On systems with both the NetworkManager from the Ubuntu archive and a snap-based NetworkManager are installed, this would default to the snap-based NetworkManager. In these cases, existing systems would regress in behavior if they have a working installation of NetworkManager from the Ubuntu archive.

---

A previous code change seems to have been dropped from nplan on xenial.

The change enabled netplan to restart network-manager service when netman is installed as a snap.

Without the change, netplan tries to restart the debian packaged service name of netman.

Here is the change:
https://bugs.launchpad.net/ubuntu/+source/nplan/+bug/1627641/comments/16

Please also see customer's fourm post on this topic:
https://forum.snapcraft.io/t/netplan-and-networkmanager-interaction-bug/3863

Steve Langasek (vorlon) on 2018-02-07
Changed in nplan (Ubuntu):
status: New → Triaged
Kyle Nitzsche (knitzsche) wrote :

Any idea when a time frame for this can be addressed? Is a customer issue. Thanks.

Working on this, there will need to be a SRU for this fix.

Changed in nplan (Ubuntu):
status: Triaged → In Progress
importance: Undecided → High
assignee: nobody → Mathieu Trudel-Lapierre (cyphermox)
Changed in nplan (Ubuntu Artful):
status: New → In Progress
Changed in nplan (Ubuntu Xenial):
status: New → In Progress
importance: Undecided → High
Changed in nplan (Ubuntu Artful):
importance: Undecided → High
Changed in nplan (Ubuntu Xenial):
assignee: nobody → Mathieu Trudel-Lapierre (cyphermox)
Changed in nplan (Ubuntu Artful):
assignee: nobody → Mathieu Trudel-Lapierre (cyphermox)
Changed in nplan (Ubuntu Bionic):
status: In Progress → Fix Committed
tags: added: id-5a7a603c063825d048c8c1b1
Changed in nplan (Ubuntu Artful):
status: In Progress → Won't Fix
Łukasz Zemczak (sil2100) wrote :

Accepted for xenial-proposed. Please test the package and set the verification-done-xenial on success. Thank you!

Changed in nplan (Ubuntu Xenial):
status: In Progress → Fix Committed
tags: added: verification-needed-xenial
description: updated

Fix Released for bionic; this landed in netplan.io 0.34 (not shown because of the package rename):

netplan.io (0.34) bionic; urgency=medium

  * New release 0.34 (LP: #1754019):
    * Implement "optional: true" to correctly write systemd network definitions
      with "RequiredForOnline=false", so that these networks do not block boot.
      (LP: #1664844)
    * Implement 'help' as a subcommand of any netplan command, so that running
      'netplan * help' always returns some helpful information. (LP: #1748629)
    * Reinstate snap support for dealing with the NetworkManager snap.
      (LP: #1747714)
    * Added bash completion. (LP: #1749869)
    * Implement 'netplan ip leases': allows users to retrieve lease information
      for the backend in use; to query for custom DHCP options.
    * Don't silently break bridge-priority; fix it instead. (LP: #1752162)
    * Miscellaneous coverage, linting, and fuzzing fixes.
    * Refactor subcommands into separate source files, automate command loading
      and various code cleanups.
    * Disable "ifupdown-migrate"; which is incomplete and thus risks breaking
      systems. Better iterate over it without showing it as a viable option.
    * Add better routing support, implement initial routing policy support.
      - Add 'on-link' support. (LP: #1735193)
  * debian/control:
    - Renamed source and "real" binary to netplan.io.
    - Added a transitional package for nplan.
    - Updated Vcs-* fields to point to the Github project we now use.
    - Updated Standards-Version, debhelper.
  * debian/compat: bump to debhelper compat level 11.
  * debian/copyright: Update Format: field for https.
  * debian/netplan.io.install: obligatory file to install files.
  * debian/source/format: now we're 3.0 native, for reals.

Changed in nplan (Ubuntu Bionic):
status: Fix Committed → Fix Released

Verification done for xenial (nplan 0.32~16.04.4):

I used a dummy service on a new 16.04 install to have snap.network-manager.networkmanager.service available on the system.

dummy service:
[Unit]
Description=Test
DefaultDependencies=no
Conflicts=shutdown.target
Before=shutdown.target

[Service]
Type=oneshot
ExecStart=/usr/bin/logger -t toto test starting
ExecStop=/usr/bin/logger -t toto test stopping

[Install]
WantedBy=sysinit.target

netplan config:
network:
    version: 2
    renderer: NetworkManager
    ethernets:
        veth0:
            addresses:
                - 10.10.10.1/22

root@pleasing-koala:/etc/netplan# sudo netplan apply
Failed to start NetworkManager.service: Unit NetworkManager.service not found.
Traceback (most recent call last):
  File "/usr/sbin/netplan", line 418, in <module>
    eval('command_' + args.command.replace('-', '_'))()
  File "/usr/sbin/netplan", line 345, in command_apply
    systemctl_network_manager('start')
  File "/usr/sbin/netplan", line 104, in systemctl_network_manager
    subprocess.check_call(['systemctl', action, '--no-block', service_name])
  File "/usr/lib/python3.5/subprocess.py", line 581, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['systemctl', 'start', '--no-block', 'NetworkManager.service']' returned non-zero exit status 5
root@pleasing-koala:/etc/netplan# sudo systemctl enable snap.network-manager.networkmanager.service
Created symlink from /etc/systemd/system/sysinit.target.wants/snap.network-manager.networkmanager.service to /etc/systemd/system/snap.network-manager.networkmanager.service.
root@pleasing-koala:/etc/netplan# sudo netplan apply
root@pleasing-koala:/etc/netplan# sudo systemctl status snap.network-manager.networkmanager.service
● snap.network-manager.networkmanager.service - Test
   Loaded: loaded (/etc/systemd/system/snap.network-manager.networkmanager.service; enabled; vendor preset: enabled)
   Active: inactive (dead) since Mon 2018-03-19 15:42:09 UTC; 5s ago
  Process: 1190 ExecStop=/usr/bin/logger -t toto test stopping (code=exited, status=0/SUCCESS)
  Process: 1189 ExecStart=/usr/bin/logger -t toto test starting (code=exited, status=0/SUCCESS)
 Main PID: 1189 (code=exited, status=0/SUCCESS)

Mar 19 15:42:09 pleasing-koala systemd[1]: Starting Test...
Mar 19 15:42:09 pleasing-koala toto[1189]: test starting
Mar 19 15:42:09 pleasing-koala systemd[1]: Started Test.

tags: added: verification-done-xenial
removed: verification-needed-xenial
Kyle Nitzsche (knitzsche) wrote :

Hello, when can we expect this to land in Xenial? Customer using Core hit this and is the original reporter.
thanks.

Kyle Nitzsche (knitzsche) wrote :

When can we expect this to land in Core on stable? Thanks

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package nplan - 0.32~16.04.4

---------------
nplan (0.32~16.04.4) xenial; urgency=medium

  [ Oliver Grawert ]
  * Prevent unbinding ath6kl_sdio, driver does not support it correctly.
    (LP: #1741910)

  [ Mathieu Trudel-Lapierre ]
  * Re-add snap support patch. (LP: #1747714)
  * Fix syntax for IPv6 addresses in doc. (LP: #1735317)
  * doc: routes are not top-level but per-interface. (LP: #1726695)
  * Implement bridge port-priority parameter. (LP: #1735821)
  * Implement "optional: true" to correctly write systemd network definitions
    with "RequiredForOnline=false", such that these networks do not block boot.
    (LP: #1664844)
  * Various documentation fixes. (LP: #1751814)

 -- Mathieu Trudel-Lapierre <email address hidden> Fri, 02 Mar 2018 17:02:03 -0500

Changed in nplan (Ubuntu Xenial):
status: Fix Committed → Fix Released

The verification of the Stable Release Update for nplan 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.

Kyle Nitzsche (knitzsche) wrote :

I see nplan 0.32~16.04.4 in core currently in edge: 16-2.32.5+git694.b490763

Not easy to figure out which revision of core contains a particular version of a particular deb, since I can't find core build manifests

FWIW

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers