91 Commits

Author SHA1 Message Date
Zuul
14a409be73 Merge "Add support for RedHat platforms on ensure-podman" 2020-04-07 16:03:17 +00:00
Ian Wienand
42755b69c8 Add bionic-plain non-voting testing
This is a temporary node type that does not install
"pip-and-virtualenv" so does not have pip or virtualenv pre-installed.
Add this for non-voting testing as we migrate to this node type.

Change-Id: Ia9006873470d76d29cc9229f11650981662b2de9
Story: #2007386
Task: #39306
2020-04-07 10:51:49 +10:00
Sorin Sbarnea
69c53666de Add support for RedHat platforms on ensure-podman
- makes ensure-podman work on additional platforms
- prevents regression on new platforms fedora-30 and centos-8
- enables validation of podman engine

Change-Id: I5842ad22d94522f707ef743622b8950839d96dff
2020-04-06 18:52:07 +01:00
vass
16fe7bbd3f Rename install-pdk-dependencies to ensure-pdk-dependencies for consistency
The old role will be kept and include ensure-pdk-dependencies for backwards-compatability.

Change-Id: Ia269db36655685fe3f4dc54c60ae4bc09a913f52
2020-04-04 15:41:29 -04:00
vass
ac72b44911 Rename install-nodejs to ensure-nodejs for consistency
The old role will be kept and include ensure-nodejs for backwards-compatability.

Change-Id: Ib4cf74d6c1e8774f6fc37d6a30f690eb8f9f3d08
2020-04-04 15:41:29 -04:00
vass
84c06a37c4 Rename install-devstack to ensure-devstack for consistency
The old role will be kept and include ensure-devstack for backwards-compatability.

Change-Id: Ia5fe33649a66a24ce6bb9de3cccbd5ef612dfb2f
2020-04-04 15:41:29 -04:00
vass
2cb9f249a8 Rename install-podman to ensure-podman for consistency
The old role will be kept and include ensure-podman for backwards-compatability.

Change-Id: I21cfdfef4a88f66f51d139abed04f70b3228a22d
2020-04-04 15:41:29 -04:00
vass
276a5e919a Rename install-openshift to ensure-openshift for consistency
The old role will be kept and include ensure-openshift for backwards-compatability.

Change-Id: I6ff81fbd04f25207c87834b36e4d636eb9d44a93
2020-04-04 15:41:29 -04:00
vass
fcf3202ba4 Rename install-kubernetes to ensure-kubernetes for consistency
The old role will be kept and include ensure-kubernetes for backwards compatability.

Change-Id: Ic0c18a833f4a07e123f8313673bd9c864d7d2919
2020-04-04 15:41:29 -04:00
vass
c80b593fb6 Rename install-docker to ensure-docker for consistency
The old role will be kept and include ensure-docker for backwards compatability.

Change-Id: Icb76a954b04631c405b09eb54343fd852a511b83
2020-04-04 15:41:29 -04:00
Zuul
f73e60b2e5 Merge "go-jobs: improve testing" 2020-04-02 10:24:15 +00:00
Mohammed Naser
53c787fd47 go-jobs: improve testing
The jobs currently are not running tests if we make changes to the
"go" role due to a typo in the files.  Also, the file name should
really be go-jobs.yaml because we're testing the jobs, not any specific
role.

This patch also adds support for verifying that it works across all
of the platforms.

Change-Id: Ie6c64936d01e368f8af789f6576f8425cfd9350c
2020-04-01 12:56:39 -04:00
Ian Wienand
ca2ee69e60 local-log-download : role with script to download all log files
This is an alternative to I98c80f657f38c5e1ed5f28e5d36988a3429ad1f8
which does not modify the upload script, but rather queries the API
and manifest for what to download.

The script is a hybrid of python and bash to not implement json API
parsing badly in bash, but not replicate curl badly in python either.
The script sanity checks for dependencies, which are considered pretty
standard for any developer who would be interested in downloading logs
like this.

