ansible-2.9 does not allow "|skipped" anymore, it needs "is skipped"
instead, fix the only usage.
See also Ic0c93f2ea896ead76922694e6150882d8a280daf and
Id6c62da8f8a94c270d8a5d5981683a9d8c4e7ad6.
Change-Id: I597c92d2f6dce31dab1ac4bf52bb534c8146b33b
This seems to introduce the following error with Ansible 2.9
"The conditional check 'not ara_generated | skipped' failed.
The error was: template error while templating string: no filter named 'skipped'.
This reverts commit 262c16b30583f634588f5a52bd7aab944687a8a4.
Change-Id: Id6c62da8f8a94c270d8a5d5981683a9d8c4e7ad6
The
command -v pip pip3 | head -n1
introduced with Ie50928c9b782ea84db916bb1441567e1206ff466 has a very
subtle race; if "pip" and "pip3" exists and there are two lines
output, the "head -n1" will exit and depending on scheduling the
"command" might write to a broken pipe (this manifests as exit code
141).
Move this to a more explicit if statement.
Co-Authored-By: Jens Harbott <j.harbott@x-ion.de>
Change-Id: I80823a7bc6351925d6f0b20bdebca3eafef0b27d
The sphinx .doctrees directory is not needed for publishing. By default
sphinx puts it below html. Some projects add to sphinx-build a "-d"
option to put the content elsewhere and not publish it.
This change assures that a .doctrees directory below "html" will not put
stored as artifact and published later.
Statistics: In all of OpenDev, we have:
* 511 repos putting .doctrees elsewhere and thus not publishing it
* 631 repos no caring and thus publishing .doctrees
The size of .doctrees directory is not neglectable: 2MB for
system-config, 14 MB for nova.
Change-Id: I63b581164aab84352d9e80278cf4a8d634ff28af
Fixed issues failing to install tox on python3 only systems which have
only pip3 executable and not the pip one.
Needed-By: https://review.rdoproject.org/r/#/c/24584/
Change-Id: Ie50928c9b782ea84db916bb1441567e1206ff466
/vars directories from 'tox' playbook and roles are merged, which
creates conflicts and wrong variables are loaded into the playbook
Prevent merge of /vars directories from roles and 'tox' playbook
by renaming variables directory of playbook to molecule-vars.
It should fix failing job tripleo-ansible-centos-7-role-addition
Change-Id: Iee6768a27db36a3a18c0728040ab9c09857d55b6
This role runs Helm template of a specific chart and then makes
sure that all resources become ready afterwards.
Change-Id: I62e160eac673d13bd1018b58fd36cae54e1482b4
We use this in a few different places and it's really useful
to collect all the logs of all containers.
Change-Id: Idc46a47f444bf48cd040f4f9724f3a6ee8bc8f8e
Move the chart-testing task to a role (so that it is easily
reconsumable) and update the default arguments to disable checking
for version bumps (instead, we expect to rely on setting the version
when building a release).
Change-Id: I85482dc704c189222c92fd4174f733382ebf69d1
Stop compressing files that would otherwise be handled uncompressed in
intermediate log handling. The reason for this is final log/artifact
upload should decide if a file need to be compressed or not as some file
hosting services (like swift) may not return the expected data if we get
this wrong.
This was noticed when we used swift to store intermediate tar.gz
tarballs before final upload to permanent storage. When retrieving the
tar.gz files from swift we got them back as uncompressed .tar files
(because swift was being helpful) and then later when we try to
uncompress these files we break.
Instead we'll let the upload to swift (or other storage) decide if files
should be compressed further than their existing state.
This is the second change in the stack and update the stage-output role.
Change-Id: I2fa6f123d23568ba1537a7c26d2672f04110c35b
Stop compressing files that would otherwise be handled uncompressed in
intermediate log handling. The reason for this is final log/artifact
upload should decide if a file need to be compressed or not as some file
hosting services (like swift) may not return the expected data if we get
this wrong.
This was noticed when we used swift to store intermediate tar.gz
tarballs before final upload to permanent storage. When retrieving the
tar.gz files from swift we got them back as uncompressed .tar files
(because swift was being helpful) and then later when we try to
uncompress these files we break.
Instead we'll let the upload to swift (or other storage) decide if files
should be compressed further than their existing state.
This is the first change in the stack that updates this behavior for
fetch-subunit-output.
Change-Id: I5727b270d6d34c256fe78a443baa1ad6c3474108
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
When retrieving gzipped files out of swift with gzip encoding set some
swift implementations return a decompressed version of the file if your
client cannot accept gzip encoding. This causes problems when the file
you want is actually compressed like a .tar.gz. Instead we avoid setting
the encoding type of these files forcing swift to give them back as is.
This change should only be approved after confirming its parent is
tested and working.
Change-Id: Ibcf478b572ba84273732e0ede17bf92bddd8c36f
When retrieving gzipped files out of swift with gzip encoding set some
swift implementations return a decompressed version of the file if your
client cannot accept gzip encoding. This causes problems when the file
you want is actually compressed like a .tar.gz. Instead we avoid setting
the encoding type of these files forcing swift to give them back as is.
This change will be followed by a change that updates the production
role.
Change-Id: Ica27cf070d50fcafd879b6f8ccc3964afa9bf5e6
This change updates the tox molecule playbook to make it platform
agnostic by moving the OS specific package lists into var files
that will be dynamically loaded based on the operating system
the playbook is being executed against. This is being done so
that we can use molecule on OS's like CentOS, Ubuntu, SUSE,
Debian, etc. While the only platforms supported at this time
are Red Hat based, this change will allow additional var files
to be added enabling additional platforms without needing any
chanages to our task structure.
> The linters job has been updated to exclude vars files from the
ansible lint playbook commands. This is done because the playbook
commands assume all found files are playbooks.
Change-Id: I88f3551838e3676374d0a795631c8769ba40fbf4
Signed-off-by: Kevin Carter <kecarter@redhat.com>
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
1.31.1 contained some critical fixes regarding go module
handling, let's just jump to the latest minor release.
Change-Id: I829d3a1550d343e778e79b519925099651392eb1
Ansible 2.9 does not accept the "installed" state so we need to update
occurences of that to "present".
Change-Id: I13c95794efc63697c2418334ded7c6912bd7b59f
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
There are a number of issues with this. Firstly, it needs to copy the
parent directories to make a heirarchy in the .zuul-siblings
directory. The current "cp -r" was only copying the final directory.
Switch into the source directory and use "--parent" to do this.
Also, it should be copying into the context dir. Add the
{{ item.context }} to the path where appropriate.
Make new testing image that copies in files from the siblings.
Because COPY will fail if the sources aren't there, this is like an
assert that we copied it correctly.
Change-Id: I9f3b0a1f71d20cf7511f224648dd2fa51a039015
Add support for "siblings:" to the build-container-image role. This
is a port of change I079d823e7194e15b1b496aea0f53f70f6b563f02 from the
build-docker-image role.
Note that we found a couple of issues with this role, fixed with
I9f3b0a1f71d20cf7511f224648dd2fa51a039015. However,
build-container-image has merged before this fix, so thess fixes now
follow this change. To avoid squashing this into something confusing
this update incorporates those fixes. However testing is left to the
follow-on change because the extant build-docker-image role would fail
the corrected testing. They should be merged roughly together.
One minor thing is the removal of an additional duplicated "tags:"
entry from the variable documentation.
Change-Id: I71e2f2ab29446bd113644ce8c75378b8d3ef8ba6