[SRU] Backport netplan.io 1.0.1-1ubuntu2 to 24.04
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
netplan.io (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Noble |
Fix Released
|
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:/
[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:/
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://
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 TestNetworkMana
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:danilogondo
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-
- 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.parameter
- 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-
Update 'udevadm trigger' patch, using MOVE action (LP: 2071363)
* d/p/0003-
Fix wait-online via s-n-wait-
* debian/
the generator, so the file permissions fixes will be applied automatically.
* d/libnetplan1.
- Update for new internal wait-online symbol
- Update for new (private) symbol
* d/copyright: Update for 2024
Related branches
- Lukas Märdian: Approve
- Ubuntu Core Development Team: Pending requested
-
Diff: 9520 lines (+2927/-1381)72 files modified.github/workflows/autopkgtest.yml (+5/-1)
.github/workflows/build-abi.yml (+1/-0)
.github/workflows/check-address-sanitizer.yml (+1/-0)
.github/workflows/check-coverage.yml (+1/-0)
.github/workflows/coverity.yml (+1/-0)
.github/workflows/debci.yml (+1/-1)
.github/workflows/snapd.patch (+4/-4)
.github/workflows/spread.yml (+5/-1)
README.md (+3/-3)
debian/changelog (+73/-0)
debian/control (+1/-0)
debian/copyright (+1/-1)
debian/patches/0002-CLI-apply-call-udevadm-trigger-using-action-add-Clos.patch (+72/-0)
debian/patches/0003-Revert-wait-online-disabled-wait-online-for-stable-1.patch (+155/-0)
debian/patches/0004-generate-avoid-calling-udevadm-control-reload-LP-199.patch (+82/-0)
debian/patches/series (+3/-16)
debian/tests/control (+1/-1)
dev/null (+0/-386)
doc/.sphinx/requirements.txt (+1/-0)
doc/conf.py (+0/-1)
doc/creating-link-aggregation.md (+86/-0)
doc/howto.md (+26/-14)
doc/matching-interface-by-mac-address.md (+85/-0)
doc/netplan-generate.md (+2/-2)
doc/netplan-status.md (+3/-3)
doc/netplan-tutorial.md (+239/-533)
doc/netplan-yaml.md (+6/-5)
doc/tutorial.md (+2/-0)
doc/using-static-ip-addresses.md (+128/-0)
meson.build (+1/-1)
netplan_cli/__init__.py (+1/-1)
netplan_cli/cli/commands/apply.py (+0/-4)
netplan_cli/cli/commands/generate.py (+10/-1)
netplan_cli/cli/core.py (+2/-2)
netplan_cli/cli/sriov.py (+107/-56)
netplan_cli/cli/state_diff.py (+1/-1)
netplan_cli/cli/utils.py (+1/-1)
python-cffi/netplan/__init__.py (+5/-5)
spread.yaml (+1/-0)
src/generate.c (+25/-10)
src/networkd.c (+219/-58)
src/networkd.h (+5/-0)
src/nm.c (+18/-12)
src/openvswitch.c (+14/-10)
src/parse-nm.c (+15/-0)
src/parse.c (+115/-40)
src/sriov.c (+16/-5)
src/util-internal.h (+12/-0)
src/util.c (+116/-4)
src/validation.c (+4/-3)
src/yaml-helpers.h (+1/-0)
tests/cli/test_get_set.py (+2/-0)
tests/cli_legacy.py (+1/-2)
tests/ctests/meson.build (+1/-0)
tests/ctests/test_netplan_keyfile.c (+65/-0)
tests/ctests/test_netplan_misc.c (+45/-0)
tests/ctests/test_netplan_networkd.c (+74/-0)
tests/ctests/test_netplan_parser.c (+51/-0)
tests/generator/base.py (+3/-0)
tests/generator/test_args.py (+106/-5)
tests/generator/test_auth.py (+11/-11)
tests/generator/test_bonds.py (+14/-0)
tests/generator/test_common.py (+144/-9)
tests/generator/test_ovs.py (+82/-0)
tests/generator/test_wifis.py (+61/-90)
tests/integration/base.py (+93/-0)
tests/integration/diff.py (+2/-2)
tests/integration/ethernets.py (+46/-3)
tests/netplan_dbus/test_dbus.py (+6/-6)
tests/parser/test_keyfile.py (+39/-0)
tests/test_sriov.py (+403/-66)
tests/test_utils.py (+1/-1)
CVE References
description: | updated |
Changed in netplan.io (Ubuntu): | |
status: | New → Fix Released |
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/ PerformingSRUVe rification . 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.