Implement autopkgtest-unshare
(by popular demand I open this issue to explain what changes are needed to use autopkgtest-virt-unshare. A line in IRC is not enough)
In order to use autopkgtest with unshare backend in salsa CI there are some changes needed:
- autopkgtest specification: add "unshare" as a backend
- autopkgtest input data: add a key so the user can indicate which "debian:system-tarball" artifact contains "system.tar.xz" to be used (and probably do not allow to include "distribution"?)
- autopkgtest fetch_input: download the "debian:system-tarball" artifact
- autopkgtest _cmd_line: if backend == "unshare": cmd arguments add "--tarball system.tar.xz"
Might be some other change needed that I haven't thought yet.
To use it in the CI:
- the mmdebstrap test could generate the "debian:system-tarball" (which already does it) and autopkgtest test could download it (to avoid creating a new one).
- there are changes needed in autopkgtest code. It has been tested via editing with "sed" removing the line. On IRC other (better?) approaches have been mentioned.
Rationale:
Tasks are plan to run, generally speaking, with lxd. But lxd is not expected to work on Salsa workers.
It might be useful to have a way to run tasks on Salsa in a way as close as possible as production workers.
At the moment we have (salsa):
- sbuild: runs in schroot
- lintian: runs non-isolated (lintian from the worker)
- autopkgtest: runs non-isolated and uses schroot backend
- mmdebstrap: runs non-isolated and uses unshare backend
It's possible to use autopkgtest with the unshare backend in salsa jobs (this has been tested).