If this is actually a d-i/netcfg bug, then one approach would be to
remove net-hotplug.sh (or its udev rule) from hw-detect. This script
detects net device additions, and registers the devices as hotpluggable.
With udev I think that all network devices come in this way, be they pci
cards or usb nics. Perhaps it would be possible to modify the udev rule
to exclude pci cards somehow, I don't know. (Then too, some systems do
have hotpluggable pci cards.)

It's not particularly clear to me that this is a d-i bug though. If
ifupdown/udev doesn't behave correctly/reliably for allow-hotplug
interfaces that are cold-plugged at system boot, shouldn't it be fixed?
We certianly have users with those sorts of interfaces, after all.

I was able to reproduce the behabior described in this bug where the
interface doesn't come up at all, and identify at least two separate
scenarios where udev fails to bring it up. I've filed two bugs on udev
for those scenarios; one invoves a long root fsck and a timeout, while
the other can be reproduced by simply hard power cycling a box that has
the allow-hotplug setting. I feel that this latter bug is indeed release
critical, and is probably the one that the contributors to this bug
report ran into.

That leaves the other note from this bug, that:
> Thus my builtin network card on my server is now "hotplugable" which
> means that is is initiallised asyncronosly at bootup.

That's true, and normally it will be initialised shortly after
/etc/init.d/networking brings up the lo interface, but it could take
arbitrarily long.

I can see that causing some potential problems for certian services that
expect the network to be up after /etc/init.d/networking, but it's not
clear to me that those problems are acutally release critical. I've
downgraded this bug for now, but it could be upgraded if there are
actual concrete examples of this asynchronycity causing problems.

[Hmm, one approach would be to make net.agent, when it calls ifup,
register that interface in some file somewhere. Then when
/etc/init.d/networking starts up, it could read that file and get a list
of interfaces that were (mostly?) cold-plugged, and it could wait until
all those interfaces finish coming up before returning.]

-- 
see shy jo

Attachment: signature.asc
Description: Digital signature

Reply via email to