It turns out the original problem never went away. The container never gets a net-device-up event for lo, even in precise. You can verify this trivially with two upstart jobs, /etc/init/lxc{lo,eth}.conf:
==== lxclo.conf ==== description "detect net-device-up IFACE=lo" start on net-device-up IFACE=lo ==== lxceth.conf === description "detect net-device-up IFACE=eth0" start on net-device-up IFACE=eth0 ====================
Start the container and check 'status lxclo' and 'status lxceth'.
The reason this happens is clear in /etc/network/if-up.d/upstart. The reason this stopped mattering is that rc-sysinit.conf switched from being
start on filesystem and net-device-up IFACE=lo
to being
start on (filesystem and static-network-up) or failsafe-boot
Where static-network-up does not require lo to come up.
It turns out the original problem never went away. The container never gets a net-device-up event for lo, even in precise. You can verify this trivially with two upstart jobs, /etc/init/ lxc{lo, eth}.conf:
==== lxclo.conf ==== ======= ======
description "detect net-device-up IFACE=lo"
start on net-device-up IFACE=lo
==== lxceth.conf ===
description "detect net-device-up IFACE=eth0"
start on net-device-up IFACE=eth0
=======
Start the container and check 'status lxclo' and 'status lxceth'.
The reason this happens is clear in /etc/network/ if-up.d/ upstart. The reason
this stopped mattering is that rc-sysinit.conf switched from being
start on filesystem and net-device-up IFACE=lo
to being
start on (filesystem and static-network-up) or failsafe-boot
Where static-network-up does not require lo to come up.