76 Commits

Author SHA1 Message Date
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
James E. Blair
4da8f6c3a7 Open iptables ports in registry test job
Open the iptables ports in the same way there are opened in the
production opendev configuration.  Do that in a pre-playbook and
move some tasks into it for retryability.

Change-Id: I992174aa3c7e47f9d2f70605172cd8b9460c53eb
2019-10-22 14:38:51 -07:00
Zuul
ff1c4648e1 Merge "fetch-subunit-output: collect additional subunits (2nd try)" 2019-10-21 19:48:51 +00:00
Tristan Cacqueray
25949ea416 install-kubernetes: add sanity check for crio
Change-Id: I1b9e6c7baac4fdf8cd053e1661b09e47e4dda1c4
2019-10-17 19:59:08 +00:00
James E. Blair
03e42f874b install-kubernetes: add support for cri-o runtime
This adds optional support for using the cri-o rather than the
(still default) docker runtime.

Change-Id: I0f7cbb758a21cb022ceac24654183138bebf83bf
2019-10-17 11:27:31 -07:00
Luigi Toscano
ab8f9fc403 fetch-subunit-output: collect additional subunits (2nd try)
In addition to the main subunit file from zuul_work_dir,
collect the subunit files from the elements (directories)
of the zuul_additional_subunit_dirs list.

The default behavior is unchanged.

While the documentation of this role states that zuul_work_dir
contains an absolute path, this is not always true.
So make sure to not make any assumption about zuul_work_dir
in order to not fail spectacularly as it happened with the
previous patch[0].

Add also some tests for the role: both the basic case
and with an additional test directory.

[0] https://review.opendev.org/673885

Change-Id: Iabf2e0cf6d86e36a174778367186bbd39a65c3dd
2019-10-17 00:42:28 +02:00
Zuul
6d5826844a Merge "Allow for overriding dns resolvers in install-kubernetes" 2019-10-16 19:30:17 +00:00
Ian Wienand
2e684a8da5 configure-mirrors: add CentOS 8
Add repositories for CentOS 8, add base test.

Co-Authored-By: Sorin Sbarnea <ssbarnea@redhat.com>
Change-Id: I24e194a2f4729046c8f521ffccd3b00055127516
2019-10-15 17:33:48 +11:00
Zuul
8c15cdf4a0 Merge "Update the base-roles test to use prepare-workspace-git" 2019-09-17 17:47:01 +00:00
Ian Wienand
7f41a50ac0 Add a netconsole role
This role sets up a host to report via netconsole.  It is a port of
old devstack-gate functionality from circa
Iebc8e1812d1441aba7c18d3e7c982b620b5198a0.

Change-Id: I37c26fdbcdf61a55fae4cbee3eb61a4bc45ca628
2019-09-09 18:14:00 +10:00
James E. Blair
91a0d9b312 Update the base-roles test to use prepare-workspace-git
This is what this job should have been testing, as it's what we
recommend people use.  We simply didn't notice that OpenDev never
finished the transition away from use-cached-repos (which isn't
even defined in this repo).

Change-Id: I9be05f9c035441c3a0f84206b25580263663d179
2019-09-06 07:13:41 -07:00
Clark Boylan
5c089bf032 Allow for overriding dns resolvers in install-kubernetes
By default kubernetes wants to use the local resolvers on the host
system. But in many cases the local resolver may be 127.0.0.1 which is a
different localhost on the host system then in the container network
namespaces. To address this disconnect you can supply a different
resolv.conf with a list of nameservers to use instead. Add support for
this.

Note that the test currently only uses ipv4 resolvers because by default
k8s has no support for ipv6.

Change-Id: I3c0d7d88613e2c9112e809f036aef3dfeaf7ab72
2019-08-21 09:36:27 -07:00
James E. Blair
6e865fa04a Collect container logs from test-registry job
To help with debugging job errors.

Change-Id: I31bb65ee059f14603761d0fec0f8d3d5dc3344a1
2019-08-12 08:00:21 -07:00
James E. Blair
7b75da65a5 Add test-bindep job
Change-Id: I781500ae2cabef504ba32ba087f80bc9d2a0a417
2019-08-01 08:46:13 -07:00
Monty Taylor
4a9d8b32e2 Add clear-firewall role
Some jobs need to start with a clean slate of firewall rules so that
they can manage their own rules. Add a simple role that clears out
everything.

Change-Id: I92d3b02a6bd4f19460294ca5293dfbbd67bfd295
2019-07-25 14:12:53 -07:00
James E. Blair
a74ff55816 Add generate-zuul-manifest role
Also, pin gitpython since it's gone py3-only.

Change-Id: I0d626945908ec4df785aea793f6243c6fdfbdb14
2019-07-23 09:43:55 -07:00