Hi folks,

The 205.04 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
* aml-s905d3-cc
* bcm2837-rpi-3-b-plus
* bcm2712-rpi-5-b
* mt8188-geralt-ciri-sku0
* qcs6490-rb3gen2
* rk3588-rock-5-itx
* supermicro-as-2015hr-tnr

## U-boot device-types

Allow adding extra boot methods
   
On system ready devices we usually boot from u-boot into grub. To be able to interact with such a chainloaded bootloader, a device can now use the extra_boot_methods variable.
   
Add the following to a device dict entry:

```jinja
{% set extra_boot_methods %}
grub:
  parameters:
    bootloader_prompt: {{ bootloader_prompt|default('grub>') }}
     needs_interrupt: {{ grub_needs_interrupt|default(true) }}
grub-efi:
  parameters:
    bootloader_prompt: {{ bootloader_prompt|default('grub>') }}
    needs_interrupt: {{ grub_needs_interrupt|default(true) }}
{% endset %}
```

# LAVA dispatcher

## Kernel message parsing

Look for u-boot start message to detect DUT reset and fail the job.

## Deploy to downloads

Save "downloads://*" file to unique path by default.

This change unifies the default behavior across the `http(s)://`, `file://` and `downloads://` schemas and it provides the `uniquify` parameter for overwriting.

## Postprocess action

Export `HTTP_CACHE`, `LAVA_JOB_ID` and `LAVA_DISPATCHER_IP` as environment variables in the docker container runner post-processing code.

`HTTP_CACHE` is also exported to docker test actions.

## Slow serial

For device-types with slow or unreliable serial connections, a parameter has been present in LAVA for a long time: `test_character_delays`. This is forcing LAVA to sleep some milliseconds between each characters sent to the serial console.
With this release, the lava-test-runner script will now sleep for the same amount of time before sending each test signal. This should help mitigating the impact of these serial connections.

## lava-test-shell

Add a new option to pass the output for a given test result, the result will be the same as calling the command with the `--shell` argument.

The passed quoted arguments are now properly preserved by lava-test-shell. Previously the arguments had to be quoted multiple times to prevent them being split. Now the argument will be preserved quoted. For example, before `lava-test-shell "some arg"` the `some arg` would be split to to two so the `"'some arg'"` quoting was required. Now `"some arg"` will always be a single argument. This was undocumented change in last LAVA 2024.02 release.

# LAVA worker

Fix frequent worker offline events. After 2024.09, frequent online -> offline -> online records are observed on most workers. It is a regression introduced by the commit be0f40cbf7c7e95fb03bd83507a84ccaf43d9baf.


Rgds

--
Rémi Duraffort
Principal Tech Lead
LAVA Tech Lead
Automation Software Team
Linaro