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
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
lava-announce@lists.lavasoftware.org