There are delays getting packages into stretch-backports, as expected.
In the meantime, this is a reminder of how to use backports: first
start with stable.
So when installing LAVA on Stretch, even if what you want is the
latest release from production-repo or staging-repo (currently
2017.7), then your first step is to install 2016.12 from Stretch.
# apt -y install lava-server
# apt -y install vim
# wget http://images.validation.linaro.org/production-repo/production-repo.key.asc
# apt-key add production-repo.key.asc
# vim /etc/apt/sources.list.d/lava.list
# # edit the file to specify: deb
Yes, that is jessie-backports - we don't have packages in
stretch-backports at this time.
# apt update
# apt upgrade
If you specify backports too early, you'll get a range of other
packages from backports - you don't actually need jessie-backports or
stretch-backports from Debian at this time.
Packages for jessie-backports are built on jessie. Packages for
stretch-backports are built on stretch. It's the same source code in
each case. Right now, there aren't any problems with installing from
jessie-backports on stretch - particularly if you install lava-server
from stretch in the first place so that the majority of your packages
come from stretch.
During testing, we've seen that upgrades to Stretch from Jessie can
have an issue if UWSGI is still left from a previous installation:
apache2: Syntax error on line 146 of /etc/apache2/apache2.conf: Could
not open configuration file /etc/apache2/mods-enabled/uwsgi.load: No
such file or directory
Action 'restart' failed.
The Apache error log may have more information.
dpkg: error processing package lava-server (--install):
subprocess installed post-installation script returned error exit status 1
Setting up lava-server-doc (2017.7-1~bpo9+1) ...
Setting up lava-dev (2017.7-1~bpo9+1) ...
Processing triggers for systemd (232-25) ...
Processing triggers for man-db (184.108.40.206-2) ...
Errors were encountered while processing:
The problem is because of a bug in the uwsgi packages. The uwsgi
module is not cleanly removed from apache. Run this command to fix:
$ sudo a2dismod uwsgi
Then complete the install:
$ sudo apt-get -f install
Fresh Stretch installs should not be affected as 2016.12 in Stretch
does not use uwsgi.
The 2017.7 release is available from the lava-repositories for
jessie-backports and has been uploaded to Debian unstable. Support for
stretch-backports is pending. (The production-repo/jessie-backports
can be used in the meantime.)
This release has been uploaded to Debian unstable. The period after a
Debian stable release is turbulent in unstable and the LAVA packages
may not migrate into buster (testing) smoothly which will delay
uploads to the official backports archive (for jessie backports and
To update jessie-backports, the upload will need to be the version
from buster, rebuilt for jessie and sent to jessie-backports-sloppy.
Once that is done, I'll post again to the this list about how that
becomes available to admins running Jessie systems.
Jessie continues to be the preferred release for LAVA until such time
as we've done more testing on Stretch. We don't anticipate any
problems with lava-server or lava-dispatcher on Stretch as this has
been tested frequently. However, third party packages and scripts
still need testing with real instances using Stretch.
V1 support in buster
Some unit tests in the V1 support have had to be disabled due to bug
fixes in django 1.11 LTS in buster and sid affecting the atomic
transaction handling. The remote worker design in V1 has always had
issues with atomicity and these unit tests have failed intermittently
for a while. This is one of the many reasons to drive all instances to
V2. These tests are now failing consistently with 1.11, so have been
disabled if django 1.11 or newer is detected.
V1 is no longer run on any of our development instances (running
buster or sid), only in production instances (running jessie) which
are in preparation for the migration. We can only assume that the
failure of the unit tests would make V1 unreliable on buster or sid.
However, with the pending removal of V1, there will not be any fixes
for any problems discovered when using V1 with django 1.11 or newer.
LDAP support in buster and sid
python-django-auth-ldap has changed dependencies, from python-ldap to
python-pyldap. When upgrading python-django-auth-ldap, python-ldap
will be removed and python-pyldap installed.
Instances *must* restart the lava-server-gunicorn service after this
change or users will experience HTTP 500 errors.
lava-server manage check --deploy
This release adds some checks to the django system checks. When admins
update health checks or device-type templates, it is worth running the
deployment check which does a quick sanity check on the instance. This
can help to spot invalid health check submissions amongst other
Note that on development instances, some issues will always be
reported - e.g. when Debug is set to True for django using
Also, for developers, some of the improved security features in django
may get in the way of signing in to http://localhost by enforcing
requirements for https:// which is unusual on localhost.
Check the django documentation - to enable localhost, you may need to
disable at least these security defaults by adding to
As a result of these changes, installing 2017.7 can generate a prompt
to update /etc/lava-server/settings.conf. In general, keep your
existing configuration but look at the differences and migrate the
changes across. Remember to restart lava-server, lava-master and
lava-server-gunicorn services whenever /etc/lava-server/settings.conf
There won't be a full 2017.8 production release of lava-server or
lava-dispatcher as a number of the team are away at the annual Debian
conference, DebConf17 in Montreal.
If you are going to be there, let us know.
a9390fc9a Remove debug hacking session from doc examples
13edd8f12 Skip certain V1 unit tests on django 1.11 and later
0577447fc Update query script for python3 and to output CSV
0b3b0beb7 device-type: addresses fix for armada-3720-espressobin
ed1e402e5 device-type: addresses fix for armada-3720-db
c382a5aa0 device-type: fix at91sam9m10g45ek
54a3b7a46 Apply change for distinct test case links to all results
1824a18fb Adding uefi-menu tftp method
71aac817e LAVA-363 - set the scheme in api/help from settings
2c840debc base-uboot.jinja2: don't load DTB if append_dtb is set
1b13a0e3e Fix extra keyword in api/help view
2882529bc Provide an example script for using queries
7f4cfe569 logs: continue to poll the log when canceling
25eaab176 XMLRPC: add offline_info argument to list endpoint
38f7570e3 XMLRPC: fix inconsistency between code and doc
8c134839d LAVA-972 test case should use ID in URL.
99725606c Remove references to OpenID and Crowd
95b959602 XMLRPC: add a function to download job definition
ebf80c266 XMLRPC: fix crash when device.worker_host is None
b1ec14c89 LAVA-861 separate base-fastboot.jinja2 template
c4fd79d57 Remove unused file
7c066195a Remove deprecated django configuration
520ac8778 XMLRPC: remove unused function
3b8ab7d61 XMLRPC: do not raise an error when canceling twice
cce1bdea6 XMLRPC: allow to force health check for a device
218408db6 Handle the new log level called "input"
b49d9fb96 Adding uefi parameters for vexpress
4a52ba861 Allow overriding django system check values from settings as
d2067a5f3 LAVA-987 fix log parsing
bbc39489c results_app: API: add the 'run_query' function
8746edb6b results_app: API: add the 'make_custom_query' function
4fd429ac2 Add note on apache2 for V2-only workers
641e61dcb Explain the handling of measurements and Decimal
bf8f53bf5 Count going offline as busy in overview table
06febd188 Expand on essential roles, results and sync
815d41b52 Tighten advice on prompt strings in docs
351f6fe41 Add documentation for login_commands in auto_login
5a7d4be95 Avoid warning for health checks of retired devices.
5713f5295 Document transfer_overlay deployment differences
8f04c6097 Fix typo in multinode api documentation.
fe2093994 device-types: add meson-gxl-s905x-khadas-vim
853ee80e3 Move action fields templates to table files.
12de946eb Allow bare except and override pep8
dd4faacaf Enforce schema rules for metadata
352049204 Add missing check for null key|value in metadata
b77731b31 device-types: rcar-gen3-common: handle bigger kernels
d2acb94a5 LAVA-983 - Helper for DeviceStateTransition
b4208116c LAVA-980 - Fix django deployment warnings
778fd4a8b Fix link to glossary term
af85e5225 LAVA 931 - documentation.
212e98a3a LAVA-976 Use the Django system check framework
e9c7ad477 Adding commands for booting whatever the precanned defaults are
f78c58811 Added device type for Cavium ThunderX
d8dabe63 Switch the print to a test in unit test
d1e22b67 Revert "Replace invalid characters in test_case_id."
b3b4f5ac Update the example to a working test job with prompts.
504ec2bc LAVA-777 last log line should be lava.job result
ad55acb9 Ensure overlay unpacking is clearly logged
2e7c9598 Add pipeline_ref update for test skipped by lavabot
ed936cd3 Simplify the power control actions
78dcc1b0 Fix dispatcher configuration
89880ce1 LAVA-96 Check for errors if a tftp file exceeds 4G
6fd2702e LAVA-989 add extra logging for actions
df86ed30 LAVA-990 add logging for VLANd + MultiNode support
bbfb1817 Stop the unit test outputting noise
c7839a98 Add a new log level for the DUT inputs
2502b8af Destroy LXC containers properly.
957734cf Add a unit test for Vland actions
68468abe Handle a bad url cleanly.
713d4e6e LAVA-645 - summarise slave logging
96a5effe Do not raise exceptions in validate
f45106fb Catch errors in testdef from handler cleanly
f34f41e2 LAVA-984 - LXC protocol timeout to report job result
e31722b5 Allow ci-run with updated pep8
175d8e84 LAVA-931 - MultiNode lava-sync should report results
fd944543 EOF in a test shell is an InfrastructureError
429691d9 Support power control for CMSIS devices
049c0227 lava-slave: add the right configuration for the host
1e92bf38 lxc: improve error message
b2f25cf0 Add support for booting from UEFI shell
67a1e1c6 ramdisk: only pass to bootx if has u-boot header
f4a4abd9 LAVA-967: check namespaces usage