Hi folks,
The 2019.07 tag has been pushed to master on git.lavasoftware.org. .deb packages have been built in GitLab CI and will be available 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:
* sun50i-h6-orangepi-one-plus (Allwinner) * sun8i-a33-olinuxino (Olimex) * TI CC13X2 LaunchPad (TI)
cmsis-dap ---------
In order to fix some infrequent issues on specific hardware and boards, LAVA will now explicitly perform a sync on the directory before umounting it.
depthcharge -----------
### extra kernel arguments
Admins and users can now both define some extra kernel arguments in device-type templates and in the job context.
Use `base_kernel_args` in device-type templates and `extra_kernel_args` in job definitions.
### LZMA compression
Enable LZMA compression for arm64 kernel Image with Depthcharge.
docker ------
Secondary ssh connection is now supported for the docker device-type. Look at the [documentation]( https://docs.lavasoftware.org/lava/pipeline-writer-secondary.html#secure-she...) for more information.
lxc ---
Under some circumstances, LAVA could leak the lxc rootfs in `/var/lib/lxc/`. LAVA will no longer leak such rootfs.
We advice admins to have a look at `/var/lib/lxc` and to remove unused rootfs as they can use a significant amount of disk space.
OpenOCD -------
Admins can set `board_selection_cmd` in the device-type template to specify a command to pass the board id/serial number to OpenOCD.
See OpenOCD documentation for details on the command to set the serial number for the interface your device type is using.
Docker ======
Dockerfiles -----------
The repository [lava/pkg/docker]( https://git.lavasoftware.org/lava/pkg/docker), hosting the Dockerfiles has been merged into the [lava/lava](https://git.lavasoftware.org/lava/lava) repository.
This merge will allow (in a near future) to build the docker images from sources.
entrypoint.d ------------
When starting `lava-server` or `lava-dispatcher` docker images, admin can execute custom scripts by adding them into `/root/entrypoint.d/` The scripts will be executed right before the start of the services.
In this release the support for custom script has been fixed.
performances ------------
When running gunicorn in docker container, the service will now use `/dev/shm` for storing heartbeat artifacts.
By default, gunicorn will use /tmp which is not mounted in docker containers. `/dev/shm` is guaranteed to be available and an in-memory filesystem.
Using a non-memory file system can lead to intermittent hang.
See [gunicorn in docker]( https://pythonspeed.com/articles/gunicorn-in-docker/) for more information.
permissions -----------
When starting `lava-logs` or `lava-server-gunicorn` the entrypoint will now check that the files under `/etc/lava-server/dispatcher-config/` and `/var/lib/lava-server/default/media/` belong to the `lavaserver` user and group. The docker container will refuse to start if that's not the case as this can lead to crashes or strange behaviors.
lava-publisher ==============
The lava-publisher sockets will now automatically send ping messages thanks to the [ZMTP protocol](https://rfc.zeromq.org/spec:37/ZMTP/). If the connection is lost, the [heartbeating protocol]( https://rfc.zeromq.org/spec:37/ZMTP/#connection-heartbeating) will detect the issue and try to reconnect.
Error reporting ===============
In order to track crashes of the LAVA services, admins can setup [sentry]( https://sentry.io) in `/etc/lava-server/settings.conf`:
```json "SENTRY_DSN": "http://<public_key>@<sentry>/<project-id>" ```
You should also install `sentry-sdk` from [pypi]( https://pypi.org/project/sentry-sdk/) with:
```shell apt-get install python3-pip python3 -m pip install sentry-sdk==0.10.2 ```
The lava-server docker image comes with the sentry sdk already installed.
Rémi, for the LAVA team.
lava-announce@lists.lavasoftware.org