[Bug 1669564] Re: udevadm trigger subsystem-match=net doesn't always run rules because of reconfiguration rate-limiting
Launchpad Bug Tracker
1669564 at bugs.launchpad.net
Wed Jan 10 02:34:58 UTC 2018
This bug was fixed in the package nplan - 0.32~16.04.3
---------------
nplan (0.32~16.04.3) xenial; urgency=medium
* tests/integration.py: Really fix skipping test_routes_v6 for the NM
backend.
nplan (0.32~16.04.2) xenial; urgency=medium
* tests/integration.py: Fix test_routes_v6 that I clobbered when I re-applied
the skip rules for 16.04 after merging in 0.32.
nplan (0.32~16.04.1) xenial; urgency=medium
* Backport netplan 0.32 to 16.04. (LP: #1713142)
* debian/control: Depend on systemd (>= 229-4ubuntu20) for the PrimarySlave
feature backported in that revision.
* tests/integration.py: Skip tests that are still not yet supported in xenial
nplan (0.32) bionic; urgency=medium
* src/nm.c: better handle the UUID generation; the order of iterating
through interaces may affect things here. Also make sure the tests catch
a null UUID.
nplan (0.31) bionic; urgency=medium
[ Mathieu Trudel-Lapierre ]
* src/nm.c: generate a UUID for a connection only as needed; when we're
dealing with NM VLANs. (LP: #1712921)
* debian/tests/autostart: Make the autostart test more verbose and avoid
failing right from the start when systemd-networkd is disabled.
(LP: #1699371)
* tests/integration.py: bump the NetworkManager timeout for settling to
120 seconds, autopkgtest infrastructure tends to be a little slow for the
network device configuration to be applied and noticed by NM.
(LP: #1699371)
[ Dimitri John Ledkov ]
* Reload udevd to invalidate configuration cache of .rules/.link files
as generate step may have changed them. LP: #1669564
[ Dan Streetman ]
* Add another interface driver exception to netplan replug to prevent unbind
of the Xen VIF interfaces. (LP: #1729573)
nplan (0.30) artful; urgency=medium
* Add an "optional" syntax node for now to all devices. This is unimplemented
for now, but intended to allow users to mark some devices as optional: to
make sure they do not delay boot when configured. (LP: #1664844)
nplan (0.29) artful; urgency=medium
* Fix autopkgtests in a world where /run/NetworkManager/conf.d already
exists. nplan is enabled by default, so it might well have the directory
already created on the filesystem.
nplan (0.28) artful; urgency=medium
* Revert 56cd3eec which disabled IPv6 Router Advertisements by default. It
broke default network config in LXD and was contrary to the defaults used
by the kernel. Reopens LP: 1655440. (LP: #1717404)
* Add "accept-ra:" key for all device types; this will default to OFF but
allow users to disable processing Router Advertisements when required by
their network setup. (LP: #1655440)
nplan (0.27) artful; urgency=medium
[ Mathieu Trudel-Lapierre ]
* Fix crash in systemd generator if called by an user on the command-line
* coverage: fix exclusions to properly not cover our "never reached defaults"
[ Dimitri John Ledkov ]
* tests/integration.py: In teardown, stop systemd-networkd.socket.
* src/networkd.c: Set UseMTU=true by default, whenever DHCP is in use.
(LP: #1717471)
* tests/integration.py: fix resolved detection.
nplan (0.26) artful; urgency=medium
* Bonding:
- Add support for specifying a primary slave. (LP: #1709135)
* Rebind:
- Fix brcmfmac harder. Treat any 'brcmfmac' driver as not supporting
rebind. (LP: #1712224)
* Autopkgtests:
- Add allow-stderr. Systemd now bleats about a the networkd socket still
being around and enabled when we restart the service; but we don't need
to care since we're /restarting/ the service to load the new config.
- Fix the autostart package to be more sensible: we don't really care if
networkd autostarts or not, but we need to make sure that our generator
will run at boot, so instead check the state, but only assert it once
we've added a config file and before checking the state of our dummy
device.
- Do a bit more to make sure "mix" tests which stack virtual devices are
as reliable as possible; by setting saner defaults.
nplan (0.25) artful; urgency=medium
* tests/generate.py: add a test to validate that correct blacklist entries
are added when creating virtual devices.
* tests/integration.py: clean up after br0 in networkd's test_bridge_mac; as
the remaining interface and udev configuration can confuse NetworkManager
now that it seems to manage random devices it did not create again.
(LP: #1699371)
* src/nm.c: set the MTU even though we also specify it in systemd-networkd
for consumption by udev. NetworkManager will try to set it and might
otherwise default to the wrong value.
* src/networkd.c: Set IPv6AcceptRA=no anytime we don't do DHCPv6 (or by the
same config, SLAAC), and don't have static addresses set. This should fix
the cases where unconfigured devices still get an IPv6 address.
(LP: #1655440)
* src/nm.c: Explicitly set IPv6 method=ignore when IPv6 is otherwise not
configured; this follows the same logic as setting IPv6AcceptRA=no in
networkd, with the exception that NM does not currently disable RAs. When
it does, an unconfigured device for IPv6 will truly be left with no config.
nplan (0.24) artful; urgency=medium
* debian/control: set Priority to important to make sure we can get into
minimal.
-- Mathieu Trudel-Lapierre <cyphermox at ubuntu.com> Mon, 04 Dec 2017
10:57:34 -0500
** Changed in: nplan (Ubuntu Xenial)
Status: Fix Committed => Fix Released
** Changed in: nplan (Ubuntu Zesty)
Status: Fix Committed => Fix Released
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to nplan in Ubuntu.
https://bugs.launchpad.net/bugs/1669564
Title:
udevadm trigger subsystem-match=net doesn't always run rules because
of reconfiguration rate-limiting
Status in nplan package in Ubuntu:
Fix Released
Status in nplan source package in Xenial:
Fix Released
Status in nplan source package in Zesty:
Fix Released
Status in nplan source package in Artful:
Fix Released
Status in nplan source package in Bionic:
Fix Released
Bug description:
[Impact]
Proper udev trigger behavior following a 'netplan apply' is essential to having all the configuration applied for an interface.
[Test case]
1- Write a netplan configuration file that sets MTU for a device, or renames a device.
2- Run 'netplan apply'
Validate that all the changes were correctly applied: netplan apply will run 'udevadm trigger' for the user, and udev should apply all low-level link changes (MTU and renames).
Make sure to watch out for device renames on devices that are blacklisted for replugging such as mwifiex, XEN VIF, etc.
[Regression potential]
Verification should watch out for a MTU being set, but set to the wrong value, or MTUs being applied to all interfaces rather than just the interface for which it was set. Users should also watch out for the network device to be renamed correctly, and then seen as the correct name and state in both networkd and the ip command.
---
1. root at ubuntu:~# lsb_release -rd
Description: Ubuntu Zesty Zapus (development branch)
Release: 17.04
2. root at ubuntu:~# apt-cache policy udev
udev:
Installed: 232-18ubuntu1
Candidate: 232-18ubuntu1
Version table:
*** 232-18ubuntu1 500
500 http://archive.ubuntu.com/ubuntu zesty/main amd64 Packages
100 /var/lib/dpkg/status
3. udevadm trigger --verbose --subsystem-match=net --action=add will run and read .link files from /run/systemd/network/10-netplan-interface1.link
and apply MTU settings
4. during system boot running (3) does not set the MTU; running (3)
after boot has completed MTU is set correctly.
Here'a log during boot where cloud-init generates a netplan config,
invokes `netplan generate` which writes the networkd config out
and then udevadm trigger (3). Upon logging in interface1 has an MTU of 1500. Re-running udevadm trigger now runs the rules/link files and updates the MTU.
Note that, if you run udevadm test /sys/class/net/interface1; this also will
apply the MTU (test probably shouldn't change the interface, I'll file a
bug for that as well).
# journalctl -o short-precise --no-pager -b | grep WARK
Mar 02 19:17:19.839797 ubuntu cloud-init[647]: WARK: ['netplan', '--debug', 'generate']:
Mar 02 19:17:19.839797 ubuntu cloud-init[647]: WARK: ['stat', '/run/systemd/network/10-netplan-interface1.link']:
Mar 02 19:17:19.839797 ubuntu cloud-init[647]: WARK: ['cat', '/run/systemd/network/10-netplan-interface1.link']:
Mar 02 19:17:19.839797 ubuntu cloud-init[647]: WARK: ['systemctl', 'start', '--no-block', 'systemd-udev-trigger.service']:
Mar 02 19:17:19.839797 ubuntu cloud-init[647]: WARK: ['udevadm', 'trigger', '--verbose', '--subsystem-match=net', '--action=add']:
root at ubuntu:~# cat /run/systemd/network/10-netplan-interface1.link
[Match]
MACAddress=52:54:00:12:34:02
[Link]
Name=interface1
WakeOnLan=off
MTUBytes=1492
root at ubuntu:~# ifconfig interface1
interface1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.0.2.100 netmask 255.255.255.0 broadcast 10.0.2.255
inet6 fe80::5054:ff:fe12:3402 prefixlen 64 scopeid 0x20<link>
inet6 fec0::5054:ff:fe12:3402 prefixlen 64 scopeid 0x40<site>
ether 52:54:00:12:34:02 txqueuelen 1000 (Ethernet)
RX packets 16 bytes 5053 (5.0 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 35 bytes 3287 (3.2 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
root at ubuntu:~# udevadm trigger --verbose --subsystem-match=net --action=add
/sys/devices/pci0000:00/0000:00:04.0/virtio1/net/interface1
/sys/devices/pci0000:00/0000:00:05.0/virtio2/net/interface2
ys/devices/pci0000:00/0000:00:06.0/virtio3/net/interface0
/sys/devices/virtual/net/lo
root at ubuntu:~# ifconfig interface1
interface1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1492
inet 10.0.2.100 netmask 255.255.255.0 broadcast 10.0.2.255
inet6 fe80::5054:ff:fe12:3402 prefixlen 64 scopeid 0x20<link>
inet6 fec0::5054:ff:fe12:3402 prefixlen 64 scopeid 0x40<site>
ether 52:54:00:12:34:02 txqueuelen 1000 (Ethernet)
RX packets 16 bytes 5053 (5.0 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 37 bytes 3504 (3.5 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ProblemType: Bug
DistroRelease: Ubuntu 17.04
Package: udev 232-18ubuntu1
ProcVersionSignature: Ubuntu 4.10.0-8.10-generic 4.10.0-rc8
Uname: Linux 4.10.0-8-generic x86_64
ApportVersion: 2.20.4-0ubuntu2
Architecture: amd64
Date: Thu Mar 2 19:22:14 2017
Lsusb: Error: command ['lsusb'] failed with exit code 1:
MachineType: QEMU Standard PC (i440FX + PIIX, 1996)
ProcEnviron:
TERM=vt220
PATH=(custom, no user)
XDG_RUNTIME_DIR=<set>
LANG=en_US.UTF-8
SHELL=/bin/bash
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-4.10.0-8-generic root=UUID=8bbb84fe-91e8-4a9a-bd91-f6af4793727e ro console=ttyS0
SourcePackage: systemd
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 04/01/2014
dmi.bios.vendor: SeaBIOS
dmi.bios.version: 1.10.1-1ubuntu1
dmi.chassis.type: 1
dmi.chassis.vendor: QEMU
dmi.chassis.version: pc-i440fx-zesty
dmi.modalias: dmi:bvnSeaBIOS:bvr1.10.1-1ubuntu1:bd04/01/2014:svnQEMU:pnStandardPC(i440FX+PIIX,1996):pvrpc-i440fx-zesty:cvnQEMU:ct1:cvrpc-i440fx-zesty:
dmi.product.name: Standard PC (i440FX + PIIX, 1996)
dmi.product.version: pc-i440fx-zesty
dmi.sys.vendor: QEMU
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/nplan/+bug/1669564/+subscriptions
More information about the foundations-bugs
mailing list