Skip to content

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).

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information