There is a known bug with QEMU 2.7 which is affecting installations of
LAVA using QEMU from jessie-backports.
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=840853
The problem manifests in the apply-overlay-guest action because QEMU
is unable to process the GuestFS operations due to a missing file
which is in the seabios 1.9 package but not in seabios 1.7 - so V2
QEMU test jobs hang at this point.
If you are using QEMU from jessie (version 1:2.1+dfsg-12+deb8u6) then
there is no problem and nothing needs to be done.
If you are using QEMU from jessie-backports (version
1:2.7+dfsg-3~bpo8+2 currently) then there are two simple remedies.
0: You can find the updated seabios package in the LAVA production
repository. See
https://validation.linaro.org/static/docs/v2/installing_on_debian.html#lava…
If you have the production repository already available, you can
simply apt update and apt upgrade to install the new seabios package.
1: If you are not using aarch64 QEMU tests or the QEMU UEFI support
for LuvOS, then the version of qemu in jessie will work just fine. To
downgrade, specify the version string to apt:
$ sudo apt install qemu-system-x86=1:2.1+dfsg-12+deb8u6
qemu-system-common=1:2.1+dfsg-12+deb8u6
It is also worth downgrading other qemu packages at the same time.
Check your current install with:
$ dpkg -l | grep qemu
The relevant bug has been re-opened and a backport of seabios has been
uploaded. An updated backport of qemu has also been requested which
would require the installation of the backported seabios 1.9. So if
this bug is not troubling you immediately, you can simply wait for
seabios 1.9 to be available in jessie-backports and install it.
--
Neil Williams
=============
neil.williams(a)linaro.org
http://www.linux.codehelp.co.uk/
2016.11 includes a move away from libapache2-mod-uwsgi and
libapache2-mod-wsgi to gunicorn support. This has been done to make it
possible for lava-server and lava-dispatcher to migrate into Stretch
ahead of the Debian 9 Stretch release. (see
https://lists.linaro.org/pipermail/lava-announce/2016-November/000019.html).
This should allow us to upload 2016.11 to jessie-backports in due
course.
See: https://lists.linaro.org/pipermail/lava-announce/2016-October/000017.html
for details of the changes for gunicorn support. In particular, if you
are using apache, before installing this upgrade, ensure that these
commands have been run on the master:
$ sudo a2enmod proxy
$ sudo a2enmod proxy_http
$ sudo service apache2 restart
These commands are safe to run before upgrading to 2016.11 but will
need to be run before 2016.11 will actually run.
This release includes all changes in master since the 2016.9 release.
The release has been uploaded to Debian unstable, it should appear on
the official mirrors shortly. It has also been uploaded to the
production repo.
We are anticipating that there will be an interim release ahead of
2016.12 for additional LXC support, more details will follow via this
list.
lava-server (2016.11-1) unstable; urgency=medium
.
* New production release aimed at Stretch.
Release details available at:
https://projects.linaro.org/browse/LAVA-789?filter=12078
* Drop dependency on libapache2-mod-uwsgi and libapache2-mod-wsgi.
Replaced by dependency on gunicorn.
* Require sphinx 1.4 or later for correct theme support.
* Downgrade linaro-image-tools and fuse to Recommends
* Update compat version.
* Highlights of upstream changes:
Note about removing adb and fastboot packages in LXC admin doc.
LAVA-789 - Document LXC support in V2
LAVA-788 - link to sub_jobs_list from results
Expand user notification documentation.
Move jinja template tests to unittest
Adding target interface entries to juno-uboot.jinja2
Add docs on notifications
Update home page documentation links
Improve documentation on metadata and job_name
Fix up glossary page
Tweak docs handling standard test jobs
Example jobs need auto_login support
Fix missing create_device_database ref
Port the documentation change for essential roles
Tweak the doc build options
Add notes on multiple hacking sessions
Update debugging docs for tmp file changes
LAVA-65 document recording measurements
LAVA-780 stop referring to wheezy images
Avoid crash in master on early failure
Remove beautify.js and fix yaml URL submission.
Update screenshot for cancel button fix
Fix visibility of the Cancel and Admin buttons
Update docs to reinstate web UI submission
Add a helper to add devices from cmd line
Remove old link about LAVA packaging which contains stale information.
LAVA-749 - Add actions column to results pages.
Ensure lava-server-gunicorn restarts cleanly
results: do not crash if the description is empty
Job submission UI for v2.
Add copy to clipboard button for job definition.
Turn all action durations into result measurements
Updating juno-uboot.jinja2
Add a log file for gunicorn logs.
Fix the LAVA logo
Ensure the V2 layout is included on jessie.
bootstrap: do not use the minified CSS
Results: fix HTML syntax
Use sensible default for interrupt string in HiKey jinja.
LAVA-749 - Improve query pages
Fix unit test to have unique test definition names
Add pre_* commands to base.jinja2 that will be applied conditionally.
Remove unused dependendies on lava_dispatcher
Fix a variable redefinition in list comprehension
Update contents and organise toctree
Allow changing the timeouts for auto-login-action
Add documentation on QEMU standard kernel tests
Remove old mention of JSON
master: set the failure_comment
Add a template for highbank using base-uboot
Remove hardcoded values from base
Fix profile page error due to wrong device health history url reference.
metadata: fix a crash if the description is invalid
Cover lava-coordinator in changes for V1 workers
LAVA-522 Link in existing docs on replacing vmgroups
Extend the qemu options docs
Fix index links and debugging doc links
LAVA-735 describe anonymous access to JIRA
qemu.jinja2: use qemu-system-i386 for i386
Extend docs for disabling V1 on a master.
Fix HTTP 500 on query views when a group is used.
LAVA-765 V1 MultiNode sub_id correction
Fix jinja2 syntax issues in base-uboot
Fix sub_id assignment in V2
Improved debugging docs
Add content for growing your lab.
Improve first device and first job pages
Update apache docs for gunicorn
Update hacking sessions and lava-network docs
Enable vland for overdrive
Fix uWSGI configuration file
Add notes on removing V1 from dispatchers
Add a helper to add device types from cmd line
DeviceType admin: fix has_health_check computation
Replace ip=dhcp with {{ base_ip_args }}
timing: add the corresponding timeout
Fix typo in the title of the result download link
Add ip=dhcp for juno with a base default
Fix page to show health history of my devices and not my device type.
Fix error on 'Devices Health History' page in django 1.10
Fix user profile page error in django 1.10
Create a base uboot jinja template
Use Gunicorn instead of uWSGI
wsgi: use the Django public API
index: add the missing title
Mark support for LAVA in Debian testing.
Expand the context schema for extra_options
Add the new LAVA logo to the front page of the V2 docs
Warn if a pipeline device does not have a template
master: don't generate the description
Add nxp-k64f jinja2
Add nrf52-nitrogen jinja2
Add drafts of new logos with SVG.
Extend base timeouts and convert to minutes
Handle inline definitions using only install steps
job details: removed unused template variable
master: don't print too many logs in debug
Fix build errors and simplify index pages
Add support for overdrive device type
Fix bad lookups into the glossary
Switch ASCII art to the existing SVG
Update dispatcher actions
Improve timing warning message
Document the principles of a CI Loop
master: remove the need for the ERROR message
Expand job_details doc string with available keys
Replace 1.10 deprecated get_field_by_name with get_field method.
Add support for extra QEMU options
LAVA-747 - Report parameters as result metadata
Switch from using png to svg for the architecture diagram
Add a page to display the pipeline timings
Expand glossary and add sections on parameters
Add D03 device type to pipeline
Add an introduction to results in LAVA.
Add docs on the standard test jobs
Simplify and clarify the "first install" docs
LAVA-584 - expand for sub-types of device-types
LAVA-706 - codebase structure
Port submission priority support to V2
Adopt a similar contents layout to the django docs
Device dictionary output
Extend qemu jinja template for cortex-m3
Pipeline log: use a better icon for download
Update bootstrap from 3.1.1 to 3.3.7
Fix relative url for suite results
Add nbdroot as optional parameter to the schema
Update qemu/kvm templates to allow overriding of guestfs interface
LAVA-93 mark some roles as essential
lava-dispatcher (2016.11-1) unstable; urgency=medium
.
* New production release aimed at Stretch.
Release details available at:
https://projects.linaro.org/browse/LAVA-789?filter=12078
* Update compat
* Highlights of upstream changes:
Ensure namespace is available to the test shell.
cpio output is not an error
Downgrade message match failure to a warning
Fix up usage of LXC with a device
Only attempt lxc-destroy if the container exists based on exitstatus.
Drop ShellLogger __del__ command
Improve accepts for monitored QEMU
Strategy needs to check methods, not device_type
Support parallel (pbzip2) compressed bzip2 files
Allow vendor U-Boot builds using Ctrl interrupts
Improve cpio extract command line and error message
slave: do not send None as error code
slave: send a SIGINT to lava-dispatch to cancel
Making target IP and MAC addresses available in lava test shell
TestShell: allow multiple test shells
Fix kernel message detection for panic
testdef: remove unused common data
Fix the logic regarding the pipeline building
shell: make testdef_index common data a list
device/target: allow multiple boot control chars
Add 943907AEVAL1F to pyocd deploy supported devices
Check if container exists before destroying.
Do not generate results.yaml
Fix uefi_menu pipeline for fastboot.
slave: move tmp files to /var/
Add device to lxc only when it is available.
device-types: add Amlogic meson8b-odroidc1 board
LAVA-755 - use UUID for guest, not label.
slave: send an error code when err is not empty
Fix git-repos reference in inline test definition.
Allow a different bootloader interrupt character
Make pipeline logging python3 compatible
slave: fix a crash under python3
device-types: add Amlogic meson-gxbb-p200 board
device-types: add TI da850-lcdk
bootloader: add ramdisk_raw option
Detect invalid characters in testdefinition name
Fix timeout inheritance from job definition blocks
Set the right permis when creating the ramdisk dir
ci-run: exclude the .eggs directory
tests: Close the file descriptors
Fix root directory of V2 apache config
LAVA-760 - Trim LXC log output
Require a summary and description to validate
Additional changes for removable media usage
Fix extra_options to always be a list of strings
Do not set kernel type for all 'kernel' YAML keys
Action: re-raised the exception without modification
LAVA-748 ensure test definition names are unique
Change sample jobs urls to images.v.l.o
Allow testdefinitions without run steps
Generate the pipeline description on the slave
slave: fix the END message parameters
Use the QEMU extra options where available
slave: resend the END message if the ack was lost
slave: send the error file along with the END message
Move tmp files to /var/lib/lava/dispatcher/job_id/
Only extract the nfsrootfs once.
Use the uboot interrupt prompt from templates
Improve LXC HiKey support.
Don't end test shell at invalid testcase name
SignalMatch: simplify and fix exception message
Shell: improve report formatting
Shell: factorize handling of measurements
RetryAction: log errors
Shell: factorize signal handling
Move override and log_results functions into Action
Initial support for PyOCD
Use \r\n for newlines
Allow guest drive interface to be specified
allow-modify functionality added
--
Neil Williams
=============
neil.williams(a)linaro.org
http://www.linux.codehelp.co.uk/
The 2016.11 release is currently in final preparation and is targeted
at Debian 9 Stretch. We've tried to get the documentation and support
up to a point where users of Stretch have a usable platform before
later upgrading via stretch-backports.
I expect to get 2016.11 into jessie-backports about 5 days after that release.
A few reminders on how the Debian release process (which starts in
January 2017) will affect things, most of which are the same as during
the jessie release process. More details will be given on this list as
the Debian release process continues.
0: New lava-server and lava-dispatcher uploads to Debian won't migrate
into Stretch once the freeze starts. This means that these will not be
available in jessie-backports either as the presence of the same
version of the package in Stretch is required for an upload to
jessie-backports. I expect to get 2016.11 and 2016.12 into
jessie-backports.
1: Once Stretch is released, stretch-backports will be opened and
uploads to jessie-backports can resume. Debian makes the release when
the release is ready, so there are only estimates of when Stretch will
actually be released. The key information is that the freeze to
prepare the release starts in January 2017.
2: I expect to keep jessie-backports updated at least for the first
few releases. This list will carry more information about when there
may have to be changes in this area. Essentially it depends on
movement within Debian after the Stretch release.
3: During this period, uploads will remain available on
images.validation.linaro.org built for jessie - lava-dispatcher will
only be available for amd64 from those repositories. If you are using
armhf or arm64 for the dispatcher, please let us know. Use the
production-repo to get updates of lava-server and lava-dispatcher
during the Stretch release process until jessie-backports is open
again.
4: At some point after the release, the production-repo will start to
be built on and for Stretch. stretch-backports and jessie-backports
will need to be open before this change is made. More details of that
will appear on this list before it happens.
5: Once Stretch becomes Debian stable, Jessie becomes Debian
oldstable. Debian testing gains a new name: Buster. Get used to the
names.
6: It is worth checking *now* that all your apt sources on all your
machines (including VMs) specify jessie and not stable. Otherwise, as
soon as you do an apt upgrade after the Stretch release, your machine
will start the upgrade from jessie to stretch. Make sure you are ready
for that upgrade and that it doesn't happen until you are ready for
it. Also check the images you use in test jobs and the build tools you
use to prepare those images.
7: We have been building images based on Stretch ahead of the release
for test jobs using QEMU and similar. We have also updated the
documentation in the next release to use stretch images.
8: At some point after the Stretch release, there will come a point
where support for jessie is dropped and uploads to jessie-backports
will cease. The upgrade to stretch will be required at some point to
continue getting updates to LAVA. Prepare for it ahead of time and
everything will go more smoothly. Further details of the timing will
be announced on this list.
9: The LAVA software team have been testing with stretch for some time
and will continue to do so. We do not expect any issues with LAVA
packages when upgrading from jessie to stretch. Nonetheless, all
admins are recommended to prepare for the new Debian release and to
perform the upgrade under their own control. Make sure your other
services will work after those machines upgrade to Debian 9 Stretch.
More information: https://release.debian.org/stretch/freeze_policy.html
--
Neil Williams
=============
neil.williams(a)linaro.org
http://www.linux.codehelp.co.uk/