The role writes out the script with the correct build values coded
into it, so a potential user just has to run it without any arguments
or modification.

Change-Id: Ic33732adbfd3210191bf4976c3ee316cfc50568e
2020-04-01 07:41:26 +11:00
Monty Taylor
e71d0d2607 Add support for installing python with pyenv
In order to install particular python versions on distros that
don't otherwise have them, add an option for installing via
pyenv.

The packages to be installed to allow for Python to be built were
tested on the official Docker containers so they should provide
a fair amount of coverage from a minimal environment.

Co-Authored-By: Mohammed Naser <mnaser@vexxhost.com>
Change-Id: Ic3312458b499a4b743895fa5829bb25155f77654
2020-03-17 17:32:49 -04:00
Sorin Sbarnea
de04f76d57 Tests bindep role on all-platforms
Change-Id: I2f26a936b842eef034f4f519bb0e1202c71e4871
2020-03-09 20:26:08 +01:00
James E. Blair
6f491cba6c Run ensure-tox on all platforms
Change-Id: Id25bd4a4dc1d29e9ac0dd6a6931b06ce94467f69
2020-03-03 10:28:25 -08:00
Sorin Sbarnea
299a654806 Fix install-docker on centos-8
Implements workaround for the missing --nobest option in Ansible
package module in order to succeed installing docker-ce.

Change-Id: I96e133dc5c59b9c811ff69df7651adadfcdf3a97
2020-02-25 10:56:37 +00:00
Monty Taylor
d36ba50765 Fix unittests for python2 and fedora
We need to pin enum34 on python2 because upstream broke it.

Also, we should not install zuul in python2, because it's not targetted
at python2. It's only here so that linters can deal with zuul_return
and other things from its library, so it should be fine to not install
it for python2 unittests.

GitPython was in here as a pin to the versions that support python3
for zuul. Since we're constraining zuul to only python3, we don't need
to mention GitPython at all.

Update the siblings unit test to use requests as the package we expect
to be already installed since we're no longer installing zuul for
python2.

Fedora 29 got archived upstream:

  http://mirror.sjc1.vexxhost.openstack.org/fedora/releases/29/README

So we need to switch to fedora 30.

Change-Id: I69e0b03f624ba45889916f89c0912df667aaf096
2020-02-24 10:50:13 -06:00
Sorin Sbarnea
22b0ed2c4d Enable testing of install-docker on multiple platforms
Change-Id: I6b9d4a51ed9966b8f39917783c8649fa3b4bd096
2020-02-21 18:55:10 +00:00
Zuul
2aa8ef9f41 Merge "Add ensure-java role" 2020-02-21 15:49:30 +00:00
Zuul
f4703021a4 Merge "Add ensure-bazelisk role" 2020-02-21 15:31:53 +00:00
James E. Blair
bfb3507c5b Add ensure-java role
Change-Id: Ibaf45bd09a47d55ce21af34763563c20f9396cd2
2020-02-21 06:55:47 -06:00
James E. Blair
d0591ad98f Add ensure-bazelisk role
This adds a role which installs bazelisk if it is not already
present.  It also adds a test job which exercises the role; the
job will be run on any changes to the new role.

Change-Id: I69b28b58338b46ec3fea696f9d97be4271ed6ae4
2020-02-21 06:55:44 -06:00
Zuul
1a84d2ff5a Merge "fetch-subunit-output: introduce zuul_use_fetch_output" 2020-02-17 16:42:46 +00:00
Zuul
fa6e25f730 Merge "fetch-javascript-tarball: introduce zuul_use_fetch_output" 2020-02-17 16:42:44 +00:00
Zuul
0bec277bab Merge "Add tox env for update-test-platforms" 2020-02-12 17:55:24 +00:00
James E. Blair
407af231c2 Add an ensure-tox test job
Change-Id: I1116e745dd7f9e81af268922f046c9e8073b8447
2020-02-11 19:23:11 +00:00
Ian Wienand
39bebd1623 Add tox env for update-test-platforms
It seems some versions of ruamel do a better job at preserving
comments than others.  Create a tox env to regenerate the lists with a
version we know works.

