2018.5.post1
============
During routine development, a new security scanning tool (bandit) was used
on the LAVA codebase. Three security problems were found relating to the
Job Submit UI and the loading of YAML files through XMLRPC. The problems
date back to 2013, possibly earlier, so all releases of LAVA are affected.
Fixes were developed and have now been released.
https://review.linaro.org/#/c/25917/ Remove the ability to paste
URLs in the submit page
https://review.linaro.org/25918 Use requests instead of urlopen
https://review.linaro.org/25919 Use yaml.safe_load when parsing
user data
Thanks to Remi Duraffort for identifying and fixing the issues.
Note: These changes are not trivial to backport to previous releases. It
is possible but some familiarity with the codebase will be required. We
have packed a lot of changes into the time since the end of the migration
and we are hoping to have a more stable time ahead. The LAVA software team
recommend that all instances look to upgrade to 2018.5.post1. Our apologies
for these problems.
We are NOT aware of any exploits using these issues but now that the
problems are public, it is prudent to apply the available fixes before
anything happens.
We expect to make more use of bandit and similar tools in future.
CVE's have been requested but we don't have the CVE numbers back at this
time.
The production repo now carries these changes as 2018.5.post1-1+stretch
An upload to Debian unstable will follow in due course. (The Debian
security team were notified once we had a fix.) An upload to Debian
Stretch to update 2016.12-1 is being prepared.
--
Neil Williams
=============
neil.williams(a)linaro.org
http://www.linux.codehelp.co.uk/
This is the first full release from the combined source tree.
The expected direction of the LAVA codebase is to add more devices and the
work of device integration is and has always been difficult. Merging the
codebase removes an unnecessary hurdle in integrating new devices and
smoothes the process of ensuring that existing integrations are maintained
by generating dispatcher test files directly from the server templates.
(This has been a problem in previous releases - static device configuration
files in lava_dispatcher unit tests hid problems arising from changes to
the templates in lava_scheduler_app. The unit tests are now more
representative of real test job processing.) As a validation framework, our
own unit test and CI support is a key technical component.
lava_scheduler_app and lava_dispatcher modules will remain tightly
integrated, using ZMQ to allow for physical separation. Combining the tree
also makes it easier to update the documentation each time a new device is
integrated.
The new lava-common binary package allows lava-server to be installed
without needing lava-dispatcher - this will reduce the number of
dependencies required on instances with multiple workers where there are no
devices attached to the master. The default remains to install
lava-dispatcher alongside lava-server - use the --no-install-recommends
option, as per the updated documentation.
There are changes required in Debian for this release and those will take
some time. See https://ftp-master.debian.org/new.html and
https://ftp-master.debian.org/new/lava_2018.5-1.html (It is not necessary
for every package in that queue to be processed before the LAVA upload is
processed, some packages are held back for specific reasons.) Once the LAVA
upload clears NEW, the old lava-dispatcher and lava-server source packages
will be removed from Debian.
One key advantage of this change within Debian is that all lava packages
will migrate together - this will prevent a recurrence of the recent
problem when lava-dispatcher was delayed arriving in backports but
lava-server was accepted, causing installation failures.
Both lava-server and lava-dispatcher binary packages depend on the same
version of lava-common. When upgrading, lava-common should be added
automatically. If not, use dist-upgrade or list the packages explicitly to
let apt add the new package.
e.g.
$ sudo apt upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following NEW packages will be installed:
lava-common
The following packages will be upgraded:
lava-dev lava-dispatcher libprocps6 procps
Once lava-common is installed, if a master has no devices attached, admins
can choose to remove lava-dispatcher and the extra dependencies can also be
removed. *Check the list of packages to be removed on each instance* for
packages required by other tools on the master, e.g. local admin scripts
and similar.
$ sudo apt update
$ sudo apt upgrade
or to list packages explicitly:
# master with devices (may also have workers):
$ sudo apt update
$ sudo apt install lava-server lava-dispatcher
# or for workers:
$ sudo apt install lava-dispatcher
# or for master without devices:
$ sudo apt install lava-server
$ sudo apt remove lava-dispatcher
$ sudo apt-get --purge autoremove
lava changes
============
4a4bde2a1 LAVA-999 Export master and logger config
6f50e1145 LAVA-1315 add option to update existing users
ff8d9f882 Update device-types to match my lab config
809ae34ea Use InfrastructureError for uefi menu timeout
e52d83dc6 Stop the Overlay tests duplicating the base class
099f19599 LAVA-1310 separate the template unit tests
198283abb Drop Python2 xmlrpc support
13fa6bdef Fix support for scheduler.jobs.definition
a40fe8664 Fix query results export to CSV.
b18e74ca9 Create lava_common for Timeout and Exceptions
ece1a46d4 Generate device configuration from templates
e2d0f4b36 LAVA-1324 QEMU usage of KVM accelerator
59e0ab091 Extend timeouts in example test jobs
4269cc55a Merge branch 'master' into coordinator
7f49853f0 Complete fastboot sequence cannot be governed in device
dictionary.
50d69d971 Update instructions for merged codebase
e2de099f4 LAVA-1316 Instant scheduling
edd48e0b1 signals: always add health_check field
1bbaec1e2 Allow to create health-check directly
e0cddeb5e Create admin log entries when looping
2489bcbc8 Add auto-login to fastboot sequence of hi6220 device types.
13a4b5923 Drop debug line to update pipeline_reference
da933a151 Add support for optionally running using pytest-3
51c81f659 Test decompression during download streams
3d2541d00 docker: always run with --rm
1cdd275aa Fix ResetDevice comment to match what it actually does.
db2775001 Allow to sleep after the usb serial appeared
391595bcc LAVA-1309 - pre-* commands should be called with minus-lxc
d524354f7 Add an helper to list all keys of an action namespace
9bfe50d84 Expand command lists in device dictionaries
0ff09a569 LAVA-1173 - allow for matching parents of nodes
3b5f47bf7 Make device_info validate errors unique
dad039adb Allow for multiple udev rules in a single file
80ca5346a LAVA-1203 - Allow multiple callback URLs in notify action
120181cb6 ci-run should stop on first error
bed5fcb20 Allow dispatcher unit tests to generate device config
a3cc054f3 Implementation of recovery mode deploy and boot
47b184796 Print the url when validating file:// download
8d1ffad00 dispatcher: raise a TestError for invalid regexp
fb39a9da8 Factorize compatiblity code
4511d4de6 monitor: log the start message
c18752652 Fix broken unit test
84769209a Exclude Retired devices from invalid_template check
534f1a9b8 LAVA-1300 - fail if static devices cannot be found
235f17d35 Add the end time to the Recent job errors table
e18d27c5a Update templates for changes from Harston lab
fa0d9125f Update second UART example jobs
600fc7b4e ci-run: Remove some of the unused args and clean it up for jenkins
36fee805b Revert "Remove unused and obsolete requirements.txt"
2e051cb6d Remove any generated top level init.py
2060d7851 LAVA-1298 fix references to old repositories
1978274d1 Treat kernel panics as a job failure
d920b7825 Remove unused and obsolete requirements.txt
ed9039e87 LAVA-1297 - Incorporate changes to run jobs without LXC
fabd4a44f Port to python3 and fix prospector warning
e98737c55 LAVA-1286 Raise JobError if 'params' is not a dict
5af7a7f74 compression: do not use shell=True
a4e1ac09b device-types: add meson-gxbb-nanopi-k2
2e84699d8 Port classes to python3 only
6a02322a1 device-types: add meson-gxl-s905x-libretech-cc
968873081 publisher: do not duplicate logs
05d119426 Send the wait-all role reply
80a912d7e Add a ./ci-run script
02a83fed4 Fix waitall with a role support
33644d89e Port to new daemon support with systemd service
a1d9f99e3 Explicitly allow wait-all to occur before send
8b2e3feb0 Add a status check script
a4cfb1b90 LAVA-489 Python3 support
1c570a0f8 add the gitreview file for lava-coordinator
210e4b7cf bump version
--
Neil Williams
=============
neil.williams(a)linaro.org
http://www.linux.codehelp.co.uk/
On 24 April 2018 at 14:09, Zoran S <zoran.stojsavljevic.de(a)gmail.com> wrote:
> > Sorry, but this was only a notification of a decision already taken and
> implemented by
> > the development team. The change itself was not and is not up for
> discussion on this list.
>
> Sorry to be (brutal) honest with you and Linaro. ;-)
>
> I (sincerely) expect in The Future you/Linaro will be MUCH (much) more
> serious with some responsibilities to this list, and to your/Linaro
> Lava architecture?
>
This is a user list. It is not a development list.
I remain unconvinced that you, personally, understand the LAVA architecture
and design let alone our aims and objectives.
>
> Or... I expect out there that will be some more serious
> people/companies with some more serious testing environment. I hope
> for this to happen (competition is All Good, don't you think)! ;-)
>
> Do we have agreement here (I truly hope so)?! :-)
>
Not really.
LAVA is absolutely serious about automation validation. I disagree with all
the rest of your assumptions.
>
> Zoran Stojsavljevic
>
> On Tue, Apr 24, 2018 at 10:02 AM, Neil Williams
> <neil.williams(a)linaro.org> wrote:
> > On 24 April 2018 at 08:21, Zoran S <zoran.stojsavljevic.de(a)gmail.com>
> wrote:
> >>
> >> > Not true. The master produces the configuration which is fed to the
> >> > dispatcher - the two are very directly tied
> >> > at the level of what devices can support and how that support is used
> by
> >> > test jobs. Changes and fixes in the
> >> > device-type templates will change how the dispatcher uses the code
> >> > support to control the device.
> >>
> >> With all due respect, Sir, I would not agree/would disagree to by
> >> your/Linaro's currently presented architecture.
> >
> >
> > Sorry, but this was only a notification of a decision already taken and
> > implemented by the development team. The change itself was not and is
> not up
> > for discussion on this list.
> >
> >>
> >> On Mon, Apr 23, 2018 at 4:06 PM, Neil Williams <
> neil.williams(a)linaro.org>
> >> wrote:
> >> > On 23 April 2018 at 14:54, Zoran S <zoran.stojsavljevic.de(a)gmail.com>
> >> > wrote:
> >> >>
> >> >> > lava-server and lava-dispatcher have been merged into a single
> source
> >> >> > repository - lava
> >> >>
> >> >> If you ask me, this is the (very) questionable decision. Indeed!?
> >> >>
> >> >> lava-server is the front-end manager of the whole Lava test
> >> >> environment, while lava-dispatcher is the back-end.
> Connected/splitted
> >> >> by ZMQ protocol. And... They should be separately maintained
> >> >
> >> >
> >> > Not true. The master produces the configuration which is fed to the
> >> > dispatcher - the two are very directly tied at the level of what
> devices
> >> > can
> >> > support and how that support is used by test jobs. Changes and fixes
> in
> >> > the
> >> > device-type templates will change how the dispatcher uses the code
> >> > support
> >> > to control the device. The two have always been maintained by the same
> >> > team
> >> > and in a tightly integrated manner.
> >> >
> >> >>
> >> >> , since
> >> >> they represent (very) different things. Essentially, they do (very)
> >> >> different tasks. They are, after all, apples and oranges.
> >> >
> >> >
> >> > The bulk of the expected work from here on is Device Integrations.
> Each
> >> > new
> >> > device integration typically involves changes to the dispatcher to
> >> > support
> >> > new deployment / boot methods as well as new templates for the device
> >> > configuration. Combining the codebase allows those changes to be more
> >> > easily
> >> > verified because the output of the device configuration templates can
> be
> >> > fed
> >> > directly to the lava-dispatcher code changes in the dispatcher unit
> >> > tests.
> >> >
> >> > Previously, this has resulted in static device configuration files in
> >> > the
> >> > dispatcher unit tests and that has caused problems.
> >> >
> >> >>
> >> >>
> >> >> In other words, if you update/buy advanced/more expensive apples, you
> >> >> also force testers to update for nuthin'/buy for the loss the same
> >> >> oranges, they had before?!
> >> >
> >> >
> >> > Not true. the packages are built from a single source package. That
> does
> >> > not
> >> > mean that the binary packages need to be updated on the actual
> >> > instances.
> >> >
> >> > Up until now, lava-server has always depended on the latest version of
> >> > lava-dispatcher. That specific dependency is being removed as part of
> >> > this
> >> > change.
> >> >
> >> > Nevertheless, the principle remains that the lava-master and
> lava-slave
> >> > should be updated together so that the device configuration is in line
> >> > with
> >> > the dispatcher support. See compatibility settings in the
> documentation.
> >> >
> >> > https://lava.codehelp.co.uk/static/docs/v2/simple-admin.html#index-5
> >> >
> >> >
> >> >
> >> >>
> >> >>
> >> >> Is it the wise decision???
> >> >>
> >> >> Two cents worth lamenting/analysis,
> >> >> Zoran
> >> >> _______
> >> >>
> >> >> On Thu, Apr 19, 2018 at 3:41 PM, Neil Williams
> >> >> <neil.williams(a)linaro.org>
> >> >> wrote:
> >> >> > This is for particular note for developers as it changes the way
> that
> >> >> > reviews happen.
> >> >> >
> >> >> > If you've noticed a few reviews being abandoned, this is why.
> >> >> >
> >> >> > lava-server and lava-dispatcher have been merged into a single
> source
> >> >> > repository - lava
> >> >> >
> >> >> > lava-coordinator will follow in time, to ease the update of
> >> >> > lava-coordinator
> >> >> > to Python3.
> >> >> >
> >> >> > This will, in future, allow easier testing of device integrations
> by
> >> >> > allowing the lava_scheduler_app unit tests to be linked to the
> >> >> > lava_dispatcher unit tests and have a single review which adds both
> >> >> > sides of
> >> >> > the device support.
> >> >> >
> >> >> > There will be a lot of testing, as normal, so staging will be
> moving
> >> >> > to
> >> >> > packages built from the new source repository tree.
> >> >> >
> >> >> > The old lava-server.git and lava-dispatcher,git repositories will
> >> >> > become
> >> >> > read-only and will get no further code changes. All changes will be
> >> >> > done
> >> >> > in
> >> >> > lava.git
> >> >> >
> >> >> > https://git.linaro.org/lava/lava.git/
> >> >> >
> >> >> > The documentation will be updated over the next few days.
> >> >> >
> >> >> > --
> >> >> >
> >> >> > Neil Williams
> >> >> > =============
> >> >> > neil.williams(a)linaro.org
> >> >> > http://www.linux.codehelp.co.uk/
> >> >> >
> >> >> > _______________________________________________
> >> >> > Lava-announce mailing list
> >> >> > Lava-announce(a)lists.linaro.org
> >> >> > https://lists.linaro.org/mailman/listinfo/lava-announce
> >> >> >
> >> >> _______________________________________________
> >> >> Lava-users mailing list
> >> >> Lava-users(a)lists.linaro.org
> >> >> https://lists.linaro.org/mailman/listinfo/lava-users
> >> >
> >> >
> >> >
> >> >
> >> > --
> >> >
> >> > Neil Williams
> >> > =============
> >> > neil.williams(a)linaro.org
> >> > http://www.linux.codehelp.co.uk/
> >
> >
> >
> >
> > --
> >
> > Neil Williams
> > =============
> > neil.williams(a)linaro.org
> > http://www.linux.codehelp.co.uk/
>
--
Neil Williams
=============
neil.williams(a)linaro.org
http://www.linux.codehelp.co.uk/
2018.4.post2 hot fix is now available.
This is the first release built from the combined source tree but the
actual code changes are restricted to fixes for decompression of downloaded
files, specifically .zip and .xz handling.
Python3 only and Stretch only.
Now available from the LAVA repositories, production-repo.
https://staging.validation.linaro.org/static/docs/v2/installing_on_debian.h…
Changes
=======
fe70ac6ca Update version.py for repos with no tags
1f7c5b5f1 Fix typo in 86362f and add debug
11c5ab57e Do not attempt to unzip on the fly
--
Neil Williams
=============
neil.williams(a)linaro.org
http://www.linux.codehelp.co.uk/
On 24 April 2018 at 08:21, Zoran S <zoran.stojsavljevic.de(a)gmail.com> wrote:
> > Not true. The master produces the configuration which is fed to the
> dispatcher - the two are very directly tied
> > at the level of what devices can support and how that support is used by
> test jobs. Changes and fixes in the
> > device-type templates will change how the dispatcher uses the code
> support to control the device.
>
> With all due respect, Sir, I would not agree/would disagree to by
> your/Linaro's currently presented architecture.
Sorry, but this was only a notification of a decision already taken and
implemented by the development team. The change itself was not and is not
up for discussion on this list.
> On Mon, Apr 23, 2018 at 4:06 PM, Neil Williams <neil.williams(a)linaro.org>
> wrote:
> > On 23 April 2018 at 14:54, Zoran S <zoran.stojsavljevic.de(a)gmail.com>
> wrote:
> >>
> >> > lava-server and lava-dispatcher have been merged into a single source
> >> > repository - lava
> >>
> >> If you ask me, this is the (very) questionable decision. Indeed!?
> >>
> >> lava-server is the front-end manager of the whole Lava test
> >> environment, while lava-dispatcher is the back-end. Connected/splitted
> >> by ZMQ protocol. And... They should be separately maintained
> >
> >
> > Not true. The master produces the configuration which is fed to the
> > dispatcher - the two are very directly tied at the level of what devices
> can
> > support and how that support is used by test jobs. Changes and fixes in
> the
> > device-type templates will change how the dispatcher uses the code
> support
> > to control the device. The two have always been maintained by the same
> team
> > and in a tightly integrated manner.
> >
> >>
> >> , since
> >> they represent (very) different things. Essentially, they do (very)
> >> different tasks. They are, after all, apples and oranges.
> >
> >
> > The bulk of the expected work from here on is Device Integrations. Each
> new
> > device integration typically involves changes to the dispatcher to
> support
> > new deployment / boot methods as well as new templates for the device
> > configuration. Combining the codebase allows those changes to be more
> easily
> > verified because the output of the device configuration templates can be
> fed
> > directly to the lava-dispatcher code changes in the dispatcher unit
> tests.
> >
> > Previously, this has resulted in static device configuration files in the
> > dispatcher unit tests and that has caused problems.
> >
> >>
> >>
> >> In other words, if you update/buy advanced/more expensive apples, you
> >> also force testers to update for nuthin'/buy for the loss the same
> >> oranges, they had before?!
> >
> >
> > Not true. the packages are built from a single source package. That does
> not
> > mean that the binary packages need to be updated on the actual instances.
> >
> > Up until now, lava-server has always depended on the latest version of
> > lava-dispatcher. That specific dependency is being removed as part of
> this
> > change.
> >
> > Nevertheless, the principle remains that the lava-master and lava-slave
> > should be updated together so that the device configuration is in line
> with
> > the dispatcher support. See compatibility settings in the documentation.
> >
> > https://lava.codehelp.co.uk/static/docs/v2/simple-admin.html#index-5
> >
> >
> >
> >>
> >>
> >> Is it the wise decision???
> >>
> >> Two cents worth lamenting/analysis,
> >> Zoran
> >> _______
> >>
> >> On Thu, Apr 19, 2018 at 3:41 PM, Neil Williams <
> neil.williams(a)linaro.org>
> >> wrote:
> >> > This is for particular note for developers as it changes the way that
> >> > reviews happen.
> >> >
> >> > If you've noticed a few reviews being abandoned, this is why.
> >> >
> >> > lava-server and lava-dispatcher have been merged into a single source
> >> > repository - lava
> >> >
> >> > lava-coordinator will follow in time, to ease the update of
> >> > lava-coordinator
> >> > to Python3.
> >> >
> >> > This will, in future, allow easier testing of device integrations by
> >> > allowing the lava_scheduler_app unit tests to be linked to the
> >> > lava_dispatcher unit tests and have a single review which adds both
> >> > sides of
> >> > the device support.
> >> >
> >> > There will be a lot of testing, as normal, so staging will be moving
> to
> >> > packages built from the new source repository tree.
> >> >
> >> > The old lava-server.git and lava-dispatcher,git repositories will
> become
> >> > read-only and will get no further code changes. All changes will be
> done
> >> > in
> >> > lava.git
> >> >
> >> > https://git.linaro.org/lava/lava.git/
> >> >
> >> > The documentation will be updated over the next few days.
> >> >
> >> > --
> >> >
> >> > Neil Williams
> >> > =============
> >> > neil.williams(a)linaro.org
> >> > http://www.linux.codehelp.co.uk/
> >> >
> >> > _______________________________________________
> >> > Lava-announce mailing list
> >> > Lava-announce(a)lists.linaro.org
> >> > https://lists.linaro.org/mailman/listinfo/lava-announce
> >> >
> >> _______________________________________________
> >> Lava-users mailing list
> >> Lava-users(a)lists.linaro.org
> >> https://lists.linaro.org/mailman/listinfo/lava-users
> >
> >
> >
> >
> > --
> >
> > Neil Williams
> > =============
> > neil.williams(a)linaro.org
> > http://www.linux.codehelp.co.uk/
>
--
Neil Williams
=============
neil.williams(a)linaro.org
http://www.linux.codehelp.co.uk/
On 23 April 2018 at 14:54, Zoran S <zoran.stojsavljevic.de(a)gmail.com> wrote:
> > lava-server and lava-dispatcher have been merged into a single source
> repository - lava
>
> If you ask me, this is the (very) questionable decision. Indeed!?
>
> lava-server is the front-end manager of the whole Lava test
> environment, while lava-dispatcher is the back-end. Connected/splitted
> by ZMQ protocol. And... They should be separately maintained
Not true. The master produces the configuration which is fed to the
dispatcher - the two are very directly tied at the level of what devices
can support and how that support is used by test jobs. Changes and fixes in
the device-type templates will change how the dispatcher uses the code
support to control the device. The two have always been maintained by the
same team and in a tightly integrated manner.
> , since
> they represent (very) different things. Essentially, they do (very)
> different tasks. They are, after all, apples and oranges.
>
The bulk of the expected work from here on is Device Integrations. Each new
device integration typically involves changes to the dispatcher to support
new deployment / boot methods as well as new templates for the device
configuration. Combining the codebase allows those changes to be more
easily verified because the output of the device configuration templates
can be fed directly to the lava-dispatcher code changes in the dispatcher
unit tests.
Previously, this has resulted in static device configuration files in the
dispatcher unit tests and that has caused problems.
>
> In other words, if you update/buy advanced/more expensive apples, you
> also force testers to update for nuthin'/buy for the loss the same
> oranges, they had before?!
>
Not true. the packages are built from a single source package. That does
not mean that the binary packages need to be updated on the actual
instances.
Up until now, lava-server has always depended on the latest version of
lava-dispatcher. That specific dependency is being removed as part of this
change.
Nevertheless, the principle remains that the lava-master and lava-slave
should be updated together so that the device configuration is in line with
the dispatcher support. See compatibility settings in the documentation.
https://lava.codehelp.co.uk/static/docs/v2/simple-admin.html#index-5
>
> Is it the wise decision???
>
> Two cents worth lamenting/analysis,
> Zoran
> _______
>
> On Thu, Apr 19, 2018 at 3:41 PM, Neil Williams <neil.williams(a)linaro.org>
> wrote:
> > This is for particular note for developers as it changes the way that
> > reviews happen.
> >
> > If you've noticed a few reviews being abandoned, this is why.
> >
> > lava-server and lava-dispatcher have been merged into a single source
> > repository - lava
> >
> > lava-coordinator will follow in time, to ease the update of
> lava-coordinator
> > to Python3.
> >
> > This will, in future, allow easier testing of device integrations by
> > allowing the lava_scheduler_app unit tests to be linked to the
> > lava_dispatcher unit tests and have a single review which adds both
> sides of
> > the device support.
> >
> > There will be a lot of testing, as normal, so staging will be moving to
> > packages built from the new source repository tree.
> >
> > The old lava-server.git and lava-dispatcher,git repositories will become
> > read-only and will get no further code changes. All changes will be done
> in
> > lava.git
> >
> > https://git.linaro.org/lava/lava.git/
> >
> > The documentation will be updated over the next few days.
> >
> > --
> >
> > Neil Williams
> > =============
> > neil.williams(a)linaro.org
> > http://www.linux.codehelp.co.uk/
> >
> > _______________________________________________
> > Lava-announce mailing list
> > Lava-announce(a)lists.linaro.org
> > https://lists.linaro.org/mailman/listinfo/lava-announce
> >
> _______________________________________________
> Lava-users mailing list
> Lava-users(a)lists.linaro.org
> https://lists.linaro.org/mailman/listinfo/lava-users
>
--
Neil Williams
=============
neil.williams(a)linaro.org
http://www.linux.codehelp.co.uk/
This is for particular note for developers as it changes the way that
reviews happen.
If you've noticed a few reviews being abandoned, this is why.
lava-server and lava-dispatcher have been merged into a single source
repository - lava
lava-coordinator will follow in time, to ease the update of
lava-coordinator to Python3.
This will, in future, allow easier testing of device integrations by
allowing the lava_scheduler_app unit tests to be linked to the
lava_dispatcher unit tests and have a single review which adds both sides
of the device support.
There will be a lot of testing, as normal, so staging will be moving to
packages built from the new source repository tree.
The old lava-server.git and lava-dispatcher,git repositories will become
read-only and will get no further code changes. All changes will be done in
lava.git
https://git.linaro.org/lava/lava.git/
The documentation will be updated over the next few days.
--
Neil Williams
=============
neil.williams(a)linaro.org
http://www.linux.codehelp.co.uk/
The 2018.4 release has been uploaded to Debian unstable. It should also be
possible to upload to Stretch-backports in about a week from now, depending
on internal processes in Debian.
The release is also available from the LAVA repositories - production-repo
Dropping Python2
================
2018.4 is the first release exclusively using Python3. Upgrading from
releases prior to 2018.2 will bring in a range of Python3 packages. After
installation of 2018.4, a number of Python2 packages are available for
removal, if administrators desire.
See also: https://lists.linaro.org/pipermail/lava-announce/
2018-April/000050.html
lava-tool still uses Python2 - we are working on lavacli as a Python3
replacement. lavacli has also been updated to 0.8-1 in Debian.
lava-server
===========
f60a5328 callback: fix crash in python3
e627f8ec Allow skipping one unit test if kvm not enabled
0208402f job: make the link to the bottom more visible
dd26e4fb Fix default BRANDING_BUG_URL
b2cc847b Adjust bootm addresses for panda
f25548b5 Make snow u-boot prompt more precise
6a209317 Misc beaglebone black fixes
1481ac98 Add note for bug in LXC templates on Stretch
4ed6a2f5 api: fix a crash when a test case is not unique
53c57de9 Fix crash when test case metadata is empty
99c32f4d Fix crash when action_metadata is None
b286b6bd Fix missing import
b708b038 Test user_command and flasher templates
c316e516 Update more scripts to use Python3
4be0dd49 fix sphinx warning in docs
458f470e Improve "lava-server manage check" coverage
30efadeb LAVA-1274 fix javascript exception
31764a52 job: only update if failure_comment isn't empty
24fe81e6 LAVA-1276 - Search functionality broken on staging job list page
938a90d8 Update documentation for Python3 change
d4f64157 Fix deprecation warning from Jinja2 with Python3
1a5c55e8 Add hi6220-hikey-r2 device-type template
13758edc Update development notes for Python3
8f0d5a94 Pass LXC/fastboot parameters to all jobs in split_multinode_yaml
f3d7a8ac Fix API breakage from 2d37b3
2658935c Fix Python2 syntax when creating secret key.
65a30238 Fix Device.CONFIG_PATH for individual unit tests
c5fbfa51 Use suppress from contextlib
60b50af3 Remove unused shebang
c9ff6e9f Fix shebang for python3
494ae3af Fix wrong import
33c5f72f LAVA-1269 - Store checksum of job.original_definition in metadata
f8124a8c Import infrastructure_error from the right module.
60ecef88 Add failure comment and error type to test job notifications.
4e313b45 Fix logic for template check warning
ab65a859 Fix the logic in e1f44097
b0c549bb Fix unicode error in migrations
ec01c5bf Replace "!!python/unicode" in job definitions.
f4386c08 LAVA-1147 Support more than 3 priorities
c169c287 Remove exclusive flag from device dict
d7cba2d1 LAVA-1250 Allow admin to finish a TestJob
3b54f8d2 Preserve comments in job definition display
66cd46bd LAVA-1167 document the 'history' feature
8d835d78 Python3 changes needed for lava-server
73fa8d2e device-types: add sharkl2
48f63bf9 Fix missing conditions variable in custom query manager.
bdb07a21 Fix pep8 errors
70614729 Fix crash when device dict is invalid
b00fde96 Remove jessie specific code
fa0418b7 Improve the Admin query view
7d8d94de Skip refresh of archived queries
926ba5af Use the TestCase job error message as failure comment
e1f44097 Fix invalid_template check
ea3d99ca LAVA-1263 separate vexpress bootloader_prompts
0ef60b0e Add admin link to device pages for superuser
bba64496 Cleanup some doc error messages
91c03b30 Fix multinode sub job definition display.
48bb281e Job resubmission shows Internal Server Error
on incorrect resubmission.
7b2201b5 Cancel subjobs from admin cancel action
aac25876 Fix a grub error message so python can compile it into an RE
3555256f device-types: add sun8i-h2-plus-orangepi-r1
1ae6dda0 device-types: add sun8i-h2-plus-orangepi-zero
f5e95c3a Save the error when the job fails to start
1fbd68fa allow load_devicetype_template to return raw yaml
2667881c dt: alert when the template is invalid or missing
75cf05ee Move infrastructure_error into test.utils
5819a2cd Add banana pi zero device-type config
d8f605c0 Add another possible failure message to grub
e5aca37a LAVA-1129 save job full configuration before start
f54c2acf Make some after installation debug doc more visible.
4bb83a63 Fix 500 when device-type template does not exist
e1371fef juno: allow override of bootloader_prompt
b33a3165 Make the code python3 compatible after 0d1e0a07
d73687c6 LAVA-1253 - CSV export headers are incorrect
14aa6477 Force device hc for ConfigurationError and LAVABug
02011867 Use base-fastboot jinja2 template for mediatek-8173 device type.
606ad8b0 LAVA-1240 - LAVA: add test job name to email notification subject
414edc4d Add the overlay deploy method to all uboot devices
f1c8d9c7 Add the flasher configuration to all uboot devices
fec9dfac settings: simplify and allow setting any variables
f2f6844d LAVA-1247 - Results API make_custom_query not working correctly
1a27b586 Remove unused variables from instance.conf
de0834d6 settings: remove most variables from settings.conf
24646594 settings: remove appname
3f69dd81 Fix lava-server manage addldapuser --username USER
5aebdfce admin: fix view_siet link when using MOUNT_POINT
f784db06 admin: use dynamic urls instead of static ones
0d1e0a07 Fix test for extra results metadata in callback data
356ba428 Move standard ARMMP tests to stretch
227caa82 LAVA-1249 address issues with large pexpect buffers
4bdb5d17 Allow time to drain capacitance
717a3387 Up power off timeout for juno
7a1260d4 Fix bootloader prompt for juno uboot
ca334c5c job.validate does not accept any parameter anymore
fa0855de Remove v1 leftover
5287d13d Remove unused output_dir
e9fc34f0 device-types: rk3399-puma-haikou: align booti_kernel_addr
33c8579b Add imx7s-warp device-type
416fb3e5 Do not crash when re-adding the same device (or dt)
18318d27 Add admin actions to update worker health
f57d683d master|logs: automatically reload certificates
390c8e2b lava-master: fix return values
2d37b341 Remove is_pipeline
45d5767a lava-master: record error message as failure_comment
74713edb Use STATIC_URL and get_absolute_url when needed
60283360 Remove TestJob._results_link
f9a36ee1 LAVA-1180 Refactor device-type page
3456b9ea LAVA-1128 Use bulk_create to create TestCases
cfcc0fc8 Move postgresql timeout to wsgi
4c61a59c LAVA-777 lava-slave is now restartable
806ac08b job api: allow filtering by state/health
fb0b700e device-types api: allow get/set health-checks
6eadfc62 List Infrastructure, Bug and Configuration errors
lava-dispatcher
===============
4dd73b76a Fix wrong infra error when compressing with xz
50a652a54 Add missing import and fix prospector warnings
817fe007d LAVA-1234 - Man page for lava-lxc-mocker
691041a1 compress: check that the tool does exists
84df8c5d LAVA-1264 improve handling of cancellation
02590e0b LAVA-1282 Only kill lava-slave
1cbebc39 fix typo in manpage
67a19da1 Add template testing for user-command and flasher
40a9a97b Do not crash when command output is not utf-8
73cd3623 LAVA-1266 - LAVA doesn't fail jobs that fail
to flash partitions
7340ad00 BootloaderCommandOverlay fix validate logic
99526367 Log str representation of exception objects
957cc171 LAVA-1278 use external decompression for .xz
ee0921ab LAVA-648 Slave needs to check DNS
896936c1 Update modprobe.d support (Closes: #888681)
67f49224 Extend installer error prompt list
43a29e4c Ensure QEMU iso method uses configured TFTP dir
e88d3cb4 Python3 update for QEMU installer support
a05f307d Decode returned log string to utf-8.
52babb39 LAVA-1274 do not log a boolean
15ba29b9 Fix shebang for python3
4c960c49 test: fix file descriptor leaks
a6fdafd9 Remove python2 specific code
3e7891d1 Drop Python2 support
8a7d655a Revert "shell: wait for prompt between each command"
d5e15af2 Fix lava-os-build output
303b3871 Remove deprecated lava-test-run-attach usage
8cb5f120 Remove leftover from v1 in android helpers
0e304335 shell: wait for prompt between each command
b67fb420 Fix raise format
351176ab Remove stale udev rules
8d6c5ec7 Python3 fixes
e8a757df LAVA-1167 allow removal of the .git directory
54ad1fbe Remove jessie specific code
f4784431 Remove v1 signal handler
bb910afd Fixup connection.prompt_str assumption
26897c46 LAVA-1257 do not crash when STARTRUN is missing
bd6c2526 LAVA-1256 raise a JobError when url is missing
0e255c3b Raise an Infra Error when an exe is not usable
294a2322 Fix URLs referred in unittests to point to permanent location.
a1474089 LAVA-1252 do not crash when device conf is missing
5179d1de Device: factorize code
c5645bc6 Remove power_on command as it's never used
bf57d6fe Fastboot boot method should have a sequence associated with it.
eab74bae Catch errors with lava_test_results_dir early
b4ac1dbe Use the permanent location for WaRP7 unit test
a41f73ee Remove empty class functions
30b84f20 Fix format string when raising
1854a1dd Do not print pipeline description to stdout
0512e6ce Remove unused output_dir
e5043cb3 run_command: split the output at the newline char
cadd2123 Add a new deploy method called "flasher"
00437106 Use job tmp directory for the compress overlay
1158c5e7 Add a deploy method that only create the overlay
eeac3e67 docker: only mount the overlay when available
6916519d Make the helpers faster
d8b205ee Specify the exception to raise when timing out
ad106451 LAVA-1146 lava-slave removes stale resources
67b18778 LAVA-777 make lava-slave restartable
b61a58e5 Refactor lava-slave code
cdd2ef54 Adding deployment action for MPS devices
b8e7dc13 xnbd: fix killing of old xnbd-server process
--
Neil Williams
=============
neil.williams(a)linaro.org
http://www.linux.codehelp.co.uk/
The master branches of lava-server and lava-dispatcher have now moved to
Python3 exclusively.
This means that all developer builds will only support Python3 and that
Debian Jessie is no longer supported for LAVA software.
It is recommended to use the staging-repo as there are a lot of dependency
changes to add Python3 dependencies on machines which have not used Python3
before. apt will make the job much easier than trying to install developer
packages and then fixing the dependencies manually.
Even if you have 2018.2 installed and have Python2 and Python3 support
available, there are still some new dependencies to move the runtime
support to Python3.
The following NEW packages will be installed:
gunicorn3 python3-dateutil python3-gunicorn
The documentation has been updated:
https://staging.validation.linaro.org/static/docs/v2/installing_on_debian.h…
Once an instance has been upgraded, apt will typically warn about a range
of Python2 packages which are no longer required. These can be removed
using the command:
$ sudo apt-get --purge autoremove
Check the list of packages carefully!
One example list could be:
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED:
python-django-auth-ldap* python-django-restricted-resource*
python-django-tables2* python-ldap* python-lzma* python-markdown*
python-netifaces* python-pyudev* python-simplejson* python-voluptuous*
0 upgraded, 0 newly installed, 10 to remove and 1 not upgraded.
After this operation, 1,855 kB disk space will be freed.
Do you want to continue? [Y/n]
apt is cautious about listing packages for autoremoval, so you may well
find Python2 packages still installed. This is normal.
This starts a new round of functional testing in preparation for the next
LAVA software release. That release will be Python3 only and it will not be
built for Jessie.
Debian uploads from here on will only be to unstable and stretch-backports.
LAVA repositories will only carry updated packages for stretch-backports.
--
Neil Williams
=============
neil.williams(a)linaro.org
http://www.linux.codehelp.co.uk/
See
https://lists.linaro.org/pipermail/lava-announce/2018-January/000046.html
The time has come to drop regular builds for jessie-backports. If you rely
on these, you will have found that the builds of the master branch broke
for jessie-backports some time ago (whilst the team were at a conference).
So, in the absence of requests to fix the build and in the light of the
existing plan to drop Jessie support in Q2 2018 (i.e. the next production
release) there seems to be no reason to retain the build.
This also means that building from the master branch for jessie is also
broken - this is not going to be fixed.
This opens the door for testing of lava-server using Python3 exclusively,
dropping Python2 support. Depending on how that testing proceeds, the next
production release could be Python3 only.
Summary
=======
* jessie-backports support in the staging-repo has ended
* developer builds of the master branch no longer need to build on Jessie
(and are currently broken)
* there will be no further uploads of lava-server to jessie-backports or
jessie-backports-sloppy in Debian.
* support for Stretch continues unaffected
* when the next production release is made, a backport to stretch-backports
in Debian is likely to be uploaded.
* There will be no further builds for Jessie for the production-repo or
jessie-backports in Debian.
* testing of full Python3 support can now begin
--
Neil Williams
=============
neil.williams(a)linaro.org
http://www.linux.codehelp.co.uk/