Hi folks,
The 205.02 tag has been pushed to master on gitlab.com/lava/lava.
.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://registry.gitlab.com/
and
https://hub.docker.com/u/lavasoftware
Changes in this release
==================
# Device-types
## New device-types
* imx8dxl-evk-dl2
* imx8dxl-orangebox
* imx8mp-ipi-lec
* imx8mp-tqma8mpql-mba8mpxl
* imx91-11x11-frdm
* imx943-19x19-lpddr4-evk
* imx943-19x19-lpddr5-evk
* mimxrt1170-evk
* mimxrt1180-evk
* mt8365-genio-350-evk
* mt8370-genio-510-evk
* mt8395-genio-1200-evk
* mt8390-genio-700-evk
* mt8395-radxa-nio-12l
* mt8188-geralt-ciri-sku1
* mt8188-geralt-ciri-sku2
## AVH
Add support for firmware package. In the job definition, add:
```yaml
fw_package:
url: https://example.com/kronos-baremetal-psa-secure-storage-1.0.zip
storage_file: virtio_0
root_partition: 1
```
## fastboot
Add support for auto fastboot device detection. If only one fastboot device
is attached to a dispatcher, LAVA can now automatically discover the adb
and fastboot serial number. In the device dictionary, add:
```jinja
{% set fastboot_auto_detection = true %}
```
## FVP
Allow to pass custom environment variables to the FVP binary. In the job
definition add `environment: ["HELLO=WORLD"]`
## JLink
### Custom erase and reset commands
Allow to customize erase and reset commands. In the device-type template
add:
```jinja
{% set erase_command = "erase" %}
{% set reset_command = "r" %}
```
## K3
Use common templates for K3 platforms. This template provides `booti`
addresses and also set `uboot_ramdisk_format` to `raw` by default.
### Multi-core boards
Allow JLink to connect to multi-core boards (e.g. M33 or M7). In the
device-type template, a new parameter lists the supported core types. By
default, LAVA will connect to the first in the list.
```jinja
{% set supported_core_types = ['M33', 'M7'] %}
```
To select another core, specify it in the job definition:
```yaml
- boot:
method: jlink
coretype : "M7"
[...]
```
### QEMU
Add `mips64el`, `ppc64le` and `riscv32` to the list of supported
architectures.
## u-boot devices
Add support for raw initramfs images. For device-type with recent u-boot,
use raw ramdisk format by updating the device-type template:
```jinja
{% set uboot_ramdisk_format = uboot_ramdisk_format|default('raw') %}
```
# LAVA dispatcher
## Timeout and retries
When only deploy/boot/test block timeout is defined, the same timeout is
used for all the actions inside the block. When a RetryAction's child
action fails on timeout, it leaves no time for the next retry to run as the
parent timeout is respected too.
This change propagates timeout by levels and retries for retry actions. It
uses `parent_timeout // parent_retries` for child action timeout. The logic
is similar to setting a smaller named/child action timeout manually.
This change might require some adaptations to the timeout. For instance
downloads are automatically retried 3 times, so the download timeout will
be divided by 3 with this change, allowing for some retries.
## lava-dispatcher-host
Make `lava-dispatcher-host` cli startup 3 times faster. This is import as
this is used in udev rules.
# LAVA server
## Database configuration
Allow to set database `CONN_MAX_AGE` and `CONN_HEALTH_CHECKS` from
environment variables:
```yaml
LAVA_SETTINGS_DB_CONN_MAX_AGE=60
LAVA_SETTINGS_DB_CONN_HEALTH_CHECKS=true
```
Or inside `LAVA_JSON_SETTINGS` with:
```
DB_CONN_MAX_AGE=60
DB_CONN_HEALTH_CHECKS=true
```
## Notifications
Allow to send notification to device owner. In the notification block, add:
```yaml
to:
user: "{LAVA_DEVICE_OWNER}"
```
## Scheduler queue timeout
Allow to specify a default schedule queue timeout. In the configuration add:
```yaml
QUEUE_TIMEOUT_HOURS=5 # In hours
```
Rgds
--
Rémi Duraffort
Principal Tech Lead
LAVA Tech Lead
Automation Software Team
Linaro