[SRU] NetworkManager triggers a call from (old) Netplan Python CLI into (old) libnetplan0 that got replaced by (new) libnetplan1 on dist-upgrade

Bug #2033259 reported by Chris Guiver
40
This bug affects 3 people
Affects Status Importance Assigned to Milestone
netplan.io (Ubuntu)
Won't Fix
Medium
Unassigned
Jammy
New
Undecided
Unassigned
Noble
Won't Fix
Medium
Unassigned
Oracular
Won't Fix
Medium
Unassigned
network-manager (Ubuntu)
Fix Released
Medium
Unassigned
Jammy
Invalid
Undecided
Unassigned
Noble
Fix Committed
Medium
Unassigned
Oracular
Fix Released
Medium
Unassigned

Bug Description

[ Impact ]

 * Context: Running a dist-upgrade from Jammy to Noble.
 * Starting with Noble (Mantic actually), NetworkManager integrates with Netplan as a backend and calls 'netplan generate' at different stages, e.g. when migrating old /etc/NetworkManager/sytem-connections/ profiles to /etc/netplan/ on package upgrade.
 * NetworkManager depends on Netplan >= 0.106 only, but there was a major SOVER/ABI bump of libnetplan, starting with Netplan v1.0. The new build-dependency on libnetplan1 >= 1.0 is automatically picked up, but the runtime dependency on the Netplan CLI (netplan.io binary) is not.
 * Therefore, we can end up in a situation where the old netplan.io Python CLI is still installed during dist-upgrade and tries to call into the new libnetplan1, which is incompatible.
 * Furthermore, python3-netplan ships a python3.10 specific _netplan_cffi.cpython-310-x86_64-linux-gnu.so binary module, while python3-netplan on Noble++ ships a universal _netplan_cffi.abi3.so binary module. The old one can lead to issues when python3 is already upgraded.
 * Incompatible versions of Netplan CLI, Netplan Python bindings and libnetplan can lead to crashes of the Netplan CLI, like this: AttributeError: /lib/x86_64-linux-gnu/libnetplan.so.1: undefined symbol: netplan_get_id_from_nm_filename

 * Such crash doesn't always happen, as it depends on the ordering of package upgrades during dist-upgrade. It will recover itself after the dist-upgrade is complete and all components are at their expected versions again. So side-effects are rather small, but it can lead to blocking of phased-updates for Netplan, which we'd like to avoid (LP: #2058031).

 * We want to make sure NetworkManager pulls in the latest libnetplan1, netplan.io and python3-netplan packages on dist-upgrade, to avoid such issues. Therefore declaring corresponding dependencies on the network-manager binary package in debian/control. Such changes are not needed on series after Noble, as recent Netplan is much more resilient against such issues, using a python stable API binary module (_netplan_cffi.abi3.so), using dh-python & ${python3:Depends} substvars, and providing a stable libnetplan1 library.

[ Test Plan ]

$ lxc launch ubuntu-daily:jammy jj-nm-np
$ lxc shell jj-nm-np

# Verify old version of Netplan (< 1.0)
root@jj-nm-np:~# dpkg -l | grep netplan
ii libnetplan0:amd64 0.106.1-7ubuntu0.22.04.4 amd64 YAML network configuration abstraction runtime library
ii netplan.io 0.106.1-7ubuntu0.22.04.4 amd64 YAML network configuration abstraction for various backends

root@jj-nm-np:~# sed -i 's/jammy/noble/g' /etc/apt/sources.list
root@jj-nm-np:~# apt update
root@jj-nm-np:~# apt install network-manager

=> Make sure libnetplan1 >= 1.0, netplan.io >= 1.0 and python3-netplan >= 1.0 are installed and the Netplan CLI does not crash, e.g.:

root@jj-nm-np:~# dpkg -l | grep netplan
ii libnetplan0:amd64 0.106.1-7ubuntu0.22.04.4 amd64 YAML network configuration abstraction runtime library
ii libnetplan1:amd64 1.0.1-1ubuntu2~24.04.1 amd64 Declarative network configuration runtime library
ii netplan-generator 1.0.1-1ubuntu2~24.04.1 amd64 Declarative network configuration systemd-generator
ii netplan.io 1.0.1-1ubuntu2~24.04.1 amd64 Declarative network configuration for various backends
ii python3-netplan 1.0.1-1ubuntu2~24.04.1 amd64 Declarative network configuration Python bindings
root@jj-nm-np:~# netplan generate
root@jj-nm-np:~# echo $?
0

On a broken system, it looks like this:
root@jj-nm-np:~# dpkg -l | grep netplan.io
ii netplan.io 0.106.1-7ubuntu0.22.04.4 amd64 YAML network configuration abstraction for various backends
root@jj-nm-np:~# dpkg -l | grep netplan
ii libnetplan0:amd64 0.106.1-7ubuntu0.22.04.4 amd64 YAML network configuration abstraction runtime library
ii libnetplan1:amd64 1.0.1-1ubuntu2~24.04.1 amd64 Declarative network configuration runtime library
ii netplan.io 0.106.1-7ubuntu0.22.04.4 amd64 YAML network configuration abstraction for various backends
root@jj-nm-np:~# netplan generate
Traceback (most recent call last):
  File "/usr/sbin/netplan", line 20, in <module>
    from netplan import Netplan
  File "/usr/share/netplan/netplan/__init__.py", line 18, in <module>
    from netplan.cli.core import Netplan
  File "/usr/share/netplan/netplan/cli/core.py", line 24, in <module>
    import netplan.cli.utils as utils
  File "/usr/share/netplan/netplan/cli/utils.py", line 27, in <module>
    import netplan.libnetplan as np
  File "/usr/share/netplan/netplan/libnetplan.py", line 54, in <module>
    lib.netplan_get_id_from_nm_filename.restype = ctypes.c_char_p
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/ctypes/__init__.py", line 392, in __getattr__
    func = self.__getitem__(name)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/ctypes/__init__.py", line 397, in __getitem__
    func = self._FuncPtr((name_or_ordinal, self))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: /lib/x86_64-linux-gnu/libnetplan.so.1: undefined symbol: netplan_get_id_from_nm_filename

[ Test Plan 2 ]

 * In addition to the specific test plan above, we want to run a full dist-upgrade of an Ubuntu Jammy Desktop VM to a Ubuntu Noble system (noble-proposed, to test the actual SRU candidate package). Making sure the upgrade still passes.

[ Where problems could occur ]

 * We're modifying the runtime dependencies of NetworkManager, making it more strict wrt. the Netplan system packages. This will lead to different dependency resolving during apt dist-upgrade and could lead to unresolvable dependency loops. We introduced "Test Plan 2" above to check for that.

[ Other Info ]

 * The dependency on python3-netplan >= 1.0 isn't there in Oracular+ (only netplan.io >= 1.0). It's not needed, because the effects will only surface on dist-upgrade from libnetplan0 to libnetplan1 and libnetplan0 doesn't exist anymore as of Noble (Netplan 1.0).

=== Original bug report ===

ubuntu desktop (mantic) live test on dell optiplex 780
- dell [optiplex] 780 (c2q-q9400, 8gb, amd/ati cedar radeon hd 5000/6000/7350/8350)

exploring the /var/crash/ directory I noticed this report; nothing had appeared on screen, so just filed it with `ubuntu-bug`.

ProblemType: Crash
DistroRelease: Ubuntu 23.10
Package: netplan.io 0.106.1-8
Uname: Linux 6.3.0-7-generic x86_64
Architecture: amd64
Date: Mon Aug 28 08:12:32 2023
ExecutablePath: /usr/share/netplan/netplan.script
ExecutableTimestamp: 1684343476
InterpreterPath: /usr/bin/python3.11
ProcCmdline: /usr/bin/python3 /usr/sbin/netplan generate
ProcCwd: /
ProcEnviron:
 LANG=en_US.UTF-8
 PATH=(custom, no user)
PythonArgs: ['/usr/sbin/netplan', 'generate']
SourcePackage: netplan.io
UserGroups: N/A

Revision history for this message
Chris Guiver (guiverc) wrote :
information type: Private → Public
tags: removed: need-duplicate-check
Changed in netplan.io (Ubuntu):
importance: Undecided → Medium
Chris Guiver (guiverc)
description: updated
Revision history for this message
Ubuntu QA Website (ubuntuqa) wrote :

This bug has been reported on the Ubuntu ISO testing tracker.

A list of all reports related to this bug can be found here:
https://iso.qa.ubuntu.com/qatracker/reports/bugs/2033259

tags: added: iso-testing
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in netplan.io (Ubuntu):
status: New → Confirmed
Revision history for this message
Lukas Märdian (slyon) wrote :

I wonder if we can reproduce this issue on 0.107, which is now in Mantic?

The /usr/share/netplan/netplan/libnetplan.py file (where the crash happens) is not part of the new 0.107 release anymore. And the new CFFI bindings will not allow compilation if the symbol would be missing.

Revision history for this message
Lukas Märdian (slyon) wrote :

It might be NetworkManager (or cloud-init) calling "netplan generate" during an upgrade/installation of packages, when libnetplan is already upgraded to >= v1.0 (libnetplan1), while netplan.io (the Python bits) are still on the old version (v0.106/v0.107)...

Revision history for this message
Lukas Märdian (slyon) wrote :
Download full text (5.8 KiB)

Unsing a Jammy system and installing libnetplan1 from Noble leads to this issue. When network-manager is installed in that context, it also triggers the crash:

root@jj-nn-np-nm-crash:~# dpkg -l | grep netplan
ii libnetplan0:amd64 0.106.1-7ubuntu0.22.04.4 amd64 YAML network configuration abstraction runtime library
ii libnetplan1:amd64 1.0.1-1ubuntu2~24.04.1 amd64 Declarative network configuration runtime library
ii netplan.io 0.106.1-7ubuntu0.22.04.4 amd64 YAML network configuration abstraction for various backends

root@jj-nn-np-nm-crash:~# netplan generate
Traceback (most recent call last):
  File "/usr/sbin/netplan", line 20, in <module>
    from netplan import Netplan
  File "/usr/share/netplan/netplan/__init__.py", line 18, in <module>
    from netplan.cli.core import Netplan
  File "/usr/share/netplan/netplan/cli/core.py", line 24, in <module>
    import netplan.cli.utils as utils
  File "/usr/share/netplan/netplan/cli/utils.py", line 27, in <module>
    import netplan.libnetplan as np
  File "/usr/share/netplan/netplan/libnetplan.py", line 54, in <module>
    lib.netplan_get_id_from_nm_filename.restype = ctypes.c_char_p
  File "/usr/lib/python3.10/ctypes/__init__.py", line 387, in __getattr__
    func = self.__getitem__(name)
  File "/usr/lib/python3.10/ctypes/__init__.py", line 392, in __getitem__
    func = self._FuncPtr((name_or_ordinal, self))
AttributeError: /lib/x86_64-linux-gnu/libnetplan.so.1: undefined symbol: netplan_get_id_from_nm_filename

root@jj-nn-np-nm-crash:~# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.4 LTS
Release: 22.04
Codename: jammy

root@jj-nn-np-nm-crash:~# ll /var/crash/_usr_share_netplan_netplan.script.0.crash
-rw-r----- 1 root root 31274 Sep 12 14:37 /var/crash/_usr_share_netplan_netplan.script.0.crash

The installation of "network-manager" succeeds, but the crash can then be observed.

root@jj-nn-np-nm-crash:~# apt install network-manager
[...]
root@jj-nn-np-nm-crash:~# systemctl status NetworkManager
● NetworkManager.service - Network Manager
     Loaded: loaded (/lib/systemd/system/NetworkManager.service; enabled; vendor preset: enabled)
     Active: active (running) since Thu 2024-09-12 14:38:17 UTC; 1min 50s ago
       Docs: man:NetworkManager(8)
   Main PID: 4993 (NetworkManager)
      Tasks: 4 (limit: 28393)
     Memory: 3.0M
        CPU: 444ms
     CGroup: /system.slice/NetworkManager.service
             └─4993 /usr/sbin/NetworkManager --no-daemon

Sep 12 14:38:17 jj-nn-np-nm-crash NetworkManager[5021]: lib.netplan_get_id_from_nm_filename.restype = ctypes.c_char_p
Sep 12 14:38:17 jj-nn-np-nm-crash NetworkManager[5021]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Sep 12 14:38:17 jj-nn-np-nm-crash NetworkManager[5021]: File "/usr/lib/python3.12/ctypes/__init__.py", line 392, in __getattr__
Sep 12 14:38:17 jj-nn-np-nm-crash NetworkManager[5021]: func = self.__getitem__(name)
Sep 12 14:38:17 jj-nn-np-nm-crash NetworkManager[5021]: ^^^^^^^^^^^^^^^^^^^^^^
Sep 12 14:38:17 jj-nn-np-nm-crash NetworkManager[5021]: File...

Read more...

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

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in netplan.io (Ubuntu Noble):
status: New → Confirmed
Lukas Märdian (slyon)
tags: added: foundations-todo
Changed in network-manager (Ubuntu Oracular):
status: New → Triaged
importance: Undecided → Medium
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package network-manager - 1.48.8-1ubuntu3

---------------
network-manager (1.48.8-1ubuntu3) oracular; urgency=medium

  * d/control: Avoid calling into half installed/upgraded Netplan (LP: #2033259)

 -- Lukas Märdian <email address hidden> Thu, 12 Sep 2024 18:01:03 +0200

Changed in network-manager (Ubuntu Oracular):
status: Triaged → Fix Released
Revision history for this message
Danilo Egea Gondolfo (danilogondolfo) wrote :

We started to see a different error since netplan.io 0.107 landed in jammy-proposed:

ModuleNotFoundError: No module named 'netplan._netplan_cffi'

https://errors.ubuntu.com/problem/fae8a1deccaf9b2c8aac5d038dfbe8ab9ea9d506

The root cause is probably the same.
Phasing is paused for netplan.io 0.107.1-3ubuntu0.22.04.1

Revision history for this message
Lukas Märdian (slyon) wrote :
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in network-manager (Ubuntu Noble):
status: New → Confirmed
Lukas Märdian (slyon)
tags: added: sru-next
Changed in network-manager (Ubuntu Noble):
importance: Undecided → Medium
status: Confirmed → Triaged
status: Triaged → Confirmed
Changed in netplan.io (Ubuntu Noble):
importance: Undecided → Medium
status: Confirmed → Triaged
Revision history for this message
Lukas Märdian (slyon) wrote :

I'd suggest going with something like this in Jammy, to make sure netplan.io, python3-netplan and libnetplan1 are upgraded prior to network-manager triggering the Netplan integration, calling "netplan generate".

```diff
diff --git a/debian/control b/debian/control
index a82f4c0c..25651a34 100644
--- a/debian/control
+++ b/debian/control
@@ -10,6 +10,7 @@ Standards-Version: 4.6.2
 Rules-Requires-Root: no
 Build-Depends:
  debhelper-compat (= 13),
+ dh-python,
  pkg-config,
  bash-completion,
  libyaml-dev,
@@ -54,7 +55,8 @@ Depends:
  systemd (>= 248~),
 Suggests: python3-rich
 Conflicts: netplan
-Breaks: nplan (<< 0.34~)
+Breaks: nplan (<< 0.34~),
+ network-manager (>= 1.46~),
 Replaces: nplan (<< 0.34~)
 Provides: nplan
 Description: YAML network configuration abstraction for various backends
@@ -97,12 +99,13 @@ Section: python
 Architecture: linux-any
 Multi-Arch: foreign
 Depends:
+ ${python3:Depends},
  ${shlibs:Depends},
  ${misc:Depends},
  libnetplan0 (= ${binary:Version}),
- python3,
  python3-cffi-backend,
-Breaks: netplan.io (<< 0.107-3~)
+Breaks: netplan.io (<< 0.107-3~),
+ netplan.io (>= 1.0~),
 Replaces: netplan.io (<< 0.107-3~)
 Description: YAML network configuration abstraction Python bindings
  netplan reads YAML network configuration files which are written
diff --git a/debian/rules b/debian/rules
index 059693b2..64736568 100755
--- a/debian/rules
+++ b/debian/rules
@@ -3,7 +3,7 @@
 export DEB_BUILD_MAINT_OPTIONS = hardening=+all

 %:
- dh $@ --buildsystem=meson
+ dh $@ --buildsystem=meson --with=python3

 override_dh_auto_clean:
    dh_auto_clean
```

Here's a full apt upgrade log for a Ubuntu Jammy Desktop system (VM) to Noble, using this patch:

https://dpaste.org/P6OgS

Especially in the "Setting up ..." section we can see the expected ordering:

Setting up libnetplan1:amd64 (1.0.1-1ubuntu2~24.04.1) ...
[...]
Setting up netplan-generator (1.0.1-1ubuntu2~24.04.1) ...
[...]
Setting up python3-netplan (1.0.1-1ubuntu2~24.04.1) ...
[...]
Setting up netplan.io (1.0.1-1ubuntu2~24.04.1) ...
[...]
Setting up network-manager (1.46.0-1ubuntu2) ...
Removing obsolete conffile /etc/NetworkManager/dispatcher.d/01-ifupdown ...
Migrating my-test-con (3d113709-ec0b-3589-a97c-39e6db8febb2) to /etc/netplan

Revision history for this message
Lukas Märdian (slyon) wrote :

On Ubuntu Noble and above, libnetplan is providing a stable 1.0 API and also using the stable Python API, so a dependency on a specific python version is not needed anymore. python3-netplan is shipping this file instead: /usr/lib/python3/dist-packages/netplan/_netplan_cffi.abi3.so

This PR is shipped as a distro-patch in Noble+: https://github.com/canonical/netplan/pull/448

Changed in netplan.io (Ubuntu Noble):
status: Triaged → Won't Fix
Changed in netplan.io (Ubuntu Oracular):
status: Confirmed → Won't Fix
Revision history for this message
Lukas Märdian (slyon) wrote :

Recent version of Netplan (v1.1.1-1++) make use of dh-python and ${python3:Depends} substvars (LP: #2077011), so there's nothing to be fixed there.

NetworkManager pulling in (old) Netplan on dist-upgrade happens only on dist-upgrades to Noble, so there's nothing to be fixed in NM on Jammy.

Changed in netplan.io (Ubuntu):
status: Confirmed → Won't Fix
Changed in network-manager (Ubuntu Jammy):
status: New → Invalid
summary: - netplan.script crashed with AttributeError in __getitem__():
- /usr/bin/python3: undefined symbol: netplan_get_id_from_nm_filename
+ [SRU] NetworkManager triggers a call from (old) Netplan Python CLI to
+ into (old) libnetplan0 that got replaced by (new) libnetplan1 on dist-
+ upgrade
summary: - [SRU] NetworkManager triggers a call from (old) Netplan Python CLI to
- into (old) libnetplan0 that got replaced by (new) libnetplan1 on dist-
- upgrade
+ [SRU] NetworkManager triggers a call from (old) Netplan Python CLI into
+ (old) libnetplan0 that got replaced by (new) libnetplan1 on dist-upgrade
Lukas Märdian (slyon)
description: updated
description: updated
Revision history for this message
Lukas Märdian (slyon) wrote :

I've uploaded network-manager 1.46.0-1ubuntu2.2 into the Noble UNAPPROVED queue for SRU review:
https://launchpad.net/ubuntu/noble/+queue?queue_state=1&queue_text=network-manager

I'm bundling this with the pending SRU for 1.46.0-1ubuntu2.1 (LP: #2084731)

Lukas Märdian (slyon)
Changed in network-manager (Ubuntu Noble):
status: Confirmed → In Progress
Revision history for this message
Timo Aaltonen (tjaalton) wrote : Please test proposed package

Hello Chris, or anyone else affected,

Accepted network-manager into noble-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/network-manager/1.46.0-1ubuntu2.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-noble to verification-done-noble. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-noble. 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 network-manager (Ubuntu Noble):
status: In Progress → Fix Committed
tags: added: verification-needed verification-needed-noble
Revision history for this message
Ubuntu SRU Bot (ubuntu-sru-bot) wrote : Autopkgtest regression report (network-manager/1.46.0-1ubuntu2.2)

All autopkgtests for the newly accepted network-manager (1.46.0-1ubuntu2.2) for noble have finished running.
The following regressions have been reported in tests triggered by the package:

firewalld/2.1.1-1 (ppc64el)
netplan.io/unknown (ppc64el)
strongswan/unknown (amd64)
sublime-music/unknown (amd64)

Please visit the excuses page listed below and investigate the failures, proceeding afterwards as per the StableReleaseUpdates policy regarding autopkgtest regressions [1].

https://people.canonical.com/~ubuntu-archive/proposed-migration/noble/update_excuses.html#network-manager

[1] https://wiki.ubuntu.com/StableReleaseUpdates#Autopkgtest_Regressions

Thank you!

Revision history for this message
Lukas Märdian (slyon) wrote :
Download full text (6.0 KiB)

I've tested network-manager 1.46.0-1ubuntu2.2 from noble-proposed and can confirm the Jammy -> Noble upgrade is working as intended.

I re-triggered a bunch of the tmpfail (/unknown) autopkgtest from above.

$ lxc launch ubuntu-daily:jammy jj-nm-np
Creating jj-nm-np
Starting jj-nm-np
$ lxc shell jj-nm-np
root@jj-nm-np:~# dpkg -l | grep netplan
ii libnetplan0:amd64 0.107.1-3ubuntu0.22.04.1 amd64 YAML network configuration abstraction runtime library
ii netplan-generator 0.107.1-3ubuntu0.22.04.1 amd64 YAML network configuration abstraction systemd-generator
ii netplan.io 0.107.1-3ubuntu0.22.04.1 amd64 YAML network configuration abstraction for various backends
ii python3-netplan 0.107.1-3ubuntu0.22.04.1 amd64 YAML network configuration abstraction Python bindings
root@jj-nm-np:~# sed -i 's/jammy/noble/g' /etc/apt/sources.list
# ALSO: enabled noble-proposed
root@jj-nm-np:~# apt update
[...]
root@jj-nm-np:~# apt install -t noble-proposed network-manager
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following packages were automatically installed and are no longer required:
  gir1.2-packagekitglib-1.0 libappstream4 libdw1 libgstreamer1.0-0 libpackagekit-glib2-18 libstemmer0d
  python3-software-properties python3.10 python3.10-minimal
Use 'apt autoremove' to remove them.
The following additional packages will be installed:
  apt apt-utils dns-root-data dnsmasq-base gcc-14-base ibverbs-providers libapt-pkg6.0t64 libbluetooth3 libc-bin
  libc6 libcurl3t64-gnutls libdb5.3t64 libexpat1 libgcrypt20 libgdbm6t64 libglib2.0-0t64 libgmp10 libgnutls30t64
  libhogweed6t64 libibverbs1 libjansson4 libldap2 libmbim-glib4 libmbim-proxy libmbim-utils libmm-glib0 libndp0
  libnetplan1 libnettle8t64 libnewt0.52 libnghttp2-14 libnl-3-200 libnl-genl-3-200 libnl-route-3-200 libnm0
  libp11-kit0 libpcap0.8t64 libpcsclite1 libpsl5t64 libpython3-stdlib libpython3.12-minimal libpython3.12-stdlib
  libqmi-glib5 libqmi-proxy libqmi-utils libqrtr-glib0 libreadline8t64 libsasl2-2 libsasl2-modules
  libsasl2-modules-db libssl3t64 libstdc++6 libteamdctl0 libunistring5 libzstd1 locales modemmanager netplan.io
  network-manager-pptp ppp pptp-linux python3 python3-apt python3-cffi-backend python3-dbus python3-gdbm python3-gi
  python3-lib2to3 python3-markdown-it python3-markupsafe python3-mdurl python3-minimal python3-netifaces
  python3-netplan python3-newt python3-pkg-resources python3-pygments python3-pyrsistent python3-rich
  python3-setuptools python3-systemd python3-yaml python3-zope.interface python3.12 python3.12-minimal wireless-regdb
  wpasupplicant
Suggested packages:
  apt-doc aptitude | synaptic | wajig dpkg-dev glibc-doc libnss-nis libnss-nisplus rng-tools gdbm-l10n
  low-memory-monitor gnutls-bin pcscd libsasl2-modules-gssapi-mit | libsasl2-modules-gssapi-heimdal
  libsasl2-modules-ldap libsasl2-modules-otp libsasl2-modules-sql avahi-autoipd libteam-utils python3-doc python3-tk
  python3-venv python-apt-doc python-dbus-doc python3...

Read more...

Revision history for this message
Lukas Märdian (slyon) wrote :

After a fresh Ubuntu 22.04.5 Desktop default installation, I changed the apt sources to Noble, incl. apt-pinning for noble-proposed and executed a "sudo apt dist-upgrade", that included the upgrade to network-manager/noble-proposed 1.46.0-1ubuntu2.2.

lukas@lukas-Standard-PC-Q35-ICH9-2009:~$ apt list --upgradable | grep network-manager
[...]
network-manager/noble-proposed 1.46.0-1ubuntu2.2 amd64 [upgradable from: 1.36.6-0ubuntu2]

The upgrade shows logs in the correct oder:
[...]
Setting up libnetplan1:amd64 (1.0.1-1ubuntu2~24.04.1) ...
[...]
Setting up netplan-generator (1.0.1-1ubuntu2~24.04.1) ...
Removing 'diversion of /lib/systemd/system-generators/netplan to /lib/systemd/system-generator
s/netplan.usr-is-merged by netplan-generator'
[...]
Setting up python3-netplan (1.0.1-1ubuntu2~24.04.1) ...
[...]
Setting up netplan.io (1.0.1-1ubuntu2~24.04.1) ...
[...]
Setting up network-manager (1.46.0-1ubuntu2.2) ...
Removing obsolete conffile /etc/NetworkManager/dispatcher.d/01-ifupdown ...
Migrating test123 (f4aef947-3b63-4470-a1f1-072590811f43) to /etc/netplan

No crash report was created during the upgrade, NetworkManager was successfully upgraded and Netplan can be used normally:

lukas@lukas-Standard-PC-Q35-ICH9-2009:~$ ls -la /var/crash/
total 8
drwxrwsrwt 2 root whoopsie 4096 Sep 11 16:21 .
drwxr-xr-x 14 root root 4096 Sep 11 16:24 ..
lukas@lukas-Standard-PC-Q35-ICH9-2009:~$ sudo netplan generate
lukas@lukas-Standard-PC-Q35-ICH9-2009:~$ echo $?
0
lukas@lukas-Standard-PC-Q35-ICH9-2009:~$ nmcli c
NAME UUID TYPE DEVICE
Wired connection 1 ff9cc172-1b0a-3638-8cf7-083086181e1f ethernet enp1s0
lo d0a5f34b-acc6-475a-8911-5aac1a24ac4c loopback lo
test123 f4aef947-3b63-4470-a1f1-072590811f43 ethernet --

PS: all the autopkgtest failures from comment #17 were resolved after retry.

tags: added: verification-done verification-done-noble
removed: verification-needed verification-needed-noble
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.