Hi folks,

The 2023.03 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

  https://hub.lavasoftware.org/

and

  https://hub.docker.com/u/lavasoftware

Changes in this release
==================

## New device-types

New supported devices:
* hp-14b-na0052xx-zork
* imx8mm-innocomm-wb15-evk
* rk3588-rock-5b

## Deploy

### Apply overlay

Fix applying overlay to a custom directory.

The test directory, which defaults to `/lava-%s` (where `%s` gets replaced by the `job ID`), can be overridden like this:

```yaml
context:
  lava_test_results_dir: /var/lib/lava-%s
```

### nbd

Handle `nbd-server` running as non-root.
   
On Debian, nbd-server is running as nbd by default, thus preventing the image owned by root to be mounted as rw. So LAVA should detect the nbd-server user and chown image to it.

## Boot

### Fastboot

LAVA is now raising `InfrastructureError` on `fastboot-boot-commands` timeout.

Timeouts caused by the DUT not entering fastboot mode or by faults in the connection to the DUT while running pre-boot fastboot commands should be treated as infrastructure errors.

### Nodebooter

Add support for nodebooter service for booting grub based devices. In order to enable the support, add to the device-type template:

```yaml
{% set has_nodebooter = True %}
```
Nodebooter action will start the nodebooter container, configure it, add the DUT via API to nodebooter and reset the device to be netbooted by nodebooter.

### uuu

Serial availability is now skipped when the first command is `bcu: reset usb` or when uuu block contain only bcu protocol.

## Healthz

Add a new endpoint at `/v1/healthz/`. This endpoint checks that the connection to the database is working properly and returns either 200 or 500. This can be used by reverse proxy to check the status of the gunicorn process.

## lava-docker-worker

Fix `lava-docker-worker` systemd service dependencies. The service should depend on both `containerd` and `docker`.

Prior to this version, system reboot would take a lot of time waiting lava-docker-worker to stop.

## XMLRPC

### encoding

Fix the encoding of the response from the server. This will fix encoding issues with some specific characters.

### Device(-type)s permissions

A new set of api endpoints has been added to manage devices and device-types permissions:
* `scheduler.devices.perms(add|delete|list)`
* `scheduler.device_typess.perms(add|delete|list)`

### Users and groups

A new set of api endpoints has been added to mange users and groups:
* `auth.groups`: (add|delete|list|show) groups
* `auth.groups.perms` (add|delete|list) permissions of a specific group
* `auth.users` (add|delete|list|show|update) users
* `auth.users.groups` (add|delete|list) groups of a specific user
* `auth.users.perms` (add|delete|list) permissions of a specific user


Rgds

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