Gentoo multinode job is consistently failing. To disable only this
job with current test framework, we need to adapt the test framework, so
that disabling of specific jobs is possible.
Also includes minor documentation fix which triggers affected jobs.
Co-Authored-By: Andreas Jaeger <aj@suse.com>
Change-Id: Ida9d1714f1f6c3f4fbee469ef940147f969d9466
Since tox_envlist has a default value it cannot be undefined
so the fail task will never run. Instead handle the case when
tox_envlist is an empty string by getting the default configured
envlist from tox. Also handle the casewhen tox_envlist is 'ALL'.
This also updates tox_install_sibling_packages to correctly
handle multiple testenvs and uses configuration supplied by
'tox --showconfig -e <envlist>' instead of guessing where the
envdir and logdir are located.
We also cannot run tox inside python because it gets complicated
to know which tox_executable we should call during the python test
cases so run these commands in ansible and pass the output to
tox_install_sibling_packages.
Since role params have higher precedence than set_fact we set an
internal _tox_envlist fact that is a comma separated list of testenvs
that should be run.
Change-Id: I9e5a1b041f653cbcff7b8ed62e4a95a0a040fdd7
This change enables using fetch-sphinx-tarball role along with
the fetch-output role. By default the role still synchronizes
artifacts back to the executor.
Change-Id: I7452f34bccdca49e256053f9630f77953b27f99c
Adds a role to let users define a manifest of artifacts located
in zuul-output/artifacts that should be uploaded to pre defined
artifactory instances.
Change-Id: I00dc0302e85ce59b3808f6e62e2bcdadf2e41fde
This change enables using fetch-sphinx-output role along with
the fetch-output role. By default the role still synchronizes
artifacts back to the executor.
Change-Id: I81c8a2faf566be694dbf1c59cbbd157dc4df5146
With the dependent change pip-and-virtualenv is dropped from the
opensuse-15 image, thus we don't need the -plain testing any more.
Change-Id: Iccf70042833093ebeca92c171dfe05dbf14a55aa
Depends-On: https://review.opendev.org/725749
This adds more of the plain nodes (without pip-and-virtualenv) to our
testing environment to facilitate the eventual switch in opendev
infra.
Change-Id: I091ab667c5f071ba5844ea567464b1c29052638d
Python 3.8 is current version, replace py37 so that we test
3.5 and 3.8 as lowest/highest.
This follows I4b382bb89847d3ae2b20292d923c3c2211dfb254 for zuul.
Change-Id: I35a1492ff0e34c7951c8ecf216992044fdb3065f
Docker has experimental support for building multi-arch
container images with a buildx command. Currently it only
supports pushing to a registry after running and the images
don't end up in the local docker images list. To work around
that, push to the buildset registry then pull back. This
is the inverse of the normal case where we build, then
retag, then push. The end result should be the same.
Change-Id: I6a4c4f9e262add909d2d5c2efa33ec69b9d9364a
YARN needs a modern version of NodeJS and if we don't use the role
to get the latest version, we end up failing on most platforms that
ship an old version of it.
This patch also adds testing to validate that ensure-yarn alone works.
Co-Authored-By: Andreas Jaeger <aj@suse.com>
Change-Id: I83ac09bc5751c85c6f1eac550d289a300ca2255e
This patch refactors ensure-docker to use the new ensure-package-repostories
role which cleans up the codebase for it a lot. It also converges the
Debian and Ubuntu configuration as they were pretty much the same.
Also, it updates the Docker to the proper GPG key as while refactoring,
it was exposed that it was using the wrong key. Docker uses a different
key for Debian and RHEL based packaging.
Change-Id: Iad430c6a31be0750c1a0f50e12a26df230de9f4e
This patch refactors ensure-podman to use the new generic role
to allow it to be cross-platform in the future.
Change-Id: Id9ad0fbaeb9d19d022393ad16a27f11260c45da0
This patch refactors ensure-nodejs to use the new generic role
to allow it to be cross-platform in the future.
Change-Id: I859b6b3e33bc22ad4f99828e921ac2ed35a49252
This patch refactors ensure-kubernetes to use the new generic role
to allow it to be cross-platform in the future.
Change-Id: Ic90c8973431823814c7e6b122f4ef25a67d64c2f
* Build role requires build target to be specified via a variable
* Ensure role checks for a specific version of Bazel and downloads
and installs if missing; defaults to v3.1.0 and downloading from
bazelbuild Github, but these can be overrriden using variables
* Also installs dependencies for Bazel; only supports Ubuntu/Debian
at present, but includes scope to extend for other platforms
* Includes test playbook and job
Change-Id: I83f198aaf20c2b3664bea6fc05edd3b4fca13a4f
This is part of the efforts to remove pip-and-virtualenv from our base
images [1].
There are some users who specifically require the virtualenv command
(perhaps, like dib, they have some code that uses the activate_this.py
mechanisms it provides wich venv does not).
This installs the virtualenv package for the currently running
distribution.
One of the main maintenance issues of pip-and-virtualenv is that tried
to ensure that "virtualenv" created a Python 2 environment always by
default. Now that we have Python 3 only distributions like current
Fedora, this is not something we can continue to do (even if we wanted
to, which we don't).
What owns virtualenv and what it produces in our heterogeneous
environment is messy, and I think the best we can do is document it as
done here.
[1] https://docs.opendev.org/opendev/infra-specs/latest/specs/cleanup-test-node-python.html
Change-Id: I97d8bfb970ed2b5aaa02a0813899014c94994066
We discovered that role fails on some platform because of the missing
bzip2 package. We can avoid this by using gzip which is much more
likely to exist on machines (and exists in the container images for
most operating systems).
Change-Id: Ia33a0f77343df809cd3c591a4a988e8e3712c133
Co-Authored-By: Mohammed Naser <mnaser@vexxhost.com>
Otherwise this role could fail when tox is not installed in PATH.
Also updates the default behaviour to only collect the environments
configured with 'envlist' in tox.ini and collects all environments if
the envlist is set to 'ALL'.
Change-Id: I60bcc25cb853d2db3ee767a719b9ac54e421532e
We have enough infrastructure in place now to have the
pip-and-virtualenv free node type voting, while we progress towards
making this the default.
Change-Id: Ie2677364d8696d5c4f71eefe2054da1b39e8bb35
Update the Fedora test platform to 31. Since we have dropped the
pip-and-virtualenv element with this image, we do not need the
work-around for excluded packages any more.
Story: #2007386
Task: #39310
Change-Id: I713a3cc790039dee3d28d83198f5afff5bebc491
This role is intended to ensure that the `pip:` module, and jobs that
may wish to use `pip` from the shell, have the necessary requirements.
It is intended as a partial replacement for the pip-and-virtualenv
element in diskimage-builder, which currently pre-installs pip on our
infra CI images during image build.
We wish to remain broady compatible with this element, but not
replicate some of the more problematic areas of its implementation.
By default, this installs the system packages for pip and setuptools
(the latter being a requirement of the Ansible pip module, which
imports it directly, despite pip itself not requiring it).
In this role, we ensure the libraries for the currently running
ansible_python_interpreter version are installed.
There is provision to provide a flag to install the packages directly
from upstream via get-pip.py, although this is not recommended.
Story: #2007386
Task: #39309
Change-Id: Iac2d518a66caf1b801273225f75a0a748412903c