[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