[SRU] Backport netplan.io 1.0.1-1ubuntu2 to 24.04

Bug #2074197 reported by Danilo Egea Gondolfo
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
netplan.io (Ubuntu)
New
Undecided
Unassigned
Noble
Fix Committed
Undecided
Unassigned

Bug Description

Stable Release Update for netplan.io 1.0.1-1ubuntu2 to Noble. This version has many bug
fixes and one small new feature we want to make available to users of Ubuntu 24.04. netplan.io
has an SRU exception for backporting new versions with new features https://wiki.ubuntu.com/NetplanUpdates

[Impact]

This release contains both bug-fixes and new features and we would like to
make sure all of our supported customers have access to these improvements.
The notable ones are:

  * It now allows setting the SRIOV Embedded Switch mode with having to define Virtual Functions

  * Fix for aregression introduced by security fixes:
    - don't escape all the non-ascii characters. The method used to escape control
      characters was also escaping bytes that are not ASCII.

  * Fix for an old problem where utf-8 strings wouldn't be re-emitted as utf-8 when libnetplan
    generated YAML from its state.

[Test Plan]
The following development and SRU process was followed:
https://wiki.ubuntu.com/NetplanUpdates

Netplan contains an extensive integration test suite that is ran using
the SRU package for each releases. This test suite's results are available here:
http://autopkgtest.ubuntu.com/packages/n/netplan.io

A successful run is required before the proposed netplan package
can be let into -updates.

The netplan team will be in charge of attaching the artifacts and console
output of the appropriate run to the bug. Netplan team members will not
mark ‘verification-done’ until this has happened.

NOTE: there is one flaky autopkgtests that eventually fails only on ppc64el.
The test is TestNetworkManager.test_remove_virtual_interfaces and tests if a virtual network
interface is removed when the parameter --state is used. But the test *sometimes* fails to create the
virtual interface. It's consistently passing on all the other architectures.

Testing netplan upgrade

1) Launch a LXD VM with Noble

lxc launch ubuntu:noble noble-vm --vm
lxc shell noble-vm

2) Check netplan is working

netplan apply

netplan get

3) Add the PPA with the new package and upgrade your packages

add-apt-repository ppa:danilogondolfo/netplan-sru

apt update ; apt -y upgrade

4) Check netplan is still working

netplan apply

netplan get

[Where problems could occur]
In order to mitigate the regression potential, the results of the
aforementioned integration tests are attached to this bug.

<TODO: attach test artifacts for every SRU release, not a link as links expire>

This is not a big release and is available on Oracular for some time now without any concerning issues reported.
The wait-online related changes and security fixes were already present in Noble via distro patches.

As usual, any backwards compatibility issue that prevents the new netplan to parse existing YAML files would leave
the system without networking configuration after a reboot.

[Other Info]

[Changelog]

  * Backport netplan.io 1.0.1-1ubuntu2 to 24.04 (LP: #2074197):
    - sriov: accept setting the eswitch mode without VFs (LP: 2020409)
    - cli/sriov: refactoring
    - tests: use proper 0o600 file permissions in more places
    - doc: Adding missing 'watchfiles' dependency for Sphinx
    - doc: Minor fixes in lang. and mark-up in YAML reference
    - doc: Tutorial reorg & lang. + formatting improvements
    - networkd: add wait-online enumeration utils
    - generate: enable systemd-networkd-wait-online for non-optional interfaces
    - CLI:utils: Do not ask for daemon-reload password interactively
    - CLI:generate: call daemon-reload after (re-)generating services
    - wait-online: Do not block on loopback interface
    - generate: Do not touch wait-online, if we don't have any networkd NetDefs
    - wait-online: wait for existing interfaces only and downgrade operational
      state for interfaces without IP configuration
    - wait-online: account for DHCPv4/v6 addresses
    - wait-online: do not require virtual devices to be created already
    - wait-online: recognize that bridge/bond members will never gain
      link-local addresses
    - networkd:apply: Drop handling of legacy wpa@ instance units
    - wait-online: disabled wait-online for stable 1.0
    - test:integration: Try to improve test flakyness
    - autopkgtest: More fixes for flaky 'ethernets' test
    - Increase some test timeouts to account for slow (riscv64) buildds
    SECURITY UPDATE:
    - libnetplan: use more restrictive file permissions
      (Closes: #1072789, LP: 2065738, LP: 1987842)
    - CVE-2022-4968
    - libnetplan: escape control characters
    - backends: escape file paths
    - backends: escape semicolons in service units (LP: 2066258)
    Bug fixes:
    - cli: Fix logging setup when python-rich is not present
    - CI: fix DebCI case for no-change rebuilds
    - CI: adopt autopkgtest for 1.0-1 on 22.04
    - doc: Update README, move CODE_OF_CONDUCT
    - doc: fix en_GB spelling
    - CI: adopt snapd.patch for autopkgtest SRU (LP: 2051939)
    - parse-nm: add a workaround for the DoT DNS option (LP: 2055148)
    - CI: Install netplan-ci PPA
    - parse: don't remove datalist items during iteration
    - ATTN: parse/bonds: handle same primary in multiple bonds
    - parse/bonds: don't fail on primary reassignment
    - cli/sriov: set eswitch regardless of pcidev.vfs
    - doc: Fix wrong bonds.parameters.mode syntax in example
    - parse: fix redefinition of gateway(4|6)
    - doc:tutorial: fix whitespace formatting
    - util: fix potential NULL pointer assert
    - python: elements of __all__ must be strings
    - tests: fix diff test with iproute2 6.8
    - cli/generate: skip daemon_reload with --mapping
    - test: cleanup after wait_online test to fix DebCI
    - CI: fork spread to get !179 fixes
    - doc: Fix netplan-generate.md formatting !483
    - emitter: allow unicode characters in the emitter (LP: 2071652)
    - parse: do not escape all non-ascii bytes
  * d/t/control: 'diff' autopkgtest is not flaky anymore
  * d/patches: Drop patches, applied upstream
  * d/p/0002-CLI-apply-call-udevadm-trigger-using-action-add-Clos.patch:
    Update 'udevadm trigger' patch, using MOVE action (LP: 2071363)
  * d/p/0003-Revert-wait-online-disabled-wait-online-for-stable-1.patch:
    Fix wait-online via s-n-wait-online.service.d/10-netplan.
  * debian/netplan-generator.postinst: Add a postinst maintainer script to call
    the generator, so the file permissions fixes will be applied automatically.
  * d/libnetplan1.symbols:
    - Update for new internal wait-online symbol
    - Update for new (private) symbol
  * d/copyright: Update for 2024

Related branches

description: updated
Revision history for this message
Łukasz Zemczak (sil2100) wrote : Please test proposed package

Hello Danilo, or anyone else affected,

Accepted netplan.io into noble-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/netplan.io/1.0.1-1ubuntu2~24.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-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 netplan.io (Ubuntu Noble):
status: New → Fix Committed
tags: added: verification-needed verification-needed-noble
Revision history for this message
Ubuntu SRU Bot (ubuntu-sru-bot) wrote : Autopkgtest regression report (netplan.io/1.0.1-1ubuntu2~24.04.1)

All autopkgtests for the newly accepted netplan.io (1.0.1-1ubuntu2~24.04.1) for noble have finished running.
The following regressions have been reported in tests triggered by the package:

initramfs-tools/0.142ubuntu25.1 (armhf)
initramfs-tools/unknown (s390x)
netplan.io/unknown (s390x)
network-manager/unknown (s390x)

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#netplan.io

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

Thank you!

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.