Change-Id: I13503890fd3c18487281e3394b003e9f36cd24f2
2020-02-07 09:58:10 +11:00
Tristan Cacqueray
9204e7d1d8 fetch-javascript-tarball: introduce zuul_use_fetch_output
This change enables using fetch-javascript role along with
the fetch-output role. By default the role still synchronizes
artifacts back to the executor.

Change-Id: I8450ecf91b3387445ebe2436754d1b88f2a77844
2020-01-24 21:11:07 +00:00
Tristan Cacqueray
a07bbee70c fetch-subunit-output: introduce zuul_use_fetch_output
This change enables using fetch-subunit-output role along with
the fetch-output role. By default the role still synchronizes
artifacts back to the executor.

Change-Id: I50a50856b96a9112c1b4be82ca04b612fd29d939
2020-01-24 21:07:50 +00:00
Sorin Sbarnea
0c8560de77 Making opensuse-tumbleweed jobs nv
Avoids ocasional failures caused by broken mirror repository.

We keep it, as it proves useful in discovering other issues from time
to time.

See https://zuul.opendev.org/t/zuul/builds?job_name=zuul-jobs-test-multinode-roles-opensuse-tumbleweed

Also assures linting catches errors caused by changes that missed to
regenerate the project stanza.

Change-Id: Id988a51175e8daa4f3c9725822dadcd7cd7aeb0e
2020-01-24 09:41:34 +01:00
Zuul
4facd5ddc7 Merge "fetch-tox-output: introduce zuul_use_fetch_output" 2020-01-24 08:36:57 +00:00
Andreas Jaeger
f2680ebc70 Remove trusty testing
OpenDev is removing trusty nodes, remove test jobs.

Change-Id: Ibdd903daeefcec40990dc777d53af5cf3ea7844e
2020-01-17 10:44:38 +01:00
Tristan Cacqueray
56ee80234c fetch-tox-output: introduce zuul_use_fetch_output
This change enables using fetch-tox role along with
the fetch-output role. By default the role still synchronizes
artifacts back to the executor.

Change-Id: Iffe5ffc52ee4c765b2e23ab8b3235b6bc7c510d8
2020-01-13 21:13:55 +00:00
Zuul
1e378f4071 Merge "Add cri-o support to use-buildset registry" 2020-01-09 16:49:54 +00:00
James E. Blair
b6cb191295 Add cri-o support to use-buildset registry
This lets use-buildset-registry notify cri-o about the new
registries.conf file if it is being used as the container backend
for k8s.

Change-Id: Ia1805519ab4b6bb5f79df0492f702effc6a3e024
2020-01-07 07:35:28 -08:00
Andreas Jaeger
25cc095e53 Ensure python interpreter is installed for tox-py3X
Add tox-py38 and ensure that python interpreter is installed for tox-py3
jobs. The job includes the ensure-python role that checks and installs the
interpreter if python_version is set.

Test py37 to ensure that this works, it's the version currently used for
next OpenStack release, so let's test changes to roles and jobs here.

Run tox-py35 on Xenial, since that Xenial has Python 3.5 - it was run
previously on the default (3.6 in our install) instead, this change
showed that we run the wrong interpreter for tox-py35 on this repo.

Change-Id: I46d6780a5a32c443c37ef040b2af2459641dd123
2020-01-02 15:51:30 +01:00
Zuul
5b0644185f Merge "Adds go jobs and roles." 2019-12-13 17:50:51 +00:00
Zuul
8a8adfb58f Merge "openshift speculative containers" 2019-12-11 19:17:27 +00:00
Clark Boylan
f418a8d533 Fix python3 compat in tox siblings handling
This fixes a byte vs str problem on python3 in the tox role's sibling
library.

As part of this fix add unit testing of the function that was failing
under python3 and functional testing of the role that covers siblings.

