[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Review of debusine's autopkgtest related API



Hi Raphael,

On 12-10-2023 19:03, Raphael Hertzog wrote:
[ Please keep me in CC as I'm not subscribed to debian-ci@lists.debian.org ]

Done.

As on of the maintainers of the infrastructure, I have some ideas or recommendation to add too:

* make sure you can block tests
  o per architecture and per suite
  o ideally even per host, because in practice not all hosts will be
    equal
  o ideally even per backend as you intent to support multiple
  o also *after* the job has been scheduled. As an example, recently
    sbuild started to kill our worker service instances while we had
    quite some backlog, which we had to fully clear to resolve the
    issue.

* ensure you can change the timeouts of autopkgtest
  o as the infra maintainer, e.g. you want to allow more time on slow
    archs: armel and riscv64 at this moment
  o ideally per source package, as some tests run successfully, but just
    take long, or just take long to unpack (so maybe even per timeout
    type). E.g. we have had to block libreoffice on nearly all our
    architectures because it's too big to startup on some hosts (also
   too slow disks). Ubuntu has a big_package list for this [1].
  o as the requestor, maybe you are ahead of the infra maintainers

* ensure you can direct certain sources to certain hosts (or prevent
  certain hosts from being used). E.g. for amd64 our hosts currently are
  very different; one is a beast while the others are normal. Some test
  fail on one class while work on the other, things like #cpus, amount
  of memory, hardware options, they all matter.

  o of course autopkgtest could grow support for this too, but that
    could make tests flaky depending on to which host they are sent, so
    I believe the infra needs this too.

* I once played with /tmp and /var/lib/lxc (IIRC) on tmpfs but backed
  out because some tests fail if not run on a "real" fs. By now I regret
  that I backed out, but *maybe* you want this configurable? I regret
  because particularly ppc64el hosts are slow because they are waiting
  for io.

* If you support *default backend* too, I suggest you have per package
  options to "block" certain backends. You probably want to run on the
  "cheapest" backend that enables all tests (which can be detected if
  you already process the d/t/control file) tests, but maybe there are
  multiple tests where a subset make it use  an "expensive" backend
  without much added value.

* Maybe autopkgtest should grow an restriction to have test only run
  when explicitly declared on the command interface, to enable writing
  tests that don't need to run by default, but are nice to have during
  development.

And now I ran out of idea, probably more come later.

Paul

[1] https://git.launchpad.net/~ubuntu-release/autopkgtest-cloud/+git/autopkgtest-package-configs/tree/big_packages

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature


Reply to: