<div dir="ltr">

<p class="MsoNormal">Thanks a lot for answer.</p>

<p class="MsoNormal">Yes, I’d like to checkpoint a container, migrate it to
another node and restart it. Is that possible with CRIU? (the checkpoint and
the restart I mean )</p>

<p class="MsoNormal">My second question: without CRIU, when I restart
lxc-snapshot on another node, it restarts correctly?</p>

<p class="MsoNormal">Thanks a lot.<br></p>

<p class="MsoNormal">Bests.</p>

</div><div class="gmail_extra"><br><br><div class="gmail_quote">2014-04-02 13:00 GMT+01:00  <span dir="ltr"><<a href="mailto:lxc-users-request@lists.linuxcontainers.org" target="_blank">lxc-users-request@lists.linuxcontainers.org</a>></span>:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Send lxc-users mailing list submissions to<br>
        <a href="mailto:lxc-users@lists.linuxcontainers.org">lxc-users@lists.linuxcontainers.org</a><br>
<br>
To subscribe or unsubscribe via the World Wide Web, visit<br>
        <a href="http://lists.linuxcontainers.org/listinfo/lxc-users" target="_blank">http://lists.linuxcontainers.org/listinfo/lxc-users</a><br>
or, via email, send a message with subject or body 'help' to<br>
        <a href="mailto:lxc-users-request@lists.linuxcontainers.org">lxc-users-request@lists.linuxcontainers.org</a><br>
<br>
You can reach the person managing the list at<br>
        <a href="mailto:lxc-users-owner@lists.linuxcontainers.org">lxc-users-owner@lists.linuxcontainers.org</a><br>
<br>
When replying, please edit your Subject line so it is more specific<br>
than "Re: Contents of lxc-users digest..."<br>
<br>Today's Topics:<br>
<br>
   1. Snapshot of a LXC container (Thouraya TH)<br>
   2. Re: Snapshot of a LXC container (Rami Rosen)<br>
   3. Re: lxc_monitor exiting, but not cleaning monitor-fifo?<br>
      (Serge Hallyn)<br>
   4. Re: lxc_monitor exiting, but not cleaning monitor-fifo?<br>
      (Florian Klink)<br>
<br><br>---------- Message transféré ----------<br>From: Thouraya TH <<a href="mailto:thouraya87@gmail.com">thouraya87@gmail.com</a>><br>To: <a href="mailto:lxc-users@lists.linuxcontainers.org">lxc-users@lists.linuxcontainers.org</a><br>
Cc: <br>Date: Tue, 1 Apr 2014 16:34:01 +0100<br>Subject: [lxc-users] Snapshot of a LXC container<br><div dir="ltr"><div><div>Hello, <br><br></div><div>Please, i have another question about "Snapshot of a LXC container"<br>
</div><div>What's the difference between a and b:<br></div><div>a) stop container, migrate it to another machine and restart it<br>
</div><div>b) snapshot with a virtual machine on the container , migrate the snapshot, restart<br></div><div>(solution system level)<br><br></div><div><br></div><div><br></div><div><br></div>Thank you so much.<br></div>Bests.<br>

</div>
<br><br>---------- Message transféré ----------<br>From: Rami Rosen <<a href="mailto:roszenrami@gmail.com">roszenrami@gmail.com</a>><br>To: LXC users mailing-list <<a href="mailto:lxc-users@lists.linuxcontainers.org">lxc-users@lists.linuxcontainers.org</a>><br>
Cc: <br>Date: Tue, 1 Apr 2014 19:12:11 +0300<br>Subject: Re: [lxc-users] Snapshot of a LXC container<br><p dir="ltr">Hi,<br>
First I assume that by stopping and starting the container you mean checkpointing and restoring it, by CRIU.</p>
<p dir="ltr">The difference is that by lxc-snapshot you save only the filesystem state of a container, whereas with checkpoint you save the full state of the container process and its children.</p>
<p dir="ltr">Regards,<br>
Rami Rosen<br>
<a href="http://ramirose.wix.com/ramirosen" target="_blank">http://ramirose.wix.com/ramirosen</a><br>
</p>
<div class="gmail_quote">בתאריך 1 באפר 2014 18:34, "Thouraya TH" <<a href="mailto:thouraya87@gmail.com" target="_blank">thouraya87@gmail.com</a>> כתב:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div dir="ltr"><div><div>Hello, <br><br></div><div>Please, i have another question about "Snapshot of a LXC container"<br></div><div>What's the difference between a and b:<br></div><div>a) stop container, migrate it to another machine and restart it<br>


