Using LAVA for Debian BoF ========================= LAVA - Linaro Automated Validation Architecture - a part of your CI loop focused on hardware availability and boot testing. - also support for testing across multiple nodes (client:server) - testing specialised networks (VLAN support requires hardware) - testing using QEMU Part of your CI - when the hardware is directly relevant to your test. See kernelci.org for an example of what can be done with the data https://lava.debian.net/ ------------------------ Pending a move to a new server, currently running the previous production release of LAVA, 2015.12. Compare with https://staging.validation.linaro.org/ for latest code. Uses Debian single sign-on client side certificates Creates account automatically - submission rights on request https://wiki.debian.org/LAVA#The_Debian_LAVA_instance Documentation is online and currently being expanded and reorganised Most devices tend to be ARM-based so far, but more can be added We have qemu x86 devices, can add some more x86 machines as they're offered Local testing ------------- * install & configure lava-dispatcher on a machine on your LAN and publish local tests for everyone to view and analyse * VM images, including live images * potentially run tests on VM images where appropriate hardware is available. * publish local tests from your desk to support testing changes which are not easy to automate: * u-boot. ARMMP testing ------------- run CI on the Linux kernel packages on hardware - ramdisk, NFS and SATA media http://snapshots.linaro.org/components/lava/standard/debian/jessie/armhf/3/ https://ci.linaro.org/view/lava-ci/job/lava-debian-armmp-armhf/ https://git.linaro.org/lava-team/refactoring.git/blob/HEAD:/scripts/armmp-nfs.sh Also https://kernelci.org/ - for pre-upload development, share the git branch for the same testing as is done for mainline, next and developer branches. Debian Installer ---------------- test DI on real hardware (typically ARM) or using QEMU. * requires preseeding. Mostly done inside Linaro instances, most of the test jobs can be viewed anonymously. QEMU tests can be done on lava.debian.net. Multinode and advanced use cases -------------------------------- run server-client tests on relevant hardware which cannot be easily performed in sbuild or single VM instances. support for VLAN testing is available although unlikely to be via lava.debian.net itself. XMLRPC and REST API interfaces. ------------------------------- * lava-tool * XML-RPC help available on all instances at /api/help * Download links have REST API support for authentication. Could set up kernelci.org to test Debian's kernel branches too, by configuring it to work with lava.debian.net too Want more people to install lava-dispatcher and make more machines available for lave.d.n What would people like to test? What tests are wanted? ---------------------- Reboot testing - do machines restart ok? Installer testing on real hardware Support in new dispatcher for passing control of the console to 3rd party programs too (e.g. over the ssh console for driving d-i via another program) run jobs inside containers on the test device to limit bad effects? discussion of running tests in VMs, VLANs, etc. convert autopkgtest tests to run in LAVA Need test / job repository specific for Debian ---------------------------------------------- * make them available in git.debian.net or somewhere more appropriate within Debian