<div dir="ltr">Hi all,<div><br></div><div style>I think I understand why I'm confused before while chasing another bug. This is what I'm seeing right now. </div><div style><br></div><div style>* I patched lxc_monitord.c with following</div>

<div style><br></div><div style> diff --git a/src/lxc/lxc_monitord.c b/src/lxc/lxc_monitord.c</div><div>index e76af71..59f1e9d 100644</div><div>--- a/src/lxc/lxc_monitord.c</div><div>+++ b/src/lxc/lxc_monitord.c</div><div>

@@ -373,6 +373,7 @@ int main(int argc, char *argv[])</div><div>        }</div><div> </div><div>        if (lxc_monitord_create(&mon)) {</div><div>+               NOTICE("create failed");</div><div>                goto out;</div>

<div>        }</div><div> </div><div>@@ -398,6 +399,7 @@ int main(int argc, char *argv[])</div><div>                        NOTICE("no clients for 30 seconds, exiting");</div><div>                        break;</div>

<div>                }</div><div>+               NOTICE("clients %d", mon.clientfds_cnt);</div><div>        }</div><div> </div><div>        lxc_mainloop_close(&mon.descr);</div><div><br></div><div style>* I started 10 containers using go bindings </div>

<div style><br></div><div style><div>[caglar@qgq:~/Project/lxc/examples] sudo ./concurrent_start </div><div>Starting the container (3)...</div><div>Starting the container (2)...</div><div>Starting the container (4)...</div>

<div>Starting the container (0)...</div><div>Starting the container (1)...<br></div><div>Starting the container (8)...</div><div>Starting the container (7)...</div><div>Starting the container (6)...</div><div>Starting the container (5)...</div>

<div>Starting the container (9)...</div><div><br></div></div><div style>* Then started to stop them 1 by 1 using lxc-stop</div><div style><br></div><div style><div>[caglar@qgq:~/Project/lxc/examples] sudo lxc-stop -n 0</div>

<div>[caglar@qgq:~/Project/lxc/examples] sudo ./list <br></div><div>0 (STOPPED)</div><div>1 (RUNNING)</div><div>2 (RUNNING)</div><div>3 (RUNNING)</div><div>4 (RUNNING)</div><div>5 (RUNNING)</div><div>6 (RUNNING)</div><div>

7 (RUNNING)</div><div>8 (RUNNING)</div><div>9 (RUNNING)</div><div><br></div></div><div style><div>[caglar@qgq:~/Project/lxc/examples] date && sudo ./list</div><div>Fri May  3 23:57:14 EDT 2013</div><div>0 (STOPPED)</div>

<div>1 (STOPPED)</div><div>2 (STOPPED)</div><div>3 (STOPPED)</div><div>4 (STOPPED)</div><div>5 (STOPPED)</div><div>6 (STOPPED)</div><div>7 (STOPPED)</div><div>8 (STOPPED)</div><div>9 (RUNNING)</div><div>bleach (STOPPED)</div>

<div><br></div><div style>* lxc-monitord is still around after ~10min</div><div style><br></div><div><div>[caglar@qgq:~/Project/lxc/examples] ps aux | grep /usr/bin/lxc-monitord</div><div>caglar    1170  0.0  0.0  13580   940 pts/3    S+   23:57   0:00 grep --color=auto /usr/bin/lxc-monitord</div>

<div>root     29997  0.0  0.0  15000   744 ?        Ss   23:47   0:00 /usr/bin/lxc-monitord /var/lib/lxc 5</div><div>[caglar@qgq:~/Project/lxc/examples] date</div><div>Fri May  3 23:57:52 EDT 2013</div></div><div><br></div>

<div style>* And lastly here is what lxc-monitord.log shows </div><div style><br></div></div><div style><div>[caglar@qgq:~/Project/lxc(clone)] tail -f /var/lib/lxc/lxc-monitord.log</div><div>   lxc-monitord 1367639242.631 NOTICE   lxc_monitord - monitoring lxcpath /var/lib/lxc</div>

<div>   lxc-monitord 1367639242.633 NOTICE   lxc_monitord - create failed</div><div>   lxc-monitord 1367639242.633 NOTICE   lxc_monitord - create failed</div><div>   lxc-monitord 1367639242.636 NOTICE   lxc_monitord - create failed</div>