</div><div>b) snapshot with a virtual machine on the container , migrate the snapshot, restart<br></div><div>(solution system level)<br><br></div><div><br></div><div><br></div><div><br></div>Thank you so much.<br></div>Bests.<br>


</div>
<br>_______________________________________________<br>
lxc-users mailing list<br>
<a href="mailto:lxc-users@lists.linuxcontainers.org" target="_blank">lxc-users@lists.linuxcontainers.org</a><br>
<a href="http://lists.linuxcontainers.org/listinfo/lxc-users" target="_blank">http://lists.linuxcontainers.org/listinfo/lxc-users</a><br></blockquote></div>
<br><br>---------- Message transféré ----------<br>From: Serge Hallyn <<a href="mailto:serge.hallyn@ubuntu.com">serge.hallyn@ubuntu.com</a>><br>To: LXC users mailing-list <<a href="mailto:lxc-users@lists.linuxcontainers.org">lxc-users@lists.linuxcontainers.org</a>><br>
Cc: <a href="mailto:flokli@flokli.de">flokli@flokli.de</a><br>Date: Tue, 1 Apr 2014 13:01:36 -0500<br>Subject: Re: [lxc-users] lxc_monitor exiting, but not cleaning monitor-fifo?<br>As an alternative to doing pidfiles, how about following the way<br>

