This adds python 3.10 testing and updates our docker images to
python3.10.
On the docker image side of things we use opendev's python images which
are based on Debian then have python compiled on top of that external to
Debian python packaging. Debian bullseye ships with python3.9 but our
images come with python3.10. What this means is that we cannot rely on
external wheel caches for Debian bullseye + python3.9 here as we've got
the wrong version of python3.10. The good news is that all of the
dependencies that have historically given us trouble on arm64 in
particular already ship python3.10 aarch64/arm64 wheels. This means we
can rely on pypi as is. This is probably better for us anyway as it
decouples us from relying on additional external resources.
We also update a number of jobs to use nodeset: ubuntu-jammy as this
ubuntu version defaults to python 3.10.
Change-Id: I7fb585bc5ccc52803eea107e76dddf5e9fde8646
Similar to Zuul (I71182e9d3e6e930977a9f983b37743ee3300ec91), the base
images have updated to Bullseye.
This updates various things to get a building Bullseye image.
We have upgrade to 3.9-based images here because OpenDev builds ARM64
wheels for a bullseye+arm64 combo, which we use to speed up the ARM64
cross-build (we do not have any repository of <3.7|3.8>+bullseye ARM64
wheels, so it makes it difficult to use these combos as the
cross-build can take a very long time)
Depends-On: https://review.opendev.org/c/openstack/diskimage-builder/+/806318
Change-Id: I21cfbd3935e48be4b92591ea36c7eed301230753
This fixes libffi bindep installation on Ubuntu Focal
The Python 3.6 tox tests are switched back to bionic, as Focal nodes
don't have Python 3.6.
Additionally, we squashed the following change into this to unblock
the gate:
Remove nodepool-functional-openstack
This test installs devstack and then nodepool on a bionic host (in
contrast to the -containers variant that builds a container from the
Dockerfile and installs/runs that).
Firstly, devstack support for Bionic is going away soon so we have to
update this. We don't really need to test if we run ontop of a plain
Bionic/Focal host. We have tox jobs testing various Python versions
for compatability, so running on here isn't providing any extra
coverage. DIB can't build many things on plain Bionic/Focal due to
updates or incompatabilities in "alien" versions of RPM, Zypper,
debootstrap, etc. The container incorporates fixes as required and is
where anyone is going to put attention if there are build issues;
hence we're not testing anything useful for image building paths.
Finally we also have nodepool-zuul-functional, which brings up Zuul
and nodepool on a plain Bionic host anyway. Per the prior reasons,
that covers basically the same thing this is providing anyway.
openstacksdk is using this on older branches, but is switched to using
the container job in the dependent changes.
Depends-On: https://review.opendev.org/c/openstack/openstacksdk/+/788414
Depends-On: https://review.opendev.org/c/openstack/openstacksdk/+/788416
Depends-On: https://review.opendev.org/c/openstack/openstacksdk/+/788418
Depends-On: https://review.opendev.org/c/openstack/openstacksdk/+/788420
Depends-On: https://review.opendev.org/c/openstack/diskimage-builder/+/788404
(was : Change-Id: I87318e9101b982f3cafcf82439fdcb68767b602b)
Change-Id: Ifc74e6958f64be70386cdb3e05768d94db75c3bb
The latest docker-ce release does not start properly if it is installed
after installing and removing docker.io on Ubuntu. It is likely that the
docker.io package is leaking something across to the docker-ce install
that causes this problem. We simplify things by relying on ensure-docker
to install docker for us instead. This avoids the install, uninstall,
and broken install process.
Change-Id: I9e08dbf1ee3e6e146fb9ee6ba3435b3048096f5b
Require TLS Zookeeper connections before making the 4.0 release.
Change-Id: I69acdcec0deddfdd191f094f13627ec1618142af
Depends-On: https://review.opendev.org/776696
Nodepool periodically reloads its config. On systems with large
configs this can cause a substantial amount of cpu usage. Our
profiling of an idle provider revealed that the yaml parsing accounted
for ~15% cpu load while the provider was idle.
This could be improved by utilizing the native libyaml bindings when
available.
Change-Id: Icbed393c5aa00abd52d1e13ccbbad8546ec6cf97
Fedora 30 is old. Fedora 32 is available, lets use it. We use the new
ensure-zookeeper role as Fedora 32 does not have zookeeper packages
anymore.
Co-Authored-By: Tristan Cacqueray <tdecacqu@redhat.com>
Depends-On: https://review.opendev.org/752757
Change-Id: I3b429be1fa90cc8a546e5331a4d9b38a4659a591
These two change are required for arm64 but are also fine for x86
builds. Lets get these in before adding arm64 image jobs as it
simplifies the juggling we have to do with the various fixes.
Change-Id: I051bd0d80fa556111cb36d52391dca264f17015c
The python-builder base image was updated to no longer install
recommends. This is inline with the other Infra images and keeps
image sizes smaller. gcc recommended libc6-dev - but it turns out
we need that for limits.h for one of our depends. Add it to fix
our image builds.
Change-Id: Ic7db84155f8d5f61007dfe47e380dccade0992cc
sudo is needed by diskimage-builder so it would be good to add it
so that the Docker image has that included by default.
Change-Id: Ic23fa24fb343fb2b93d6055de1d4c27879b5dcac
Use the opendevorg/python-builder image to build nodepool images
with a Dockerfile and multi-stage builds.
bindep wasn't installing gcc for dpkg. Remove the platform restrictions
for it.
Change-Id: I0282b75ffad3d0ae1b589381010a3d4273fceb07
This change implements an OpenShift resource provider. The driver currently
supports project request and pod request to enable both containers as machine
and native containers workflow.
Depends-On: https://review.openstack.org/608610
Change-Id: Id3770f2b22b80c2e3666b9ae5e1b2fc8092ed67c
Add alpine packages to bindep and the pbrx-build-container-images job.
Depends-On: https://review.openstack.org/582380
Change-Id: I85c6db8d3d51f5df820e60fea8d1fea27eabec49
We no longer support python2.7 for nodepool, we can be more specific
and now only install python3 libraries.
Change-Id: I2a149a4b075fd63f382ed6b4a2e89f2bb8545da5
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
Even though there is nothing to read from secure.conf anymore, it
is kept around intact since we may want to use this for ZooKeeper
credentials at some point.
Change-Id: Ieb3a93b09c889f74da3463494957335aaaa9f40f
This gives us to ability to start manging OS dependencies for zuul.
Change-Id: Ic3c3848258354c3c6ecc866c48ac4a77bb3d187f
Signed-off-by: Paul Belanger <pabelanger@redhat.com>