Skip to content

LAVA 2024.03 rebase

Upstream changelog:

Device-types

New device-types

  • mt8195-cherry-tomato-r3

aaeon-UPN-EHLX4RE-A10-0864

Allow to set kernel_start_message variable.

bcm2837-rpi-3-b

Fix the DT load addresses that was potentially overwriting u-boot ATAGs. See rpi-3-32b fix

FVP

Automatically retry failures when activating the ARMLM license.

APIs

Rest API

The REST API v1 has been removed. The API has been superseded by v2 for a long time now.

At the same time, a new version of the API (v3) has been started. This is still an on going work to improve the API performances and reliability.

XMLRPC

Devices

Allow to update a device physical_owner field from the API. Calling lavacli devices update --user <username> will update the field.

Workers

Validate yaml syntax before updating the worker configuration.

docker

lava-dispatcher

Use QEMU from bookworm-backports, upgrading from 2.7 to 8.2.1.

Services

lava-dispatcher-host

Improve stability by handling more potential exceptions.

lava-publisher

Improve lava-publisher stability by handling multiple potential connection errors.

lava-run

When sending logs over https fails because the payload is too large, lava-run will automatically reduce the size of the payload before retrying. Before this version, lava-run would retry with the exact same payload (or sometime even larger one) and will be unlikely to ever succeed.

When failing to send logs to the server, lava-run will also record the error to stderr. lava-worker will then forward these messages to the server. This will be recorded as failure_comment.

lava-server-gunicorn

Switch gunicorn default worker from eventlet to gthread.

With eventlet, the event notification system (based on ZMQ socket) will need to create a new socket for each connection. If the publisher service is unreachable, the server will consume all the file descriptors and crash after some time.

gthread worker allows to reuse the same zmq socket for multiple requests while still allowing requests to live longer than the worker timeout.

Regarding the performances, the apache bench test results shown that gthread is able to handle more concurrent connection than eventlet in most use cases.

lava-server cli

A new argument has been added to the lava-server jobs rm command: --logs-only. When this parameter is set, the command will only remove the logs from the filesystem while keeping the TestJob objects in the database.

Merge request reports