Netplan v1.1 released
Netplan v1.1 is a record-breaking release, counting 17 individual contributors.
Kudos to everybody involved!
Highlights
- Custom
systemd-networkd-wait-online
logic override to wait for link-local and routable interfaces. (Create custom systemd-networkd-wait-online.service override to wait on individual interfaces. (LP: #2060311) by slyon · Pull Request #456 · canonical/netplan · GitHub, networkd: make s-n-wait-online wait for at least one routable interface by slyon · Pull Request #482 · canonical/netplan · GitHub) - Modification of the
embedded-switch-mode
setting without virtual-function (VF) definitions on SR-IOV devices (sriov: accept setting the eswitch mode without VFs (LP: #2020409) by daniloegea · Pull Request #454 · canonical/netplan · GitHub) - Parser flag to ignore individual, broken configurations, instead of not generating any backend configuration (Ignore bad NetDefs and files via parser flags by daniloegea · Pull Request #412 · canonical/netplan · GitHub)
- Fixes for @ProtonVPN (netplan ignores NetworkManager ipv4.route-metric (LP: #2076172) by calexandru2018 · Pull Request #495 · canonical/netplan · GitHub) and @Microsoft Azure Linux (Fix logging setup when python-rich is not present by frhuelsz · Pull Request #445 · canonical/netplan · GitHub), contributed by those companies
Releasing v1.1
- CI: adopt autopkgtest for 1.0-1 on 22.04 by @slyon in CI: adopt autopkgtest for 1.0-1 on 22.04 by slyon · Pull Request #446 · canonical/netplan · GitHub
- tools/keyfile_to_yaml: display the generated YAML by @daniloegea in tools/keyfile_to_yaml: display the generated YAML by daniloegea · Pull Request #452 · canonical/netplan · GitHub
- tests: import the config fuzzing tests by @daniloegea in tests: import the config fuzzing tests by daniloegea · Pull Request #453 · canonical/netplan · GitHub
- ATTN: parse/bonds: handle same primary in multiple bonds by @daniloegea in ATTN: parse/bonds: handle same primary in multiple bonds by daniloegea · Pull Request #451 · canonical/netplan · GitHub
- sriov: accept setting the eswitch mode without VFs (LP#2020409) by @daniloegea in sriov: accept setting the eswitch mode without VFs (LP: #2020409) by daniloegea · Pull Request #454 · canonical/netplan · GitHub
- Custom systemd-networkd-wait-online override to wait on interfaces. (Closes: #1008995) (LP#2060311) by @slyon in Create custom systemd-networkd-wait-online.service override to wait on individual interfaces. (LP: #2060311) by slyon · Pull Request #456 · canonical/netplan · GitHub
- Ignore bad NetDefs and files via parser flags by @daniloegea in Ignore bad NetDefs and files via parser flags by daniloegea · Pull Request #412 · canonical/netplan · GitHub
- networkd:apply: Drop handling of legacy wpa@ instance units by @slyon in networkd:apply: Drop handling of legacy wpa@ instance units by slyon · Pull Request #471 · canonical/netplan · GitHub
- migrate: support aliases by @Kristof0127 in migrate: support aliases by Kristof0127 · Pull Request #473 · canonical/netplan · GitHub
- networkd: add ipv6 ra overrides (LP#1973222) by @KhooHaoYit in feat(networkd): add ipv6 ra overrides (LP: #1973222) by KhooHaoYit · Pull Request #461 · canonical/netplan · GitHub
- netplan status --diff fixes and improvements by @daniloegea in netplan status --diff fixes and improvements by daniloegea · Pull Request #466 · canonical/netplan · GitHub
- apply: make sure that networkd is restarted when needed by @alfonsosanchezbeato in apply: make sure that networkd is restarted when needed by alfonsosanchezbeato · Pull Request #449 · canonical/netplan · GitHub
- Don’t escape certain non-ascii characters by @daniloegea in Don't escape certain non-ascii characters by daniloegea · Pull Request #486 · canonical/netplan · GitHub
- networkd: make s-n-wait-online wait for at least one routable interface by @slyon in networkd: make s-n-wait-online wait for at least one routable interface by slyon · Pull Request #482 · canonical/netplan · GitHub
- networkd: Implement ipv6-address-generation: stable-privacy by @tatokis in networkd: Implement ipv6-address-generation: stable-privacy by tatokis · Pull Request #480 · canonical/netplan · GitHub
- Implementing advmss ip route option by @barvius in Implementing advmss ip route option by barvius · Pull Request #489 · canonical/netplan · GitHub
- meson: Add ‘testing’ option by @slyon in meson: Add 'testing' option by slyon · Pull Request #493 · canonical/netplan · GitHub
- Add a scheduled workflow to run TICS by @daniloegea in Add a scheduled workflow to run TICS by daniloegea · Pull Request #498 · canonical/netplan · GitHub
- ci: migrate to Ubuntu 24.04 by @daniloegea in ci: migrate to Ubuntu 24.04 by daniloegea · Pull Request #465 · canonical/netplan · GitHub
- Prepare Netplan v1.1 by @slyon in Prepare Netplan v1.1 by slyon · Pull Request #504 · canonical/netplan · GitHub
Documentation
- Fix wrong syntax in example by @fzakfeld in Fix wrong syntax in example by fzakfeld · Pull Request #459 · canonical/netplan · GitHub
- Tutorial improvements by @rkratky in Tutorial improvements by rkratky · Pull Request #458 · canonical/netplan · GitHub
- added guide for contributing to the netplan documentation by @ade555 in added guide for contributing to the netplan documentation by ade555 · Pull Request #457 · canonical/netplan · GitHub
- Add initial SECURITY.md policy by @slyon in Add initial SECURITY.md policy by slyon · Pull Request #478 · canonical/netplan · GitHub
- Create single-nic-vm-host.md by @ilvipero in Create single-nic-vm-host.md by ilvipero · Pull Request #475 · canonical/netplan · GitHub
- Create single-nic-vm-host-with-vlans.md by @ilvipero in Create single-nic-vm-host-with-vlans.md by ilvipero · Pull Request #476 · canonical/netplan · GitHub
- Create multi-nic-vm-host-with-bonds-and-vlans.md by @ilvipero in Create multi-nic-vm-host-with-bonds-and-vlans.md by ilvipero · Pull Request #477 · canonical/netplan · GitHub
- bullet point removal by @shirleyherox in bullet point removal by shirleyherox · Pull Request #483 · canonical/netplan · GitHub
- Add netplan try to netplan tutorial by @davidekete in Add netplan try to netplan tutorial by davidekete · Pull Request #494 · canonical/netplan · GitHub
- Update the docs checks runner to ubuntu-latest by @rkratky in Update the docs checks runner to ubuntu-latest by rkratky · Pull Request #500 · canonical/netplan · GitHub
- Add spelling exceptions by @rkratky in Add spelling exceptions by rkratky · Pull Request #499 · canonical/netplan · GitHub
Bug fixes
- Fix logging setup when python-rich is not present by @frhuelsz in Fix logging setup when python-rich is not present by frhuelsz · Pull Request #445 · canonical/netplan · GitHub
- parse-nm: add a workaround for the DoT DNS option (LP#2055148) by @daniloegea in parse-nm: add a workaround for the DoT DNS option (LP: #2055148) by daniloegea · Pull Request #447 · canonical/netplan · GitHub
- parse: don’t remove datalist items during iteration by @daniloegea in parse: don't remove datalist items during iteration by daniloegea · Pull Request #450 · canonical/netplan · GitHub
- parse: fix redefinition of gateway(4|6) by @daniloegea in parse: fix redefinition of gateway(4|6) by daniloegea · Pull Request #460 · canonical/netplan · GitHub
- python: elements of all must be strings by @daniloegea in python: elements of __all__ must be strings by daniloegea · Pull Request #464 · canonical/netplan · GitHub
- CI: Fix DebCI check, using newer ‘meson’ from unstable by @slyon in CI: Fix DebCI check, using newer 'meson' from unstable by slyon · Pull Request #467 · canonical/netplan · GitHub
- tests: fix diff test with iproute2 6.8 by @daniloegea in tests: fix diff test with iproute2 6.8 by daniloegea · Pull Request #469 · canonical/netplan · GitHub
- cli/generate: skip daemon_reload with --mapping by @daniloegea in cli/generate: skip daemon_reload with --mapping by daniloegea · Pull Request #470 · canonical/netplan · GitHub
- CI: fork spread to get backends: LXD: fix SSH login for ubuntu-22.04 by thp-canonical · Pull Request #179 · snapcore/spread · GitHub fixes by @slyon in CI: fork spread to get #179 fixes by slyon · Pull Request #472 · canonical/netplan · GitHub
- ctests: fix a memory leak in a unit test by @daniloegea in ctests: fix a memory leak in a unit test by daniloegea · Pull Request #474 · canonical/netplan · GitHub
- nm/nd: fix a couple of crashes by @daniloegea in nm/nd: fix a couple of crashes by daniloegea · Pull Request #468 · canonical/netplan · GitHub
- test:integration: Try to improve test flakyness (Closes: #1069871) by @slyon in test:integration: Try to improve test flakyness (Closes: #1069871) by slyon · Pull Request #481 · canonical/netplan · GitHub
- Security fixes (CVE-2022-4968) by @daniloegea in https://github.com/canonical/netplan/pull/484
- emitter: allow unicode characters in the emitter (LP#2071652) by @daniloegea in https://github.com/canonical/netplan/pull/485
- CLI:apply: call udevadm trigger, using --action=move (Closes: #1071220) (LP#2066344, LP#2071363) by @slyon in https://github.com/canonical/netplan/pull/479
- CI: fix CodeQL permissions by @slyon in https://github.com/canonical/netplan/pull/491
- ci: run meson tests with unbuffer by @daniloegea in https://github.com/canonical/netplan/pull/501
- ci/tics: install “expect” as a dependency by @daniloegea in https://github.com/canonical/netplan/pull/502
- generate: avoid calling ‘udevadm control --reload’ (LP#1999178) by @slyon in https://github.com/canonical/netplan/pull/488
- netplan ignores NetworkManager ipv4.route-metric (LP#2076172) by @calexandru2018 in netplan ignores NetworkManager ipv4.route-metric (LP: #2076172) by calexandru2018 · Pull Request #495 · canonical/netplan · GitHub
- Change default umask when creating dirctories (LP#2076319) by @rmalz-c in https://github.com/canonical/netplan/pull/497
New Contributors
- @frhuelsz made their first contribution in Fix logging setup when python-rich is not present by frhuelsz · Pull Request #445 · canonical/netplan · GitHub
- @fzakfeld made their first contribution in Fix wrong syntax in example by fzakfeld · Pull Request #459 · canonical/netplan · GitHub
- @Kristof0127 made their first contribution in migrate: support aliases by Kristof0127 · Pull Request #473 · canonical/netplan · GitHub
- @ade555 made their first contribution in added guide for contributing to the netplan documentation by ade555 · Pull Request #457 · canonical/netplan · GitHub
- @KhooHaoYit made their first contribution in feat(networkd): add ipv6 ra overrides (LP: #1973222) by KhooHaoYit · Pull Request #461 · canonical/netplan · GitHub
- @ilvipero made their first contribution in Create single-nic-vm-host.md by ilvipero · Pull Request #475 · canonical/netplan · GitHub
- @shirleyherox made their first contribution in bullet point removal by shirleyherox · Pull Request #483 · canonical/netplan · GitHub
- @tatokis made their first contribution in networkd: Implement ipv6-address-generation: stable-privacy by tatokis · Pull Request #480 · canonical/netplan · GitHub
- @barvius made their first contribution in Implementing advmss ip route option by barvius · Pull Request #489 · canonical/netplan · GitHub
- @davidekete made their first contribution in Add netplan try to netplan tutorial by davidekete · Pull Request #494 · canonical/netplan · GitHub
- @calexandru2018 made their first contribution in netplan ignores NetworkManager ipv4.route-metric (LP: #2076172) by calexandru2018 · Pull Request #495 · canonical/netplan · GitHub
- @rmalz-c made their first contribution in https://github.com/canonical/netplan/pull/497
Full Changelog: https://github.com/canonical/netplan/compare/1.0...1.1
Show all
$ git shortlog 1.0..HEAD
Alexandru Cheltuitor (1):
netplan ignores NetworkManager ipv4.route-metric
Alfonso Sánchez-Beato (2):
apply: restart networkd instead of reload/reconfigure
apply: compare full configuration to decide to restart networkd
Cyril Brulebois (1):
Fix manpage title.
Danilo Egea Gondolfo (39):
parse-nm: add a workaround for the DoT DNS option
parse: don't remove datalist items during iteration
tools/keyfile_to_yaml: display the generated YAML
tests: import the config fuzzing tests
sriov: accept setting the eswitch mode without VFs
cli/sriov: refactoring
cli/sriov: set eswitch regardless of pcidev.vfs
parse: fix redefinition of gateway(4|6)
python: elements of __all__ must be strings
parse: introduce parser flags
parse: implement the IGNORE_ERRORS flag
generate: add support for ignoring errors
python/api: add flags getter/setter to Parser
tests: improve coverage with ignore_errors
docs: add a new section about the generator
tests: fix diff test with iproute2 6.8
cli/generate: skip daemon_reload with --mapping
ctests: fix a memory leak in a unit test
nm/nd: fix a couple of crashes
netplan: add getters for gateway4 and gateway6
state_diff: add gateway(4|6) to the routes list
state: use the 'dynamic' field from addr_info
state: add the 'ra' flag to IPv6 addresses
api: add a getter for accept-ra
state_diff: improve analysis of RA/LL addresses
cli/status: fix plain print with --diff
cli: use AF_INET(6) instead of hardcoded values
state: make use of networkd ConfigSource
libnetplan: use more restrictive file permissions
libnetplan: escape control characters
backends: escape file paths
backends: escape semicolons in service units
emitter: allow unicode characters in the emitter
parse: do not escape all non-ascii bytes
meson: emit the coverage result to XML
ci: add a workflow for TIOBE
ci: run meson tests with unbuffer
ci/tics: install "expect" as a dependency
ci: migrate to Ubuntu 24.04
Danilo Egêa Gondolfo (1):
ATTN: parse/bonds: handle same primary in multiple bonds (#451)
David Ekete (1):
docs: Add 'netplan try' to tutorial (#494)
Francisco Huelsz Prince (1):
Fix logging setup when python-rich is not present
Freerk-Ole Zakfeld (1):
Fix wrong bonds.parameters.mode syntax in example (#459)
Khoo Hao Yit (1):
feat(networkd): add ipv6 ra overrides (LP: #1973222) (#461)
Lukas Märdian (58):
CI: fix DebCI case for no-change rebuilds
CI: adopt autopkgtest for 1.0-1 on 22.04
Update README, move CODE_OF_CONDUCT
doc: fix en_GB spelling
CI: adopt snapd.patch for autopkgtest SRU (LP: #2051939)
CI: Install netplan-ci PPA
tests: use proper 0o600 file permissions in more places
doc:tutorial: fix whitespace formatting
util: fix potential NULL pointer assert
networkd: add wait-online enumeration utils
generate: enable systemd-networkd-wait-online for non-optional interfaces only
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
CI: Fix DebCI check, using newer 'meson' from unstable
Revert "CI: Fix DebCI check, using newer 'meson' from unstable"
test: cleanup after wait_online test to fix DebCI
CI: fork spread to get #179 fixes
networkd:apply: Drop handling of legacy wpa@ instance units
Add initial SECURITY.md policy
test:integration: avoid verbose NM warnings
test:integration: Try to improve test flakyness (Closes: #1069871)
autopkgtest: More fixes for flaky 'ethernets' test (Closes: #1069871)
include:netdef.h: cleanup whitespace
Revert "apply: restart networkd instead of reload/reconfigure"
cli:apply: improve networkd restart logic for non-existent networkd config
Increase some test timeouts to account for slow (riscv64) buildds
wait-online: wait for 'routable' state, if corresponding IPs are defined
wait-online: new tests for routable waiting
wait-online: don't ignore 'routable' intefaces in 'linklocal' waiting stage
wait-online: issue a log message about optional bond-members
tests:generator: refactor test_args.py check_output, using text=True
networkd:wait-online: make logging message more informative
Fix FTBFS on Debian unstable (probably /tmp on tmpfs?)
CLI:apply: call udevadm trigger, using --action=move (Closes: #1071220) (LP: #2066344, LP: #2071363)
parse: downgrade warning about nm-device renderer to 'debug', as it's just informational
doc:examples: Add reference for NM default config
test:routing: skip VRF test if kernel module is not available
test:tunnels: skip WireGuard test if kernel module is not available
CI: autopkgtest: add test dependency for python3-packaging
test:routing: Skip advmss test on NetworkManager < 1.39.8
CI: fix CodeQL permissions
generate: avoid calling 'udevadm control --reload' (LP: #1999178)
rpm: require udev for tests
meson: Add 'testing' option
CI: Update DebCI to ubuntu-22.04 runners
networkd: avoid memory-leak in wait_online
CI: use autopkgtest 5.37
CI: update snapd.patch
spread: upgrade to 24.04
doc: Annotate new 1.1 settings
abi-compat: re-generate 1.1 ABI on Noble
meson: Bump version to v1.1
Mauro Gaspari (3):
doc: Create single-nic-vm-host.md (#475)
doc: Create single-nic-vm-host-with-vlans.md (#476)
doc: Create multi-nic-vm-host-with-bonds-and-vlans.md (#477)
Oleg (1):
Implementation ip route advmss options for Systemd networkd and Network manager. Param name for systemd networkd: TCPAdvertisedMaximumSegmentSize Param name for network manager: advmss
Oláh Kristóf (1):
migrate: support aliases
Robert Krátký (5):
Adding missing 'watchfiles' dependency for Sphinx.
Minor fixes in lang. and mark-up in YAML reference.
Tutorial reorg & lang. + formatting improvements.
Update the docs checks runner to ubuntu-latest.
doc: Add spelling exceptions (#499)
Robert Malz (1):
Change default umask when creating dirctories
SuperheroJT (1):
added guide for contributing to the netplan documentation (#457)
Tasos Sahanidis (1):
networkd: Implement ipv6-address-generation: stable-privacy
shirleyherox (1):
doc: Fix netplan-generate.md formatting (#483)