Hi folks,

The 2019.11 tag has been pushed to master on git.lavasoftware.org.
.deb packages have been built in GitLab CI and are published at

  https://apt.lavasoftware.org/release

Docker images for amd64 and arm64 have been built in GitLab CI and
are available from

  https://hub.lavasoftware.org/

and

  https://hub.docker.com/u/lavasoftware

Changes in this release
=================

Device-types
============

New device-types
----------------

New supported devices:
* imx8mn-ddr4-evk
* meson-sm1-sei610 (Amlogic)
* r8a7796-m3ulcb-kf

udev events
===========

Fix a race condition when waiting for `udev events`. If the dispatcher is under load, sometimes the udev event will be sent before `lava-run` start waiting for event.
In such case, the event is lost and LAVA will wait forever.

LAVA is now waiting for the event and at the same time looking at the usb devices. If the event is missed, LAVA will notice the presence of the usb device.

Documentation
=============

The documentation has been improved. The job definition snippets are now easier to understand and to copy&paste into your own job definition.

This is an ongoing work that will continue in the following releases.

Job definition schema
=====================

Job context
-----------

The schema validator is now checking the content of the `context`
dictionary for both single and multinode jobs.

A new set of keys has been added: `custom_kernel_args` and `no_kvm`

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`, `no_kvm`, `serial`, `vga`
* `booti_dtb_addr`, `booti_kernel_addr`, `booti_ramdisk_addr`, `bootm_dtb_addr`, `bootm_kernel_addr`, `bootm_ramdisk_addr`, `bootz_dtb_addr`, `bootz_kernel_addr`, `bootz_ramdisk_addr`
* `boot_character_delay`, `bootloader_prompt`, `console_device`, `custom_kernel_args`, `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`, `uboot_extra_error_message`, `uboot_needs_interrupt`

Jobs using keys that are not listed in this list will be rejected.

If you think that some more keys should be whitelisted, talk to us.

Debian packaging
================

The `lava-dispatcher` Debian package architecture is now set to `All` as the code is architecture independent.

Administrators
==============

Device dictionary
-----------------

Admins can now check device configuration using the `lava-server` command line:

```shell
lava-server manage devices check qemu-01
lava-server manage devices check --all
```

Controlling devices
------------------

Admins can now use the control commands specified into the device dictionary manually:
```shell
lava-server manage devices control <hostname> <command>
```

The commands are: `on`, `off`, `reset` and `connect`

Docker
======

The `lava-server` and `lava-dispatcher` docker images are now based on debian `buster`.

Thanks

--
Rémi Duraffort
LAVA Architect
Linaro