[Lxc-users] ubuntu / lucid container not starting / mountall not sending events
Serge E. Hallyn
serge.hallyn at canonical.com
Wed Jan 12 21:02:38 UTC 2011
Quoting Daniel Lezcano (daniel.lezcano at free.fr):
> On 01/12/2011 06:51 PM, Serge E. Hallyn wrote:
> > Quoting Arie Skliarouk (skliarie at gmail.com):
> >> Hi,
> >>
> >> The script did not run on "start on startup", only on "start on filesystem"
> >> setting. Still, the /etc/init/rc.conf was not processed.
> > I'm seeing this too now in a natty container. If you do
> >
> > cat<< EOF>> /etc/init/lxclo.conf
> > description "fake lo coming up"
> >
> > start on startup
> >
> > task
> >
> > exec /sbin/initctl emit net-device-up IFACE=lo
> > EOF
> >
> > that should kick rc-sysinit to start, or at least did on my
> > natty and maverick tests using the template.
>
> Do you know why that happens ? I mean there is a loopback device for the
> container, so this event should be fired, no ?
> Or is it related to udev ?
No, I just finally found it a little while ago - it comes from a
change in /etc/network/if-up.d/upstart, which now says:
if [ "$IFACE" = lo ]; then
exit 0 # emission handled by /etc/init/network-interface.conf
fi
and didn't use to.
When you get net-device-added, then /etc/init/network-interface.conf
runs, and for lo it manually emits a signal.
But in a container, we never get net-device-up events, so
/etc/init/network-interface.conf doesn't run. Instead our interfaces
come up through /etc/init/networking.conf, which does 'ifup -a'.
I'm playing with upstart scripts to fix this. I'm hoping upstart
will accept a patch letting me pass a "--emit lxc" argument to
init. Then we can have /etc/init/lxc.conf *always*installed*,
which has
start on lxc
So if we run on bare metal, it wont' run, but if it runs in a
container, it does, and it can emit events like
net-device-added IFACE=lo
which otherwise don't happen in a container.
-serge
More information about the lxc-users
mailing list