Hi folks,

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

# Upgrading

## Database migrations

Added queue_timeout field to TestJob model.

# Device-types

## New device-types

New supported devices:
* asus-C436FA-Flip-hatch
* dell-latitude-5400-sarien
* gemini-ssi1328
* i945gsex-qs
* imx8mp-ddr4-evk
* intel-ixp42x-welltech-epbx100
* jh7100-beaglev-starlight
* hp-x360-14-G1-sona
* sm8150-m‎tp
* sm8250-m‎tp
* sm8350-m‎tp

## apertis

New deployment type for apertis is now available. Apertis is a Debian
derivative with images that typically do not have bash and often the rootfs is
mounted read-only as well.

## jacuzzi

Device type acer-mt8183-cp311-3h-jacuzzi renamed to
mt8183-kukui-jacuzzi-juniper-sku16 to fit the device tree name.

## depthcharge

base-depthcharge device type template now supports flasher method and also a
minimal boot.

## qemu

Add cpu and machine context options for i386 arch.

## i.mx

Default ```shutdown_message``` was changed to 'Restarting system'

## pyocd

Allow to set the pyocd flash tool command. Example:

```yaml
{% set pyocd_command = "pyocd" %}
```

Specifically, for nitrogen board, allow to customize flash and boot cmds  by
introducing pyocd_options to pyocd parameters. Defaults remain the same as
before.

## uuu

New option is now supported, ```uuu_power_off_before_corrupt_boot_media```
which will power down the device before the power up.

# API

## REST API

Test definition validation is now part of the LAVA REST API v2.

# LAVA server

## Scheduler UI

Add maintenance column to scheduler index view.

# LAVA dispatcher

## lava_test_shell

```ip``` command is now supported in lava test shell as in some yocto releases
there is no /sbin/ifconfig but rather only /sbin/ip.

# Docker

## test docker action

When waiting for docker shell prompt, check it didn't die if there's some error
in docker command line.

Allow to add arbitrary docker options through the device type. Example:

```yaml
actions:
  deploy:
    ...
  boot:
    methods:
      pyocd:
        ...
  test:
    methods:
      docker:
        global_options:
        - --debug
        options:
        - --privileged
        - --mount=type=bind,source=/dev/disk/by-id,destination=/dev/disk/by-id
        - --mount=type=bind,source=/dev/serial/by-id,destination=/dev/serial/by-id
        - {{ docker_shell_extra_arguments }}
```

## LAVA docker

debian:bullseye-slim is now used as base image.

# LXC

## lxc-mocker

Added support to use overlay for LXC rootfs. In order to provide support of
running multiple jobs at the same time in LXC mocker use a overlay filesystem
to create a unique rootfs per LXC. This functionality can be activated using
LXC_MOCKER_USE_OVERLAY env variable which is disabled by default.

# Bug fixes

* Fix the documentation for "django migrations" setup command.
* Fix environment warnings during debian package upgrade
* Fix file permissions for jh7100-beaglev-starlight.jinja2 and
stm32mp157c-lxa-mc1.jinja2
* docs: fix dead link for XMLRPC methods
* pycocd: fix crash if pre_os_command is not defined
* kernel messages: fix order of messages
* scheduler_app: always select related submitter of current_job
* qemu: Don't disable the vland block in qemu
* qemu: lava_test_results_dir is now used as a mountpoint for guestfs
* debian: depends on uglifyjs instead of node-uglify
* schema: fix docker.network_from type
* download: fix crash when content-length == 0
* lava_rest_app: lock the job when calling cancel inside a transaction
* XMLRPC: fix TOCTOU crash
* docker: set dokerfile version to 1.2
* Job error: Failed to erase old recovery image is now and Infrastructure error


Best regards,
-- 
Stevan Radaković | LAVA Senior Engineer
Linaro.org <www.linaro.org> │ Open source software for ARM SoCs