Change-Id: I2df4ddce91dfd53f5c4177a19288e97120bc3e3b
2019-12-10 15:27:41 -08:00
James E. Blair
6a9aa82fcc openshift speculative containers
Change-Id: I81f7be6065a74f45386ea735a5291d48b7e042ce
2019-12-06 13:50:25 -08:00
James E. Blair
d48667a3c5 use-buildset-registry: Add podman support
Change-Id: I41718073962c8e7eb3d8810276e550fb84bd6e99
2019-12-05 11:44:15 -08:00
Ian Wienand
6a53e5c79e Make opensuse-15 job voting again
This reverts the change in I22d4cc02abaecb23d85aec3d415b43501ab1e0d2

Change-Id: Id184420eb58478976aacb8e934b2105b10388bab
2019-11-25 08:27:54 +01:00
Ian Wienand
cfdf251140 Use RDO trunk repos work for openvswitch on centos8
This is a bit of a hack, but allows installation of openvswitch for
testing the multinode roles.  Official CentOS 8 RDO builds are still a
work in progress, but this will let us get a head-start on any
multi-node testing.

Change-Id: I2eb1a16e9995a19d61e309aa59b232577184b527
2019-11-25 08:27:50 +01:00
Ian Wienand
f1cb8842a6 container-roles test: remove duplicated jobs
zuul-jobs-test-install-kubernetes-docker came in with 03e42f87 but was
then duplicated with 91ae8e62.  Remove the duplicate.

In the same change (91ae8e62) it looks like
zuul-jobs-test-install-kubernetes-crio has acquired a nodeset
defintion from further up the file.  Remove it too.

I noticed this because when tools/update-test-platforms.py would run
it created the jobs twice.  I think the note proposed in
Iaaafce2ef2f60e0c66723a34b17d60ec766b5f70 will help to avoid a skew
like this happening again.

Change-Id: Id9c95727d7b458edcd85b3c09f1d191fd3fcf1b9
2019-11-25 11:38:05 +11:00
Ian Wienand
27b9e6c67b zuul-tests.d: add autogeneration note
The project: section is actually owned by
tools/update-test-platforms.py script.  Add a note to make this clear;
otherwise manual edits get this out of sync and makes a mess when we
do try and regenerate it.

Change-Id: Iaaafce2ef2f60e0c66723a34b17d60ec766b5f70
2019-11-25 11:37:55 +11:00
Ian Wienand
7c1452d5b1 Make opensuse-15 jobs non-voting
There is currently an issue with the mirror for this platform.

Jobs report

 http://<mirror>/opensuse/update/leap/15.1/oss/] Valid metadata not found at specified URL

We have checked the mirroring process for this directory, and it is
in-sync with the upstream mirror.  This means it must be related to
something from the actual source distribution.

Make this non-voting while we sort this out.

Note, a follow-on (If41da9089a961dc27cda954924c17104e622dacc) makes
the tools/update-test-platforms.py handle non-voting platforms.
However, there are additional problems with duplicate jobs that need
to be fixed too.  Thus this is a manual update.

Change-Id: I22d4cc02abaecb23d85aec3d415b43501ab1e0d2
2019-11-25 11:35:53 +11:00
vass
0ee411860a Adds go jobs and roles.
Adds jobs to test and build go packages.
Adds a role to download and install go from
the official download page (https://golang.org/dl/).
Adds a role to run commands with go e.g build, test, run.

Change-Id: Iad2d877fffa2530e9fdeec648a60755a80cf01f4
2019-11-20 20:27:21 +01:00
Ian Wienand
cdff4b7835 Role to install podman
A simple role to install podman packages.

Change-Id: I135fab8474b3564bb4ab1f2b19d4645d4a86f560
2019-11-08 08:51:58 +01:00
James E. Blair
91ae8e62de Test buildset registry with k8s and docker
This adds a test job for the buildset registry with k8s with the
docker runtime.

Change-Id: I0ec1d3d5980424f85f5e7619b9dec96c8f0f70f1
2019-10-28 15:45:39 -07:00