Comment 8 for bug 1524452

Revision history for this message
Ryan Harper (raharper) wrote :

It's definitely not the fix we want. Here's what's happening (after discussing with smoser).
Each of the physical devices are brough up via ifup, and all semephor on /run/networking/ looking for ifup.eth0, ifup.eth1 and ifup.eth1:1.

The first two files are written when /etc/init/network-interface.conf job is run, called via udev device add (and spawned via the upstart-udev-bridge).

The alias interface won't come up until /etc/init/networking.conf job is run, which is blocked until local-filesystem is emitted. That signal isn't emitted until the semephore (/etc/network/if-up.d/upstart, which writes and emits the signal) is released. The semephor won't be released until all interfaces are up (eth1:1 is the only one not up yet) but of course it *wont* be up until ifup -a is called inside networking.conf.

This is the blocker/race.

I'd like to play with some way of allowing /etc/init/networking.conf to run after local-filesystem, but not have the static-network-up signal be emitted until ifup -a has completed.

I'll go take a look at bridge-utils and vlan.