that lxcapi_create does it with fcntl(fd, F_SETLKW?  (see<br>
create_partial() and ongoing_create()?<br>
<br>
Then if the monitor exited without being able to clean up, we can<br>
detect it and clean up.<br>
<br>
<br><br>---------- Message transféré ----------<br>From: Florian Klink <<a href="mailto:flokli@flokli.de">flokli@flokli.de</a>><br>To: Dwight Engen <<a href="mailto:dwight.engen@oracle.com">dwight.engen@oracle.com</a>>,  LXC users mailing-list <<a href="mailto:lxc-users@lists.linuxcontainers.org">lxc-users@lists.linuxcontainers.org</a>><br>
Cc: <br>Date: Tue, 01 Apr 2014 22:15:25 +0200<br>Subject: Re: [lxc-users] lxc_monitor exiting, but not cleaning monitor-fifo?<br>Am 01.04.2014 01:49, schrieb Dwight Engen:<br>
> On Mon, 31 Mar 2014 23:18:13 +0200<br>
> Florian Klink <<a href="mailto:flokli@flokli.de">flokli@flokli.de</a>> wrote:<br>
><br>
>> Am <a href="tel:31.03.2014%2021" value="+13103201421">31.03.2014 21</a>:13, schrieb Dwight Engen:<br>
>>> On Mon, 31 Mar 2014 20:34:15 +0200<br>
>>> Florian Klink <<a href="mailto:flokli@flokli.de">flokli@flokli.de</a>> wrote:<br>
>>><br>
>>>> Am <a href="tel:31.03.2014%2020" value="+13103201420">31.03.2014 20</a>:10, schrieb Dwight Engen:<br>
>>>>> On Sat, 29 Mar 2014 23:39:33 +0100<br>
>>>>> Florian Klink <<a href="mailto:flokli@flokli.de">flokli@flokli.de</a>> wrote:<br>
>>>>><br>
>>>>>> Hi,<br>
>>>>>><br>
>>>>>> when running multiple lxc actions in row using the command line<br>
>>>>>> tools, I sometimes observe the following state:<br>
>>>>>><br>
>>>>>><br>
>>>>>> - lxc-monitord is not running anymore<br>
>>>>>> - /run/lxc/var/lib/lxc/monitor-fifo still exists, but is<br>
>>>>>> "refusing connection"<br>
>>>>>><br>
>>>>>> In the logs, I then see the following:<br>
>>>>>><br>
>>>>>><br>
>>>>>> lxc-start 1395671045.703 ERROR    lxc_monitor - connect : backing<br>
>>>>>> off 10 lxc-start 1395671045.713 ERROR    lxc_monitor - connect :<br>
>>>>>> backing off 50 lxc-start 1395671045.763 ERROR    lxc_monitor -<br>
>>>>>> connect : backing off 100 lxc-start 1395671045.864 ERROR<br>
>>>>>> lxc_monitor - connect : Connection refused<br>
>>>>>><br>
>>>>>><br>
>>>>>> ... and the command fails.<br>
>>>>><br>
>>>>> The only time I've seen this happen is if lxc-monitord is hard<br>
>>>>> killed so it doesn't have a chance to clean up and remove the<br>
>>>>> socket.<br>
>>>><br>
>>>> Here, it's happening quite frequently. However, the script never<br>
>>>> kills lxc-monitord on its own, it just tries to detect and fix<br>
>>>> this state by removing the socket file...<br>
>>><br>
>>> Right, removing the socket file makes it so another lxc-monitord<br>
>>> will start, but the question is why is the first one exiting without<br>
>>> cleaning up? Can you reliably reproduce it at will? If so then maybe<br>
>>> you could attach an strace to lxc-monitord and see why it is<br>
>>> exiting.<br>
>><br>
>> I was so far not successful in reproducing the bug while having an<br>
>> strace running. :-( But I'll continue to try!<br>
<br>
Success :-) I managed to get an strace while trying to reproduce the<br>
bug. I gzipped and attached it to this mail.<br>
<br>
Its the output of strace -f -s 200 /usr/lib/lxc/lxc-monitord<br>
/var/lib/lxc /run/lxc/var/lib/lxc/monitor-fifo &> strace_output.txt<br>
<br>
I fired a bunch of lxc-starts and lxc-stops in row, then stopped my<br>
script and waited for lxc-monitord (and strace too) to stop.<br>
<br>
Then I started my script again and had the "leftover monitor-fifo state".<br>
<br>
>>><br>
>>>>><br>
>>>>>><br>
>>>>>> A possible workaround would be checking for non-running<br>
>>>>>> lxc-monitord process but existing monitor-fifo file then removing<br>
>>>>>> the fifo if it exists before running the next lxc command, but<br>
>>>>>> thats ugly ;-)<br>
>>>>><br>
>>>>> Is there a good non-racy way to do this? I guess monitord could<br>
>>>>> write its pid in $LXCPATH and we could kill(pid, 0) it.<br>
>><br>
>> I also think that lxc should be able to recover from this problem<br>
>> automatically.<br>
><br>
> I agree, though I would like to understand the root cause. Can you try<br>
> out the attached patch? I think it will cure your issues.<br>
><br>
<br>
Thanks for the patch! Just tell me if you need more information for the<br>
strace above. If not, I'll happily apply the patch :-)<br>
<br>
>>>>><br>
>>>>>> Is this behaviour known? Is there some missing "cleanup code" in<br>
>>>>>> lxc(_monitord) or why is it failing like this?<br>
>>>>><br>
>>>>> Currently it catches SIGILL, SIGSEGV, SIGBUS, and SIGTERM and<br>
>>>>> cleans up. Other than hard kill I'm not sure what else might<br>
>>>>> cause it to exit without cleaning up.<br>
>>>><br>
>>>> I shutdown containers with `lxc-stop -n container-name`<br>
>>>> (lxc.stopsignal=30 (SIGPWR)), however this signal should never go<br>
>>>> to lxc_monitord, right?<br>
>>><br>
>>> Right, that goes to the init process of the container.<br>
<br>
<br>_______________________________________________<br>
lxc-users mailing list<br>
<a href="mailto:lxc-users@lists.linuxcontainers.org">lxc-users@lists.linuxcontainers.org</a><br>
<a href="http://lists.linuxcontainers.org/listinfo/lxc-users" target="_blank">http://lists.linuxcontainers.org/listinfo/lxc-users</a><br></blockquote></div><br></div>