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
https://hub.lavasoftware.org/
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-sh…)
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.
--
Rémi Duraffort
LAVA Team, Linaro
Hello,
following the release of LAVA 2019.06, we released lavacli v0.9.7
This release brings only one new feature: get/set worker environment
In order to use this feature, you need LAVA >= 2019.06
Then you can:
lavacli workers env get <hostname>
lavacli workers env set <hostname> <env.yaml>
As usual, lavacli could be installed from:
* pypi (https://pypi.org/project/lavacli/)
* debian (https://tracker.debian.org/pkg/lavacli) (coming soon).
Cheers
--
Rémi Duraffort
LAVA Team, Linaro