Hi folks,

The 2021.10 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
==================

# Device-types

## New device-types

New supported devices:

* arduino-nano-33-ble
* imx8mp-ab2
* meson-sm1-odroid-c4
* pc-k10n78

## mt8192-asurada

mt8192-asurada as been renamed mt8192-asurada-rev1 to match the device-tree name.

## FVP

In order to fix some issues with the secondary consoles that should be read at all time, LAVA is now using a specific wrapper called `lava-outerr`.

The wrapper script consumes the sub-process std(out|err) as fast as possible, keep the data in a buffer and written to std(out|err) whenever possible.

## nrf52-nitrogen

Allow to set connect_before_flash. The value is False for backward compatibility. You can set it in the device dictionary:

```jinja
{% set connect_before_flash = true %}
```

# External authentication

Since [2021.03](2021.03#authentication), LAVA can delegate the authentication to GitLab using the `django-allauth` module.

This release add the possibility to use any supported [provider](https://django-allauth.readthedocs.io/en/latest/providers.html).

In order to use it, add this to the configuration:

```yaml
AUTH_SOCIALACCOUNT: "{'gitlab':{'GITLAB_URL': 'https://gitlab.example.com'}}"
```

See `django-allauth` documentation for the right parameters.

For background compatibility, `AUTH_GITLAB_URL` and `AUTH_GITLAB_SCOPE` are still supported.

# Interactive tests

When running tests with LAVA test shell, LAVA will regularly read the connections from the non-active namespaces. In the logs, this is called "feedbacks". This is important for some device-types like fvp models.

Interactive tests are now also regularly reading the non-actives connections to fix some issues with the fvp device-type.

# kexec

The kexec boot method is now able to crash the kernel to test the kdump feature.
   
The job definition will look like:
   
```yaml
boot:
  method: kexec
  kernel: /home/vmlinux
  dtb: /home/dtb
  initrd: /home/initrd
  command: /sbin/kexec
  on_panic: true
  boot_message: "Starting crashdump kernel"
  prompts:
  - 'root@debian:~#'
```

LAVA will use `--load-panic` instead of `--load` and will call `echo c > /proc/sysrq-trigger` to force a kernel crash.

# Overlays

It's now possible to add single files to a given root file system (or initrd) with the overlays feature.
   
The job definition should look like:
   
```yaml
rootfs:
  image_arg: "-initrd {rootfs}"
  url: "https://example.com/rootfs.cpio.zst"
  compression: zstd
  format: cpio.newc
  overlays:
    onefile:
      url: https://example.com/file
      format: file
      path: /hello-world
```

# qemu and docker

The qemu-system packages included in the lava-dispatcher docker image are now coming from bullseye-backports.


Rgds

--
Rémi Duraffort
LAVA and Tux Architect
Linaro