Code review comment for lp:~racb/ubuntu/saucy/autopkgtest/lxc

Revision history for this message
Robie Basak (racb) wrote :

Thanks for the review, Jean-Baptiste. I've addressed 1, 3, 4 and 5. This driver could in theory work in Debian with Debian's cloud-init. The only real issue is that there's no standard way to detect if an LXC container has finished booting, so I used cloud-init's boot-finished sentinel file.

Specifically:

> 1. If the base container is not created from an ubuntu-cloud template (i.e debootstrap based), the driver goes to an infinite wait loop. It should fail gracefully in that case

Now explicitly checked and fails with a specific error message for this case.

> 2. The requirement for a cloud template means that the usage of this driver is limited to Ubuntu. Using any type of lxc container would allow to run tests in LXC on Debian for example.

As above. Anything with cloud-init should work, and if we can have some generic lxc-wait type mechanism for boot finished detection, we could expand support in the future.

> 3. This requirement is not documented
> 4. More generally there is no man page for this driver while there are for the other drivers

Man page written.

> 5. If eatmydata is not installed into the container and the driver is invoked with option --eatmydata then it crashes with...

I now explicitly check that the container has eatmydata if --eatmydata is specified, and fail with a specific error in that case. I thought that this would be better than printing a warning, as chances are that the developer won't see it (and the developer can trivially work around the problem by not using the --eatmydata option). Like you, I felt that an implicit installation might be confusing.

« Back to merge proposal