Hi folks,
The 2019.04 tag has been pushed to master on git.lavasoftware.org. .deb packages have been built in GitLab CI and are available at
https://apt.lavasoftware.org/release
Docker images for amd64 and arm64 have been built in GitLab CI and are available from
and
https://hub.docker.com/u/lavasoftware
Changes in this release =======================
Device-types ============
New device-types -----------------
New supported devices:
* A13-OLinuXino-MICRO (Allwinner) * AM65x-GPEVM (aka am6) (TI) * ar9331-dpt-module (DPTechnics) * BeagleBone Black * dove cubebox (Marvell) * i.MX23 (Olimex) * i.MX27-phytec-phycard-s-rdk (PHYTEC) * i.MX28-duckbill (EnOcean) * i.MX53-qsrb * i.MX6ul-pico-hobbit * i.MX6dl-riotboard (RIoTboard) * meson-g12a-sei510 (Amlogic) * meson-g12a-x96-max (Amlogic) * SoCFPGA Cyclone V SoCrates (Altera)
cubietruck ----------
The bootloader prompt for `cubietruck` has been updated from `"sun7i"` to `"sun7i# "`. In fact, the shorter form was also matching the dtb filename, making some job unreliable.
qemu ----
If one or more test actions are included in a qemu job, LAVA will create a disk image and will attach it to qemu.
Some emulated devices have no bus available for attaching this image (like cubieboard). Some emulated devices have an available bus but qemu is unable to attach to it due to the selected architecture (like vexpress).
For these boards, you need to set `guestfs_interface` to `None` and add a device with `drive=lavatest` in the job `context`:
context: extra_options: - -device virtio-bk-device,drive=lavatest guestfs_interface: None
rzn1 ----
`rz1` has been renamed to `rzn1d` to match OpenEmbedded board name.
Boot methods ============
Barebox -------
A new boot method called `barebox` has been contributed. This method, allows to boot boards using the `barebox` bootloader. Currently, the resources are deployed using `tftp`.
A brebox job would look like:
actions: - deploy: to: tftp kernel: url: http://.../zImage nfsrootfs: url: http://.../jessie-armhf-nfs.tar.gz compression: gz dtb: url: http://.../am335x-bone.dtb …
- boot: method: barebox commands: nfs prompts: - 'root@jessie:' …
The following device-types support barebox: * ar9331-dpt-module (DPTechnics) * BeagleBone Black * dove cubebox (Marvell) * i.MX23 (Olimex) * i.MX27-phytec-phycard-s-rdk (PHYTEC) * i.MX28-duckbill (EnOcean) * i.MX53-qsbr * i.MX6dl-riotboard (RIoTboard) * SoCFPGA Cyclone V SoCrates (Altera)
dfu ---
Allow to use u-boot based dfu instead of the hardware one
On some boards, the hardware dfu serial number is set to 0000000. If the board provides two boot media (NOR and NAND for example), we can have a recovery u-boot on one media that will be used to flash the second media using dfu.
actions: - deploy: to: tmpfs images: sf_uboot0: image_arg: --alt sf_uboot0 --download {sf_uboot0} url: http://.../u-boot-ddr.itb - boot: namespace: dfu method: dfu
Grub ----
When booting with grub, users can now ask to serve the filesystem from NBD instead of ramdisk or NFS.
- boot: method: grub commands: nbd
Minimal -------
By default LAVA will reset the board power when executing the minimal boot action. Users can skip this step by adding ``reset: false``. This can be useful when testing bootloader in interactive tests and then booting to the OS.
- boot: method: minimal reset: false prompts: - 'root@debian:~#' - '/ #'
kexec -----
The `kexec` boot method has been fixed. Thanks to this support, users can test this kernel functionality:
- boot: method: kexec kernel: /boot/vmlinuz-3.16.0-4-amd64 initrd: /boot/initrd.img-3.16.0-4-amd64 command: /sbin/kexec kernel-config: /boot/config-3.16.0-4-amd64 boot_message: Starting new kernel options: - "--reuse-cmdline" auto_login: login_prompt: "login:" username: root
REST API ========
A new endpoint has been added to list `workers` at `/api/v0.1/workers`.
Some fields are now using human readable names instead of opaque constants:
* device: * health * state * device-type: * health_denominator * TestJob: * health * state * visibility * submitter
Job definition schema =====================
Web UI ------
When submitting or resubmitting a job from the web interface, the new schema validator will be used. Any errors found by the new schema validator will be reported as a warning.
Admin helper ------------
A new helper has been created for admins to validate old job definitions on their local instance:
lava-server manage jobs validate --newer-than 1d lava-server manage jobs validate --newer-than 1d --submitter lava-health
Job context -----------
The schema validator is now checking the content of the `context` dictionary. Only the following keys are now allowed:
* `arch`, `boot_console`, `boot_root`, `cpu`, `extra_options`, `guestfs_driveid`, `guestfs_interface`, `guestfs_size`, `machine`, `memory`, `model`, `monitor`, `netdevice`, `serial`, `vga` * `bootloader_prompt`, `console_device`, `extra_kernel_args`, `extra_nfsroot_args`, `kernel_loglevel`, `kernel_start_message`, `lava_test_results_dir`, `menu_interrupt_prompt`, `mustang_menu_list`, `test_character_delay`, `tftp_mac_address`
Jobs using keys that are not listed in this list will be rejected.
If you think that some more keys should be whitelisted, please send a patch.
Docker ======
Debian slim -----------
The `lava-server` and `lava_dispatcher` docker images are now based on `debian:stretch-slim`. This will reduce the size of the images slightly.
lavaserver uid --------------
In order to prevent any future issues, the `uid` and `gid` of the `lavaserver` user has been fixed to `200`.
If you are upgrading from a previous lava-server docker image and keeping the data (job logs, device dictionaries, ...) you will need to change the owner of the files and directory:
chown -R lavaserver:lavaserver /etc/lava-server/dispatcher-config chown -R lavaserver:lavaserver /var/lib/lava-server/
Full list of changes ==================== ec8e42c5f schema: vadidate context dictionnary 2e6964c17 device-types: fix board name imx53-qsbr -> imx53-qsrb 52e55a805 Tweak the reprepro-release.sh script again 73ad6ef10 Update the home page contents d929cc8f9 Upgrade jQuery to v3.4.0 after the last security issue 8dd24244e Revert "device-types: base: detect TFTP ERROR: File not found" 215a9ca04 Revert "device-types: use array instead of sting concatenation" 976541d3a Update docs, adding more references to apt.lavasoftware.org d0e9d7279 GitHelper: when failing, print git command stdout/stderr e5671dbf1 u-boot-dfu tests: skip if dfu-util is not available 0b660a124 lava shell helpers: fix shellcheck warnings 7f02689c2 Allow to use u-boot based dfu instead of the hardware one f81e83f31 qemu: Add an ID to the qemu storage e063102e2 Convert offset and limit query parameters to ints 6363d1020 results: use yaml CDumper instead of the python dumper d259def87 Fix documentation about template caching 2dbb0e059 device-types: use array instead of sting concatenation 0b3f671bf Fix crash when validating an invalid multinode job 0b6550d6f sample jobs: improve syntax 7c38216ea Schema: remove "live" argument 7e0a8e415 Fix file permissions 562be7cc6 Remove unused allow_modify from grub-nbd sample job 6f25a8086 device-types: add socfpga-cyclone5-socrates device 660b5b126 device-types: add ar9331-dpt-module device 81fa52c07 device-types: add dove-cubox device 65dacd712 device-types: add imx6dl-riotboard device 4566a4639 device-types: add imx53-qsbr device 7b1d2d0b9 device-types: add imx27-phytec-phycard-s-rdk device 2735228e1 device-types: add imx28-duckbill device 91abf4c2c device-types: add imx23-olinuxino device efec57256 sample_jobs: add barebox job definitions 7b8e78b3c device-types: add parameters section to barebox type b8102f433 device-types: add helper for barebox test and use on imx6ul-pico-hobbit ca800a7b6 xmlrpc: do not raise if jobs.list is empty 705d0aeeb schema: improve inline test definition schema f5e06bf7d lava-schema: print yaml syntax errors 000420042 schema: allow for auto_login in fastboot and kexec 29708cbb0 schema: allow for no compression 883e24be4 schema: enforce that every actions of a multinode use roles e9fe783bf Show validation warnings when (re)submitting jobs in the web ui c3f8993fe Add NBD support to grub 07a693eaf device-types: minnowboard-common: permit to override grub_autoboot_prompt 52c9f1ce8 device-types:: allow to change bootloader prompt at device level b3864a998 schema: accept zero MultiNode role count 78de67ce0 schema: accept test action parameters 5143b42f3 device-types: add sun5i-a13-olinuxino-micro 7403ddfd4 Remove all links to lavapdu and improve PDUDaemon docs 613038ccd doc: fix typo on --passwd argument c56ab79e5 schema: add deploy.overlay module 5043f5e83 doc: make the message toward 3rd party packaging more friendly 0140f42f3 Remove unsed argument 86a923cde Fix version/arch computation in docker debian-slim variants 79d239060 CI: use new sast template provided by gitlab fce87ba18 cubietruck: use a longer bootloader prompt 83de037f0 Improve sql efficiency when generating lab report 4bab2f601 Improve "lava-server manage check" 714cdb587 Move back adduser call from postinst.py to lava-server.install 668d132c6 device-types: base: detect TFTP ERROR: File not found 5bf642e3b scheduler: added AM6 device type eb784fa69 Remove the top-level links from the docs 22f816bbb Add extra doc template code to add rel="canonical" links 95b43d160 boot minimal: allow to skip reseting the device 54f00eea7 Fix kexec boot failure 4819cb9db lava-test-raise: fix shell syntax d718a4a9d device-type: add meson-g12a-x96-max 0f29a3e9e device-type: add meson-g12a-sei510 386c29ea0 device-type: add new meson-g12-common affccf663 auto login: fix the prompts list after login bcb243c65 debian: remove dependencies to unused jquery libs eece2782b CI: skip debian specific tests if dpkg-query is not installed f2fdfa0f9 Improve error message c974a8859 scheduler: rename rzn1 to rzn1d b2cebf9a1 Only deploy the LAVA docs on a tag a7a3f1f2f schema: allow namespace in user commands f5b6edf73 Use enumerate whenever possible f44347ce9 Remove "-master" (branch name) in docker tags e09d68f19 Fix argument typo. 7cd503803 lava_scheduler_app: add barebox test 9ba1c02eb device-types: add imx6ul-pico-hobbit device 9e7a7ecd2 device-types: add base-barebox for typical barebox setup 6fda3991d dispatcher: add barebox boot action 1a6bca180 REST API: translate dictionary values to human readable form e3b6fde17 Remove /etc/lava-dispatcher/lava-dispatcher.conf 2b0c7569e Upgrade bootstrap to v3.4.1 4cf162244 Use bootstrap minified css file 10396e6a0 release: add the script to push docker containers to docker hub 2a7e17ab6 check: fix the check for systemd existence bf4dc683e check: fix a crash when the uid is unknown 443a8b87b Add validate helper to manage jobs support 58eb62334 Remove unused imports f51d9d000 rest-api: also list workers 2e7cae991 Add --host argument to pg_isready command call b5090e4d9 debian/lava-dispatcher.dirs: remove usr/sbin 936541ff6 Fix typo in lava-modules.conf install path
Steve, for the LAVA team