[CRIU] P.Haul Python vs Go

Adrian Reber adrian at lisas.de
Fri Dec 27 02:28:19 MSK 2019


On Thu, Dec 26, 2019 at 07:11:50PM +0000, Nicolas Viennot wrote:
> On https://criu.org/P.Haul page, it is said "P.Haul is an extension to CRIU that makes live migration with CRIU possible.
> The effort first appeared as python script(s), but due to high complexity of python code integration, it was switched into Go".
> 
> Why was python code hard to integrate with CRIU?

The problem was, that many projects like Docker, LXD, Podman are written
in Go. P.Haul provided code and algorithms which would make sense to use
in all those projects, but calling to an external program (p.haul in
python) is something which would be very unlikely to use in those
projects. At some point the idea came up, maybe it would make sense to
provide the p.haul algorithms in Go to easier integrate in those
projects. Until now nobody has used the Go implementation and integrated
in one of those projects (runc and Podman might be using the get version
implementation from go-criu).

For me it feels like projects providing container migration do already
have too much own infrastructure to use p.haul. It seems unlikely that
the (useful and working p.haul implementation) will be used by any other
project. It seems more likely that go-criu might get additional
functions which will be used in runc and maybe Podman.

		Adrian


More information about the CRIU mailing list