Hi folks,
The 2022.02 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
and
https://hub.docker.com/u/lavasoftware
Changes in this release ==================
# Device-types
## New device-types
New supported devices:
* seco-c61
## d05
Use NFS version 3 by default when loading the root file-system with NFS.
## dephtcharge
Allow to boot from emmc. Typical extra kernel arguments for booting a Chrome OS image are `root=/dev/mmcblk0p3 cros_debug cros_secure`.
## hp-x360-14-G1-sona
Automatically retry on boot failures to workaround bootloader issues.
## UUU
Enable "on worker" uuu_usb_otg_path configuration instead of modifying devices definitions located on the master.
Before this change, the LAVA device dictionary contained static uuu USB ID as a string, like: ```jinja {% set uuu_usb_otg_path = '1:324' %} ```
The dictionary can now contain a command that will actually return this string.
```jinja {% set uuu_usb_otg_path_command = ['board-control', 'imx8mq-evk-01', 'extra', 'uuu_otg_path', '--silent'] %} ```
# docker + adb,fastboot
We often observe race conditions where a USB device will disconnect between the time when it gets added to the docker command line as a `--device= option` and the time that the container actually starts.
Instead of running one-off containers, start the containers first, wait for them to be up, map devices into them with lava-dispatcher-host, and then run the command. This way, if the device gets disconnected it will be re-shared with the container once it is enumerated again.
# Settings
The LAVA server settings can now be configured from environment variables.
Every variables that starts with `LAVA_SETTINGS_` will be added to the django settings.
For complex settings, admins can use LAVA_JSON_SETTINGS which is expected to be a dictionary as json, base64 encoded. For instance:
```python import base64 import json
data = { "WORKER_AUTO_REGISTER_NETMASK": ["::1"] } print(base64.b64encode(json.dumps(data).encode("utf-8")).decode("utf-8")) ```
In order to use it, add to the environment: `LAVA_JSON_SETTINGS="eyJXT1JLRVJfQVVUT19SRUdJU1RFUl9ORVRNQVNLIjogWyI6OjEiXX0="`.
See [the documentation]( https://lava.readthedocs.io/en/latest/admin/basic-tutorials/instance/configu... ).
# Container images
Fix LDAP support when using LDAPS and upgrade sentry-sdk to 1.5.5 in lava-server images.
# Debian packaging
Ensure `lava-celery-worker`, `lava-dispatcher-host` and `lava-docker-worker` are restarted on upgrades.
# Worker
## Logging interval
By default, lava-run will send the new logs to the server every second. For large labs, this would generate a consequent load on the server. This interval is now configurable when calling `lava-docker-worker` and `lava-worker`.
Rgds