bridge-utils/vlan udev hooks prevent execution of upstart hook, slowing down boot
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
bridge-utils (Ubuntu) |
Fix Released
|
Medium
|
Stéphane Graber | ||
Precise |
Fix Released
|
Low
|
Stéphane Graber | ||
Quantal |
Fix Released
|
Medium
|
Stéphane Graber | ||
vlan (Ubuntu) |
Invalid
|
Medium
|
Stéphane Graber | ||
Quantal |
Invalid
|
Medium
|
Stéphane Graber |
Bug Description
[rationale]
With some specific configuration, the boot hangs for minutes in udev as ifupdown is waiting for an interface to show up.
[test case]
- Use one of the configurations listed in this bug or its duplicate, boot the machine with it and observe it hanging for a couple of minutes.
- Apply the update
- Check that the machine now works much faster and that the interface is properly configured.
[regression potential]
I can't see of a situation where someone would be depending on the broken behaviour which wouldn't in itself be a bug. The change landed fairly early in Ubuntu 12.10 and no regression has been reported so far. Worst case scenario, it's easy to revert.
we're trying to migrate our network configuration from lucid to precise. in 10.04 we tied eth0+eth1 together into bond0, then set br0 up on top of that and assigned an address via dhcp. in 12.04 this only works if br0 is configured with a static ip address. it fails when trying to use dhcp. to simplify testing i've removed eth1 from the configuration (sanity checked against http://
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet manual
bond-master bond0
auto bond0
iface bond0 inet manual
bond-slaves none
bond-mode 802.3ad
bond-miimon 100
auto br0
iface br0 inet dhcp
bridge_ports bond0
bridge_stp off
the above results in a system w/o network connectivity. the dhcp server reports requests from an unexpected mac addr (different each boot). udevd logs "timeout 'bridge-
|-ifup,1361 --allow auto eth0
| `-sh,1363 -c run-parts /etc/network/
| `-run-parts,1364 /etc/network/
| `-ifenslave,1392 /etc/network/
| `-sleep,2380 0.1
| |-udevd,599 --daemon
| | `-bridge-
| | `-ifup,1457 --allow auto br0
| | `-sh,1540 -c dhclient3 -e IF_METRIC=100 -pf /var/run/
| | `-dhclient3,1541 -e IF_METRIC=100 -pf /var/run/
the ifenslave appears to be looping over that `sleep` (testing for /run/network/
a workaround appears to be adding the line:
pre-up /sbin/ifup --allow auto bond0
to the "auto br0" stanza.
ProblemType: Bug
DistroRelease: Ubuntu 12.04
Package: bridge-utils 1.5-2ubuntu6
ProcVersionSign
Uname: Linux 3.2.0-24-generic x86_64
ApportVersion: 2.0.1-0ubuntu7
Architecture: amd64
Date: Wed May 23 13:44:43 2012
ProcEnviron:
TERM=xterm
PATH=(custom, user)
LANG=en_US.UTF-8
SHELL=/usr/bin/zsh
SourcePackage: bridge-utils
UpgradeStatus: No upgrade log present (probably fresh install)
Related branches
Changed in bridge-utils (Ubuntu): | |
importance: | Undecided → High |
Changed in bridge-utils (Ubuntu): | |
status: | Confirmed → Triaged |
Changed in vlan (Ubuntu): | |
status: | New → Triaged |
importance: | Undecided → Medium |
assignee: | nobody → Stéphane Graber (stgraber) |
Changed in bridge-utils (Ubuntu Precise): | |
assignee: | nobody → Stéphane Graber (stgraber) |
Changed in vlan (Ubuntu Precise): | |
assignee: | nobody → Stéphane Graber (stgraber) |
Changed in bridge-utils (Ubuntu Precise): | |
importance: | Undecided → Low |
status: | New → Triaged |
Changed in vlan (Ubuntu Precise): | |
status: | New → Triaged |
importance: | Undecided → Low |
summary: |
- bond entries in /etc/network/interfaces fail without indent (when adding - a bond the bridge fails to acquire a dhcp address) + bridge-utils/vlan udev hooks prevent execution of upstart hook, slowing + down boot |
Changed in vlan (Ubuntu Quantal): | |
status: | Triaged → Invalid |
no longer affects: | vlan (Ubuntu Precise) |
description: | updated |
Can you attach a tarball of /var/log/upstart?