[Lava-announce] Stretch and Python3

Neil Williams neil.williams at linaro.org
Fri Jan 5 10:11:20 UTC 2018

As announced in June 2017, Python2 is end of life.

However, the outline of the timeframe needs a few changes as Debian Jessie
will lose security support around June this year and all LAVA instances
will need to be running Stretch before that happens. It has proved to be
impractical to support LAVA using Python3 on Debian Jessie and the
completion of the migration has meant that lava-server is ready for Python3
ahead of schedule.

Therefore, the pending 2018.1 release will **deprecate Jessie** and move
the recommended installation of LAVA to Debian Stretch.

The 2018.2 release of LAVA will add Python3 support to support developers
and contributors using Python3.

This means that the 2018.2 LAVA packages will contain python code in both
the existing Python2 directories: /usr/lib/python2.7/dist-packages/ as well
as the Python3 directories: /usr/lib/python3/dist-packages/ and will
therefore bring in both Python2 dependencies *and* Python3 builds of those
same dependencies.

Installing 2018.2 will therefore bring in python3-django and a bunch of
other Python3 packages, enough to run all the unit tests successfully on
Debian Stretch using Python3, using stretch-backports.

These are not yet used for runtime operations in LAVA, only for development
and testing.

A future release of LAVA will switch to using Python3 at runtime, dropping
support for Python2 at the same time which will also drop support for
Debian Jessie. This will happen *before* Jessie loses security support. As
Stretch will be the minimum requirement for installation, this version
would also move to requiring django 1.11 instead of 1.8 from Jessie.

This creates a window for all LAVA instances to upgrade to Stretch using
Python2 ahead of the separate move to Python3.

To update the summary proposed in June 2017:


June 17th, 2017 - Debian 9 Stretch release

November 2017 - removal of V1 codebase

January 2018 - migration of Cambridge lab to Debian Stretch instead of Jessie

January 2018 - testing with django 1.11 LTS

2018.1 - testing with python3

2018.2 - add python3 support

Q2 2018 - Release with python3 support, end of support for
jessie-backports and drop python2.7 support. Move to minimum django
version of 1.11

April 2019 - release of django 2.2LTS


*ALL* LAVA instances should migrate to Debian Stretch support as soon as
practical but certainly in the next three months.

All development related to LAVA must support Python3 as of the release of


Neil Williams
neil.williams at linaro.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.linaro.org/pipermail/lava-announce/attachments/20180105/25fcc19a/attachment.html>

More information about the Lava-announce mailing list