[lxc-devel] lxc_monitord - monitor exiting
Dwight Engen
dwight.engen at oracle.com
Fri Apr 26 20:37:30 UTC 2013
On Fri, 26 Apr 2013 22:07:22 +0200
Stéphane Graber <stgraber at ubuntu.com> wrote:
> On 04/26/2013 09:42 PM, S.Çağlar Onur wrote:
> > Hey Dwight,
> >
> > I'm observing following behavior with staging tree and just wanted
> > to make sure that what I'm seeing is the expected;
> >
> > * Initially nothing runs
> >
> > [caglar at qgq:~/Projects/lxc/examples] sudo ./list
> > bankai (STOPPED)
> > bleach (STOPPED)
> > zangetsu (STOPPED)
> >
> > * I start one container using the API
> >
> > [caglar at qgq:~/Projects/lxc/examples] sudo ./start -name zangetsu
> > Starting the container...
> >
> > [caglar at qgq:~/Projects/lxc/examples] sudo ./list
> > bankai (STOPPED)
> > bleach (STOPPED)
> > zangetsu (RUNNING)
> >
> > * monitord starts as expected but exits after 30 seconds later
> > (although container is still running);
> >
> > [caglar at qgq:~/Projects/lxc-upstream(staging)] tail -f
> > /var/lib/lxc/lxc-monitord.log
> > lxc-monitord 1367004858.616 NOTICE lxc_monitord - monitoring
> > lxcpath /var/lib/lxc
> > lxc-monitord 1367004888.677 NOTICE lxc_monitord - no clients
> > for 30 seconds, exiting
> > lxc-monitord 1367004888.677 NOTICE lxc_monitord - monitor
> > exiting
> >
> > [caglar at qgq:~/Projects/lxc/examples] sudo ./list
> > bankai (STOPPED)
> > bleach (STOPPED)
> > zangetsu (RUNNING)
> >
> > [caglar at qgq:~/Projects/lxc/examples] ps aux | grep monitord
> > caglar 28404 0.0 0.0 7240 624 pts/54 S+ 15:34 0:00
> > tail -f /var/lib/lxc/lxc-monitord.log
> > caglar 29037 0.0 0.0 9436 948 pts/0 S+ 15:38 0:00
> > grep --color=auto monitord
> > [caglar at qgq:~/Projects/lxc/examples]
> >
> > I'm asking cause I was under the impression that lxc-monitord will
> > keep running as long as there is a container. Am I wrong?
>
> I believe the monitor will get spawned the first time something needs
> it (lxc-monitor/lxc-wait) and exit 30s after the last client
> disconnects. It'll then be respawned the next time lxc-monitor or
> lxc-wait is started again that container.
Yep Stéphane, that is correct. Also note that the monitord is per
lxcpath, not per container.
Çağlar, you may have been slightly confused because if you start a
container in daemon mode through the API, the API does an internal
lxc_wait() and thus a monitord will get spawned when you first start a
container, but will go away ~30 seconds afterwards.
More information about the lxc-devel
mailing list