Seems to me that the appropriate time to start dhcpd is when all of the
devices it is configured on are up.

The issue here is that /etc/rc2.d/S* are run after this condition is
met:


start on filesystem and net-device-up IFACE=lo


Because ifup -a is run in parallel with mountall essentially this is a race 
between ifup -a bringing up its interfaces and all filesystems mounting. It 
probably works fine w/ a regular ethernet interface, but like the reporter 
says, this takes a bit longer for a bridge.

We probably do need to move dhcp server to upstart, *or* rethink the
start on for rc-sysinit. In fact, since lo is always configured when
ifup -a is run, and 'started networking' is emitted after ifup -a exits
with success, it would make sense to change rc-sysinit to this:

start on filesystem and started networking

This would probably solve a lot of issues with server network services
that need all interfaces to be up and configured. On the desktop, this
could slow the boot by the time between emitting 'net-device-up' for lo
and ifup -a exitting.. which I would suspect is in the ballpark of "a
few milliseconds" at the most. However there are plenty of other things
happening in parallel at this point so its not a total loss.

This is a somewhat radical change, and probably not going to be SRU-
able. For the stable releases, it may be better for users to modify
/etc/init/rc-sysinit.conf themselves to enact this behavior now.

** Also affects: upstart (Ubuntu)
   Importance: Undecided
       Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Server Team, which is subscribed to dhcp3 in ubuntu.
https://bugs.launchpad.net/bugs/580319

Title:
  dhcp3-server launches before upstart brings all interface, thus
  failing to start

-- 
Ubuntu-server-bugs mailing list
Ubuntu-server-bugs@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-server-bugs

Reply via email to