Hi folks,
The 2022.01.2 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
This release is reverting the "Balance job scheduling between submitters"
feature. In fact on large instances with large queue, this feature is
making scheduling way slower.
The feature will be reworked and reintroduced in a later release when the
performance issue has been fixed.
Rgds
--
Rémi Duraffort
TuxArchitect
Linaro
Hi folks,
The 2022.01.1 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:
* acer-cb317-1h-c3z6-dedede
* dell-latitude-5400-4305U-sarien (split from dell-latitude-5400-sarien)
* fsl-ls1046a-frwy
* fsl-ls2088a-rdb
* fsl-lx2162a-qds
* hp-x360-12b-ca0500na-n4000-octopus
* lenovo-TPad-C13-Yoga-zork
* rk3399-rock-pi-4b
* seco-b68
*
## fsl-l*-rdb
Allow to boot from an alternate bank. In order to use this feature, set
`uboot_altbank` to `True` in the job context:
```yaml
context:
uboot_altbank: true
```
Admins should set `uboot_altbank_cmd` in the device-type template.
# lava-dispatcher-host
Add support for docker device sharing under cgroups v2.
Under cgroups v2, device access control is done with BPF programs only.
When docker creates a container, it already attaches a BPF program to that
container cgroup. lava-dispather-host replaces that BPF program with one of
its own, that allows the regular list of devices containers can usually
access (`/dev/null`, `/dev/zero`, ...), plus all the devices shared with
the container. Subsequent device sharing with the same container overrides
that BPF program with a new one
# Scheduler
## Balance job scheduling between submitters
This patch is intended to prevent submitter starvation when jobs have the
same priority and single submitter sends a large batch of jobs.
It is implemented by determining a number of already running jobs for each
submitter and using it to annotate the jobs submitted to the queue. This
allows reordering the job queue for picking a job from the submitter that
could potentially be starving for an available device. To ensure fairness
in edge cases (equal number of running jobs, single device of given device
type) jobs sharing the same set of attributes are randomised.
## Active workers
Only schedule jobs on active workers. When a worker is in maintenance, no
jobs will be scheduled on the attached devices.
# kexec
Add an option to download the artifacts from deployment action. The job
would look like:
```yaml
- deploy:
to: download
images:
kernel:
url: https://example.com/Image.bin
initrd:
url: https://example.com/rootfs.cpio.gz
compression: gz
- boot:
method: minimal
auto_login:
[...]
prompts:
- "root@localhost:~# "
- boot:
method: kexec
deploy: true
kernel: /boot/Image.bin
initrd: /boot/rootfs.cpio.gz
command: /usr/sbin/kexec
[...]
```
# Overlay
Add support for tar filesystem. This allow to add overlays to nfsrootfs for
the boards that use NFS.
Rgds
--
Rémi Duraffort
LAV A and Tux Architect
Linaro