<div>   lxc-monitord 1367639242.639 NOTICE   lxc_monitord - create failed</div><div>   lxc-monitord 1367639242.643 NOTICE   lxc_monitord - create failed</div><div>   lxc-monitord 1367639242.643 NOTICE   lxc_monitord - create failed</div>

<div>   lxc-monitord 1367639242.651 NOTICE   lxc_monitord - create failed</div><div>   lxc-monitord 1367639242.654 NOTICE   lxc_monitord - create failed</div><div>   lxc-monitord 1367639242.665 NOTICE   lxc_monitord - create failed</div>

<div>   lxc-monitord 1367639242.678 NOTICE   lxc_monitord - create failed</div><div>   lxc-monitord 1367639242.681 NOTICE   lxc_monitord - create failed</div><div>   lxc-monitord 1367639242.681 NOTICE   lxc_monitord - create failed</div>

<div>   lxc-monitord 1367639242.682 NOTICE   lxc_monitord - create failed</div><div>   lxc-monitord 1367639242.707 NOTICE   lxc_monitord - create failed</div><div>   lxc-monitord 1367639242.710 NOTICE   lxc_monitord - create failed</div>

<div>   lxc-monitord 1367639242.710 NOTICE   lxc_monitord - create failed</div><div>   lxc-monitord 1367639242.722 NOTICE   lxc_monitord - create failed</div><div>   lxc-monitord 1367639242.733 NOTICE   lxc_monitord - create failed</div>

<div>   lxc-monitord 1367639242.831 NOTICE   lxc_monitord - create failed</div><div>   lxc-monitord 1367639274.071 NOTICE   lxc_monitord - clients 9</div><div>   lxc-monitord 1367639323.928 NOTICE   lxc_monitord - clients 9</div>

<div>   lxc-monitord 1367639372.862 NOTICE   lxc_monitord - clients 9</div><div>   lxc-monitord 1367639444.107 NOTICE   lxc_monitord - clients 9</div><div>   lxc-monitord 1367639474.130 NOTICE   lxc_monitord - clients 9</div>

<div>   lxc-monitord 1367639504.133 NOTICE   lxc_monitord - clients 9</div><div>   lxc-monitord 1367639534.161 NOTICE   lxc_monitord - clients 9</div><div>   lxc-monitord 1367639564.190 NOTICE   lxc_monitord - clients 9</div>

<div>   lxc-monitord 1367639594.209 NOTICE   lxc_monitord - clients 9</div><div>   lxc-monitord 1367639624.223 NOTICE   lxc_monitord - clients 9</div><div>   lxc-monitord 1367639654.256 NOTICE   lxc_monitord - clients 9</div>

<div>   lxc-monitord 1367639684.287 NOTICE   lxc_monitord - clients 9</div><div><div>   lxc-monitord 1367639714.317 NOTICE   lxc_monitord - clients 9<br></div><div>   lxc-monitord 1367639744.347 NOTICE   lxc_monitord - clients 9</div>

<div>   lxc-monitord 1367639774.370 NOTICE   lxc_monitord - clients 9</div><div>   lxc-monitord 1367639804.396 NOTICE   lxc_monitord - clients 9</div><div>   lxc-monitord 1367639834.426 NOTICE   lxc_monitord - clients 9</div>

<div>   lxc-monitord 1367639864.456 NOTICE   lxc_monitord - clients 9</div><div>   lxc-monitord 1367639894.486 NOTICE   lxc_monitord - clients 9</div></div><div><br></div></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">

On Fri, Apr 26, 2013 at 4:52 PM, S.Çağlar Onur <span dir="ltr"><<a href="mailto:caglar@10ur.org" target="_blank">caglar@10ur.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div dir="ltr">Yeah, I think you all correct and I'm just confused - probably direct effect of lack of caffeine. And no, it's not complicating something for me, it's working great. I just want to make sure that I'm wrong :)</div>


<div class="gmail_extra"><div><div class="h5"><br><br><div class="gmail_quote">On Fri, Apr 26, 2013 at 4:37 PM, Dwight Engen <span dir="ltr"><<a href="mailto:dwight.engen@oracle.com" target="_blank">dwight.engen@oracle.com</a>></span> wrote:<br>


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