Hi Michal and Martin,
Thanks for your reply.
Just an explanation. I'm not interested directly in developing this
specific feature.
If there is a GSoC student addressed to this... Excellent.
I'm interested in developing snapshot and container migration which
unfortunately requires this feature.
Unless you have another opinion.
--
Julio Faracco
Em qui., 1 de abr. de 2021 às 07:33, Michal Privoznik
<mprivozn(a)redhat.com> escreveu:
On 4/1/21 12:01 AM, Martin Kletzander wrote:
> On Sat, Feb 27, 2021 at 01:14:29AM -0300, Julio Faracco wrote:
>> Hi guys,
>>
>
> Hi and sorry for not replying earlier.
>
Yeah, sorry. I have this marked for review and yet still haven't done so.
>> I marked this series as RFC to discuss some points. I'm interested in
>> enhancing this specific part of LXC. So, some questions that I would
>> like to hear as a feedback from community:
>> 1. I decided to use a tar to compress all CRIU img files into a single
>> file. Any other suggestions?
>> 2. If no is the answer to question above, is there a consensus on
>> preferring to use command line calls or libraries? I would like to use
>> libtar for instance. I personally think that this approach is ugly.
>> Not sure if I'm able to do that. The same for CRIU.
>
> I remember that for CRIU, back when we were trying to do that, the issue
> was that the commands were not atomic, did not properly report error
> messages and maybe something more along the lines. Either there was no
> library interface or it was not MT-safe, basically there were couple of
> issues like that which we were not able to deal with.
>
> I do not really remember all the details. Maybe Michal does as I think
> he suggested the idea back then. I Cc'd him. In the worst scenario we
> will need to figure this all out again ;)
IIRC the main problem was that we wanted CRIU to be able to send its
data over a TCP connection. Back then, when a GSoC student was looking
at this, CRIU was only able to store data into a file (or even multiple
files in a directory?) and wasn't able to create server/client
connection. Maybe this has changed since then? If not, then we can use
tar, sure. And to transfer data we can use so called tunnelled
migration, where the migration stream is sent over libvirt connection
rather than directly to the other side (because then we would have to
have nc or similar involved).
https://libvirt.org/migration.html#transporttunnel
Another issue was that it couldn't handle all namespaces (but I'm not
certain - it was 5 years ago).
But let me find some time and review patches.
Michal