Commit 8f78a92a authored by stevanradakovic's avatar stevanradakovic
Browse files

Merge branch 'stretch' into 'master'

Drop stretch support

See merge request lava/lava!961
parents b6bb3ce8 3f01452d
......@@ -62,8 +62,6 @@ include:
- common.xml
- server.xml
dispatcher-debian-9: *dispatcher
server-debian-9: *server
dispatcher-debian-10: *dispatcher
server-debian-10: *server
dispatcher-debian-11: *dispatcher
......@@ -124,20 +122,6 @@ doc:
paths:
- doc/v2/_build/html
debian/9:
<<: *job
stage: build
except: []
image: hub.lavasoftware.org/lava/ci-images/amd64/pkg-debian-9
artifacts:
paths:
- _build/*.deb
# handle native package - need to publish the source
- _build/*.tar.xz
- _build/*.dsc
- _build/*.changes
- _build/*.buildinfo
debian/10:
<<: *job
stage: build
......@@ -197,7 +181,6 @@ reprepro-master:
# will overwrite the latest deployment."
tags: [deploy]
dependencies:
- debian/9
- debian/10
except: []
only: [schedules]
......@@ -217,7 +200,6 @@ reprepro-release:
refs:
- tags
dependencies:
- debian/9
- debian/10
except: [schedules]
environment:
......
......@@ -8,13 +8,9 @@ if [ "$1" = "setup" ]
then
set -x
apt-get -q update
DEPS=$(./share/requires.py -p lava-dispatcher -d debian -s stretch -n)
DEPS=$(./share/requires.py -p lava-dispatcher -d debian -s buster -n)
apt-get install --no-install-recommends --yes $DEPS
DEPS=$(./share/requires.py -p lava-dispatcher -d debian -s stretch-backports -n)
apt-get install --no-install-recommends --yes $DEPS
DEPS=$(./share/requires.py -p lava-server -d debian -s stretch -n)
apt-get install --no-install-recommends --yes $DEPS
DEPS=$(./share/requires.py -p lava-server -d debian -s stretch-backports -n)
DEPS=$(./share/requires.py -p lava-server -d debian -s buster -n)
apt-get install --no-install-recommends --yes $DEPS
else
set -x
......
#!/bin/sh
set -e
if [ "$1" = "setup" ]
then
true
else
set -x
# build the full package, including original source, for stretch.
./share/debian-dev-build.sh -o _build -s stretch
debc $(find _build -name 'lava_*_amd64.changes' 2>/dev/null|head -n1)
# Check dependencies
.gitlab-ci/build/debian/check-debian-deps.py --suite stretch-backports --package lava-common _build/lava-common_*stretch*
.gitlab-ci/build/debian/check-debian-deps.py --suite stretch-backports --package lava-dispatcher _build/lava-dispatcher_*stretch*
.gitlab-ci/build/debian/check-debian-deps.py --suite stretch-backports --package lava-server _build/lava-server_*stretch*
fi
......@@ -36,14 +36,6 @@ else
echo "Updating ${BASEDIR}"
echo "reprepro-master.sh daily update running in " ${LAVA_BUILDD}
if [ -d "${BASEDIR}/dists/stretch-backports" ]; then
reprepro -b ${BASEDIR} ${R_OPT} include stretch-backports ${LAVA_BUILDD}/_build/lava_*stretch_amd64.changes
mkdir -p ${SNAPSHOT}/stretch/${YEAR}/${MONTH}/${DAY}/
dcmd cp ${LAVA_BUILDD}/_build/lava_*stretch_*.changes ${SNAPSHOT}/stretch/${YEAR}/${MONTH}/${DAY}/
dcmd rm ${LAVA_BUILDD}/_build/lava_*stretch_amd64.changes
reprepro -b ${BASEDIR} list stretch-backports
fi
if [ -d "${BASEDIR}/dists/buster" ]; then
reprepro -b ${BASEDIR} include buster ${LAVA_BUILDD}/_build/lava_*buster_amd64.changes
CHANGES=`find ${LAVA_BUILDD}/_build/ -type f -name 'lava_*buster_amd64.changes'`
......
......@@ -44,14 +44,6 @@ else
# the existing working config in old-release
echo "Updating ${BASEDIR}"
echo "reprepro-master.sh release update running in " ${LAVA_BUILDD}
if [ -d "${BASEDIR}/dists/stretch-backports" ]; then
reprepro -b ${BASEDIR} ${R_OPT} include stretch-backports ${LAVA_BUILDD}/_build/lava_*stretch_amd64.changes
mkdir -p ${SNAPSHOT}/stretch/${YEAR}/${MONTH}/${DAY}/
dcmd cp ${LAVA_BUILDD}/_build/lava_*stretch_*.changes ${SNAPSHOT}/stretch/${YEAR}/${MONTH}/${DAY}/
dcmd rm ${LAVA_BUILDD}/_build/lava_*stretch_amd64.changes
reprepro -b ${BASEDIR} list stretch-backports
fi
if [ -d "${BASEDIR}/dists/buster" ]; then
reprepro -b ${BASEDIR} include buster ${LAVA_BUILDD}/_build/lava_*buster_amd64.changes
CHANGES=`find ${LAVA_BUILDD}/_build/ -type f -name 'lava_*buster_amd64.changes'`
......
#!/bin/sh
set -e
if [ "$1" = "setup" ]
then
set -x
apt-get -q update
DEPS=$(./share/requires.py -p lava-dispatcher -d debian -s stretch -n)
apt-get install --no-install-recommends --yes $DEPS
DEPS=$(./share/requires.py -p lava-dispatcher -d debian -s stretch-backports -n)
apt-get install --no-install-recommends --yes -t stretch-backports $DEPS
DEPS=$(./share/requires.py -p lava-dispatcher -d debian -s stretch -n -u)
apt-get install --no-install-recommends --yes $DEPS
DEPS=$(./share/requires.py -p lava-dispatcher -d debian -s stretch-backports -n -u)
apt-get install --no-install-recommends --yes -t stretch-backports $DEPS
else
set -x
PYTHONPATH=. pytest-3 --cache-clear -v --junitxml=dispatcher.xml tests/lava_dispatcher
fi
#!/bin/sh
set -e
if [ "$1" = "setup" ]
then
set -x
apt-get -q update
DEPS=$(./share/requires.py -p lava-server -d debian -s stretch -n)
apt-get install --no-install-recommends --yes $DEPS
DEPS=$(./share/requires.py -p lava-server -d debian -s stretch-backports -n)
apt-get install --no-install-recommends --yes -t stretch-backports $DEPS
DEPS=$(./share/requires.py -p lava-server -d debian -s stretch -n -u)
apt-get install --no-install-recommends --yes $DEPS
DEPS=$(./share/requires.py -p lava-server -d debian -s stretch-backports -n -u)
apt-get install --no-install-recommends --yes -t stretch-backports $DEPS
else
set -x
PYTHONPATH=. pytest-3 --cache-clear -v --junitxml=common.xml tests/lava_common
PYTHONPATH=. pytest-3 --cache-clear --ds lava_server.settings.development -v --junitxml=server.xml tests/lava_scheduler_app tests/lava_results_app tests/linaro_django_xmlrpc tests/lava_rest_app tests/lava_server
fi
lava for Debian
---------------
Note that /etc/lava-dispatcher/device-defaults.conf needs editing
to set the IP address of this dispatcher for master image support.
FIXME: this gets overridden by the lava-server config anyway.
lava-server 2015.12
===================
Ubuntu Trusty 14.04LTS
----------------------
Support for Ubuntu Trusty 14.04LTS has been frozen upstream.
The master branch and uploads to Debian are no longer
supportable with django1.6 or older.
For Trusty support, see the frozen release at
http://images.validation.linaro.org/trusty-repo/
Debian Jessie
-------------
setuptools behaviour has changed in Debian Stretch. The 'requires.txt' file
is not being created - this does not affect installs on Debian Stretch -
however, setuptools in Jessie uses this file and if lava-server is built
in Stretch, it will fail to install on Jessie.
Ensure that all builds for Jessie are built using Jessie (chroot or VM) in
the same way that packages are built for jessie-backports. Builds available
from http://images.validation.linaro.org/staging-repo/ and
http://images.validation.linaro.org/production-repo/ are built in a Jessie
environment, so are suitable for Jessie.
lava-server 2015.12
===================
Ubuntu Trusty 14.04LTS
----------------------
Support for Ubuntu Trusty 14.04LTS has been frozen upstream.
The master branch and uploads to Debian are no longer
supportable with django1.6 or older.
For Trusty support, see the frozen release at
http://images.validation.linaro.org/trusty-repo/
Debian Jessie
-------------
setuptools behaviour has changed in Debian Stretch. The 'requires.txt' file
is not being created - this does not affect installs on Debian Stretch -
however, setuptools in Jessie uses this file and if lava-server is built
in Stretch, it will fail to install on Jessie.
Ensure that all builds for Jessie are built using Jessie (chroot or VM) in
the same way that packages are built for jessie-backports. Builds available
from http://images.validation.linaro.org/staging-repo/ and
http://images.validation.linaro.org/production-repo/ are built in a Jessie
environment, so are suitable for Jessie.
......@@ -829,7 +829,7 @@ context may be ignored.
The version of ``qemu`` installed on the dispatcher is a choice made by the
admin. Generally, this will be the same as the version of ``qemu`` available
from Debian in the same suite as the rest of the packages installed on the
dispatcher, e.g. ``stretch``. Information on the available versions of ``qemu``
dispatcher, e.g. ``buster``. Information on the available versions of ``qemu``
in Debian is available at https://tracker.debian.org/pkg/qemu
.. seealso:: :ref:`essential_components` and :ref:`qemu-iso boot method
......@@ -868,7 +868,7 @@ option in the job context may be ignored.
The version of ``qemu`` installed on the dispatcher is a choice made by the
admin. Generally, this will be the same as the version of ``qemu`` available
from Debian in the same suite as the rest of the packages installed on the
dispatcher, e.g. ``stretch``. Information on the available versions of ``qemu``
dispatcher, e.g. ``buster``. Information on the available versions of ``qemu``
in Debian is available at https://tracker.debian.org/pkg/qemu
QEMU can be used with an NFS using the ``qemu-nfs`` method and the ``nfs``
......@@ -919,7 +919,7 @@ modification using the :term:`job context`.
The version of ``qemu`` installed on the dispatcher is a choice made by the
admin. Generally, this will be the same as the version of ``qemu`` available
from Debian in the same suite as the rest of the packages installed on the
dispatcher, e.g. ``stretch``. Information on the available versions of ``qemu``
dispatcher, e.g. ``buster``. Information on the available versions of ``qemu``
in Debian is available at https://tracker.debian.org/pkg/qemu
.. seealso:: :ref:`essential_components` and :ref:`boot method qemu
......
......@@ -136,10 +136,9 @@ Issues with the base suite
Ensure that the base system also matches the suite from which the
backup was made. It is **not safe** to restore a backup of a system
which was running with packages from ``jessie-backports`` onto a
jessie system without those same packages being updated from
``jessie-backports`` prior to restoration. The same applies for
Stretch and ``stretch-backports``.
which was running with packages from ``buster-backports`` onto a
buster system without those same packages being updated from
``buster-backports`` prior to restoration.
.. _admin_configuration_management:
......
......@@ -241,42 +241,6 @@ container.
.. note:: To apply configurations system wide for all LXC devices attached to
the dispatcher use ``/etc/lxc/default.conf`` file.
.. index:: lxc on arm64 stretch
.. _lxc_arch_distro:
Architecture and distribution issues
************************************
If you are configuring a LAVA instance with a range of dispatchers, there can
be issues if those dispatchers are both ``amd64`` and ``arm64`` architectures.
On Debian Stretch, the ``lxc`` package does not support mapping the kernel
architecture name (``aarch64``) to the Debian release architecture name
(``arm64``). This mapping has been added to newer versions of LXC.
::
$ sudo lxc-create -t debian -n server-unittests -- --release stretch -a arm64
Once the cache exists, test jobs do not need to specify the arch again:
::
$ sudo lxc-create -t debian -n server-unittests -- --release stretch
However, the cache will invalidate from time to time, so this is an
administrative burden.
To avoid this burden, admins can choose to have two LXC device-types defined
with slightly different health checks and test jobs to specify the
architecture.
.. seealso:: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=895432
If all dispatchers on a master are ``arm64``, simply change the ``lxc.jinja2``
template to specify the architecture for all test jobs as ``arm64``.
Other resources
***************
......
......@@ -156,7 +156,6 @@ Results in LAVA
custom-result-handling
relating
tables
lava-tool
.. _contents_admin_guide:
......@@ -186,7 +185,6 @@ LAVA administration guide
vland-admin
pipeline-debug
docker-admin
lava-tool-issues
.. _contents_contribution_guide:
......
......@@ -270,6 +270,4 @@ Submit a job and wait on notifications
A common request from LAVA users is the ability to submit a test job,
wait for the job to start and then monitor it directly as it
runs. Recent versions of :ref:`lava_tool` support this directly - look
at its `source code <https://git.linaro.org/lava/lava-tool.git/>`_ if
you want to do something similar in your own code.
runs. Recent versions of :ref:`lavacli` support this directly.
......@@ -9,15 +9,9 @@ LAVA no longer supports development on Ubuntu.
Packages for LAVA are available for:
* Debian Stretch (stable) - with backports
* Debian Buster (testing)
* Debian Sid (unstable)
Packages will remain available for Debian Jessie (oldstable) with backports
until June 2018 as security support for Jessie will end. The last production
release with Jessie support was 2018.2. Developers need to use Debian Stretch
or Buster for development.
When using the packages to develop LAVA, there is a change to the workflow
compared to the old lava-deployment-tool buildouts.
......@@ -203,8 +197,8 @@ Developer package build
.. seealso:: :ref:`developer_preparations` and
:ref:`development_pre_requisites`
.. note:: The supported suite for LAVA development is now Stretch. The
developer package build now defaults to expecting Stretch and
.. note:: The supported suite for LAVA development is now Buster. The
developer package build now defaults to expecting Buster and
therefore uses Python3 exclusively. Support for building Python2 has
been removed, the ``master`` branch only builds Python3. See
https://lists.lavasoftware.org/pipermail/lava-announce/2018-January/000046.html
......@@ -250,7 +244,7 @@ stable release and the unstable suite and the package building tools expect
to build for unstable. If you are building a package to update an instance
running a different suite, pass that suite using the ``-s`` option::
$ ./share/debian-dev-build.sh -s stretch-backports
$ ./share/debian-dev-build.sh -s buster
By default, the packages will be built in the ``../build-area/``
directory, this can be changed with the ``-o`` option. Packages are
......@@ -641,7 +635,7 @@ Outputting the requirements.txt format
Processes which need the version string can use the original output
format which mimics ``requirements.txt``::
$ ./share/requires.py --package lava-server --distribution debian --suite stretch
$ ./share/requires.py --package lava-server --distribution debian --suite buster
django>=1.10
PyYAML
docutils>=0.6
......@@ -659,15 +653,15 @@ Outputting a list of binary package names
This is intended to be passed directly to a package installer like
``apt-get`` together with the other required commands and options.
The caller determines the ``suite``, so to use with stretch-backports,
the ``-t stretch-backports`` option would also be added to the
The caller determines the ``suite``, so to use with buster-backports,
the ``-t buster-backports`` option would also be added to the
other ``apt-get`` commands before appending the list of packages.
(Line breaks are added for readability only):
.. code-block:: none
$ ./share/requires.py --package lava-server --distribution debian --suite stretch --names
$ ./share/requires.py --package lava-server --distribution debian --suite buster --names
python3-django python3-yaml python3-docutils \
python3-jinja2 python3-psycopg2 python3-tz python3-zmq python3-requests \
python3-simplejson python3-voluptuous
......
......@@ -201,16 +201,14 @@ Merge requests which need extra modules which already exist in Debian
can add the relevant information to the ``share/requirements/debian``
files.
.. note:: For the CI to pass, the extra module(s) **must** be available
for unstable, testing and stretch-backports. Pay particular
attention to the version available in stretch and stretch-backports
and ensure that your change works on Stretch. If a minimum version
is required, this can be specified in the requirements, as long as
that version or newer is available in stretch-backports. :ref:`talk
to us <mailing_lists>` if your change involves new files that may
need changes in the packaging code. All CI tests must pass before
any new code can be merged, including building working packages
containing the new support.
.. note:: For the CI to pass, the extra module(s) **must** be available for
stable and testing. Pay particular attention to the version available in
buster and buster-backports. If a minimum version is required, this can be
specified in the requirements, as long as that version or newer is available
in buster-backports. :ref:`talk to us <mailing_lists>` if your change
involves new files that may need changes in the packaging code. All CI tests
must pass before any new code can be merged, including building working
packages containing the new support.
.. seealso:: :ref:`developer_python3`, :ref:`quick_fixes` and
:ref:`testing_pipeline_code`
......
......@@ -32,18 +32,6 @@ of complications by changing file permissions in your local git clone.
.. seealso:: :ref:`testing_pipeline_code` and
:ref:`developer_preparations`
Static code analysis
====================
It is essential to run ``pep8 --ignore E501`` routinely on your local
changes as ``./ci-run`` will fail on any PEP8 errors. All automated
tests occur using Debian Stretch.
It is important to run tools like :ref:`pylint3 <pylint_tool>`,
particularly when adding new files, to check for missing or unused
imports. Other analysis tools should also be used, for example from
within your IDE.
Functional testing
==================
......@@ -90,16 +78,6 @@ Make your changes
Blackened source code
---------------------
LAVA has adopted ``black`` as the sole formatter for all LAVA source
code written in Python. ``black`` is only available in Debian for
Buster and later - it is not suitable for backporting to Stretch.
However, Buster is starting the release freeze process ready for a
release in Q2 2019. If you are running Buster on your development
machine already, or have Buster packages available to you, you can
install ``black`` using ``apt`` as usual. You can also choose to
install ``black`` from https://github.com/ambv/black if it is not
available for your OS.
`black` is now applied to **all** LAVA source code files and merge
requests will **fail** CI if a change breaks the formatting.
......@@ -663,9 +641,6 @@ Python3 support in LAVA is related to a number of factors:
* Forthcoming LTS releases of django which will remove support for
python2.7
* Debian Jessie is now unsupported and development has moved to
Stretch.
* Transition within Debian to full python3 support.
https://lists.lavasoftware.org/pipermail/lava-announce/2017-June/000032.html
......@@ -686,7 +661,7 @@ run the unit tests using Python3::
Some additional Python3 dependencies will be required. In particular,
``python3-django-auth-ldap`` and ``python3-django-testscenarios`` will
need to be installed from ``stretch-backports``.
need to be installed.
.. warning:: Django will be dropping python2.7 support with the 2.2LTS
release, *frozen* instances of LAVA will not be able to use django
......
......@@ -412,12 +412,7 @@ already a unique ID **for this instance**.
When bundles are downloaded, the database query will need to assign a UUID to
that downloaded file but the file will also include the job number and the
query can also insert the source of the bundle in a comment in the YAML. This
will allow bundles to be uploaded to a different instance using :ref:`lava-tool
<lava_tool>` without the risk of collisions. It is also possible that the
results could provide a link back to the original job log file and other data -
if the original server is visible to users of the server to which the bundle
was later uploaded.
query can also insert the source of the bundle in a comment in the YAML.
.. seealso:: :ref:`criteria` and :ref:`providing_gold_standard_files`
......
......@@ -13,9 +13,6 @@ Prerequisites
#. For buster or later, use docker.io from Debian
https://tracker.debian.org/pkg/docker.io
#. For stretch, use docker-ce from Docker.
https://docs.docker.com/install/linux/docker-ce/debian/
#. add yourself to the docker group to avoid the need for ``sudo``.
#. Ensure that your docker installation has created a suitable
......@@ -176,8 +173,7 @@ Python
If you are using docker for more than a few test containers, you will
probably find the Python docker SDK library very useful.
* Debian (stretch-backports and later)
``apt install python3-docker``
* Debian ``apt install python3-docker``
https://packages.debian.org/unstable/python3-docker - If you install
the full ``lava`` set on Debian Buster or newer, ``python3-docker``
and ``docker.io`` will be installed by the ``lava`` metapackage.
......
......@@ -118,7 +118,7 @@ def main():
Parse the command line
For simplicity, this script does not handle usernames
and tokens so needs a job ID. For support submitting
a test job as well as watching the events, use lava-tool.
a test job as well as watching the events, use lavacli.
"""
parser = argparse.ArgumentParser()
parser.add_argument("-j", "--job-id", type=int, help="Job ID to wait for")
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment