Instead of getting a confusing stacktrace when someone adds a new
file that is missing the final project entry we now give a friendlier
error that also recommends way to address the issue.
Change-Id: I5a84d3a20e847eeb2d5d843ef970b5790532683c
The merge-output-to-logs role is not doing anything in this test. As
described inline, this merges files in
zuul.executor.work_root/<docs,artifacts> into the
zuul.executor.log_root directory so they are available in change
results.
Since this job doesn't publish anything there, this role is unused.
merge-output-to-logs currently can't run because it tries to run shell
scripts on the executor. Thus we can remove this unused role and
restore the job.
Change-Id: I1afc905aa8d9c420bed316e99760ad7ad1d838ce
This reverts commit 51a8ed8e95a2240547b0128701cc8acf6ba8bbcc.
This has a typo ("exector"). The fix is obvious, but the bigger
issue is that it was not caught in testing, even though the main
purpose of the change was to re-enable tests. We should understand
why it wasn't caught in testing and resolve that before fixing and
unreverting.
Change-Id: I3ed407546fecc52d4a039f7959c0521511e6a00b
In case of nodeset which doesn't have peers and switch there is
no need to install openswitch and firewall rules, because nothing
will be installed. Let's skip it if no need.
Change-Id: I98cf5ec390ee22e538baa076c9ab87eea6a44c9e
The openstacksdk dropped py35 support in 0.48.0. Since we still have
py35 support we need to pin it temporarily until we've deprecated and
removed it.
Change-Id: Ia50ed54f43605fc1e12c95a2218b73abcadc66ed
As described inline, we should lower the MTU in the docker
configuration when we see the interface has a MTU lower than 1500 so
things "just work". This particularly affects the Linaro ARM64 cloud
in OpenDev, but it is a generic issue.
Change-Id: I338616c41a65b007d56648fdab6da2a6a6b909f4
Story: https://storyboard.openstack.org/#!/story/2008230
Verifies that installed docker can download and run containers
that need network access. This should prevent bugs where
service was installed but in a broken state.
Fixes bug which failed to run tests when tests were modified.
Change-Id: I309168719fd3cb7488bc2d0f4fec7785e1eb5d53
Story: https://storyboard.openstack.org/#!/story/2008215
Ansible doens't really have a great built-in way to modify a json file
(unlike ini files). The extant docker role does what seems to be the
usual standard, which is slurp in the file, parse it and then write it
back out.
In a follow-on change (I338616c41a65b007d56648fdab6da2a6a6b909f4) we
need to set some more values in the docker configuration .json file,
which made me think it's generic enough that we can have a role to
basically run read the file, |combine and write it back out.
This adds such a role with various options, and converts the existing
json configuration update in ensure-docker to use it.
Change-Id: I155a409945e0175249cf2dc630b839c7a97fb452
This reverts commit 69a238df46ca81e8890ebb2ace7addcbb4852911.
The role is re-written with executor-safe methods.
Depends-On: https://review.opendev.org/753222
Change-Id: I0b52eff66bfdca776e0e5c426bf1fc57deb3fc49
All log upload modules use a large portion of common code for finding
files and creating indexes. Move this into module_utils so this can be
shared between all.
Change-Id: I16c105bc70e07b0c8a4aa8e96119ab7451e00346
This dependency was added with
Iaf4da5aedaa3814b2ecebed4391da2324d3e388d to prevent a warning when
using "twine check" with text/markdown descriptions.
Per [1], this check doesn't really do anything and will never fail.
We are now having issues using this role with with Python 3.8 on the
executor as the md dependency pulls in cmarkgfm which has binary
dependencies but does not publish any wheels; meaning the executor
fails to install as it does not have a toolchain setup. Unfortunately
upstream is not particularly active, so building good manylinux wheels
is not something we're going to be able to deal with in a timely
fashion.
Given that this is not a failure, and isn't really doing anything and
blocks Python 3.8, it seems our best course is to remove this
dependency.
[1] https://github.com/pypa/twine/pull/421
Change-Id: Iac5c9f63d41375889e4fdad67b9a45a24a644341
Use buildset_registry_alias for certificate file name to address
'unknown certificate authority' issue on consumer side when using standalone
use-buildset-registry role.
Issue is not visible with opendev parent jobs because certificate is handled
in pull-from-intermediate-registry role there.
Change-Id: Ieaf43be0dd4ccb92a8240a493ee6636a23c9d484
Signed-off-by: Andrii Ostapenko <andrii.ostapenko@att.com>
- replaces ignore with a warn, which displays issue without affecting
the linting outcome (allowing gradual fixing)
- bumps linter to enable the warn_list feature
- fixes a set of issues, others will be fixed in follow-up
Change-Id: I7d6f8c156b06f68f681943e88860930968e7c9f9
map returns a generator that needs to be converted to a list for
the loop.
We also don't need unique as this is iterating over a list of
directory names that must already be unique.
Change-Id: Ibd22d79be29aaa9d3a7924319c59929e665f9cbc
Use '{{ zuul.pipeline }}' tag prefix in *-docker-image instead of
'change_{{ zuul.change }}' one when zuul.change is not provided, that is
the case with periodic jobs. This allows to build, upload and promote images
using periodic jobs e.g:
- project:
periodic:
- project-buildset-registry
- project-build-image1:
dependencies:
- name: project-buildset-registry
- project-build-image2:
dependencies:
- name: project-buildset-registry
# pulls from buildset registry and tests both images
- project-test:
dependencies:
- name: project-build-image1
- name: project-build-image2
# pre-pulls images from buildset registry for fast build
- project-upload-image1:
dependencies:
- name: project-test
- project-upload-image2:
dependencies:
- name: project-test
- project-promote:
dependencies:
- name: project-upload-image1
- name: project-upload-image2
This fuctionality will allow to keep latest images up to date for the
case when image incorporates continuously updating code from multiple
repositories.
Using true ternary for tag evaluation because ternary filter requires
all passed to it variables be defined or defaulted [0].
[0] https://github.com/ansible/ansible/issues/51276
Change-Id: I8eb7d2baa24905e7aac51fce0b2f9b1f24f037f9
Signed-off-by: Andrii Ostapenko <andrii.ostapenko@att.com>
As a first step towards minimizing code duplication between the
various upload-logs roles move the uplaod modules into a common role
upload-logs-base. For easier review common code will be consolidated
in a followup change.
The google and s3 variant missed the unicode fix that swift log upload
received. Add this to make to make the test cases work with the same
fixtures.
Change-Id: I2d4474ae1023c3f3e03faaa5b888e705ee2ed0bc
In case image is prepared with python-stow-versions element,
it make sense to use stow to just enable required python version instead
of building it for each job run.
Change-Id: Ie04a2bb59d351c1e5c79b2da79f7a094c44cdf86
Don't use a shell builtin: shell builtins aren't available since
'command' ansible module is used. Instead, fail with an explicit
error when the required test_command variable is not set.
Fix this error:
Ansible output: b'failed: [host] (item=exit 1) => {
"ansible_loop_var": "item",
"changed": false,
"cmd": "exit 1",
"item": "exit 1",
"msg": "[Errno 2] No such file or directory: 'exit': 'exit'",
"rc": 2
}
Change-Id: I88303f7302d7354ffc8b18e607b28349a9860a57
Currently it's using master repo for CentOS 8. RDO s updating the version of
OVS in master to 2.13 while previous releases use version 2.12 so it's a
problem to install 2.13 for jobs gating reviews for Train or Ussuri.
This review is moving to use Train repository to install openvswitch in
all CentOS 8 jobs as it's the older version supported on CentOS 8. Note
that CI jobs running with this multi-node setup configure proper repos for
the tested release (ussuri, victoria or master) at a later stage and
update the version of OpenvSwitch to the one included on each specific
release repo.
Closes-Bug: #1896469
Change-Id: Ie30997f360b285131cb5051d582da2a15cca7205
Recent security fixes made to zuul made impossible to run this
test. Disabling this test until we can find a way to test it as
this is not an easy change.
This is needed because there were at least two other changes that
failed to pass because triggered this broken job. This was broken
for more than a month.
Main challenge here is that Ansible does not have any `mv` module, so
we still need to use shell. Replacing mv with copy could risk producing
out of disk space failures sooner or later.
Change-Id: If09e0430033fd2f1d6fc5e35e5ec0b10dc7c2dfe
Needed-By: https://review.opendev.org/#/c/748480/
Needed-By: https://review.opendev.org/#/c/748682/