This patch enables the ability to set a value which prefers the
installation of tox within python2 over python3.
Change-Id: I29c9585aa9048c0e2855ec1eaf1f48041cfe46e2
Implements workaround for the missing --nobest option in Ansible
package module in order to succeed installing docker-ce.
Change-Id: I96e133dc5c59b9c811ff69df7651adadfcdf3a97
This works around missing parent directories in AFS, since rsync
will create the target directory but not its parent directories. In
cases where the parent directory does not yet exist, it's nice to
create it automatically first, if we can.
Change-Id: Ia136ea3a416d6085d1f6e277b4c071573c5660e4
Currently, centos8 jobs are using old RHEL repo. A repo with CentOS8
packages has been created by RDO, so let's switch to it.
Change-Id: I0df0950de5a42bb7a425609c3d5d065550d956f4
These aren't all getting cleaned up, which winds up breaking
the second runs. Instead of doing addCleanup with a method that
does the loop again, which can fail in the middle and not
clean up subsequent files, add an individual cleanup when we
add the symlink. This results in all of the symlinks consistently
being cleaned.
Change-Id: Id5a5b09c830ad2ad3bb0b77fb9dbdc494c629824
This is a simple utility that provides the zuul_return functionality
for repos that need it encapsulating the existence of zuul_return.
For instance, system-config wanted to start doing this in a playbook
but linting the playbooks became super hard because of the new need
to have zuul installed for the zuul_return library. Just keep it here
in the family.
Change-Id: I6035009455f6434c2d6cfd976c7c6f414bdc2ae7
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
I can't exactly say why, but the horizon postinstall in package.json
runs "tox -e npm" [1]. This then installs from requirements [2].
The requirements gate run a cross-horizon-npm job that ends up calling
this. The short story is that if you modify upper-constraints.txt in
a requirements change, it is not picked up by this job.
Add tox_constraints_file to this job, so we can set the path to the
zuul checked-out version for the test.
[1] e515713084/package.json (L22)
[2] e515713084/tox.ini (L23)
Needed-By: https://review.opendev.org/709389
Change-Id: Ia7dd5af19b42c2ab53dfb70f92e184b0dc215d03
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
On Gentoo this allows multiple packages to compile/install at once.
Change-Id: I23fd629a351b4c6b2acc325611ed47cc04bca404
Signed-off-by: Matthew Thode <mthode@mthode.org>
The install-docker role currently takes care of setting up Docker
however it lacks the ability to install docker-compose at the moment
which is quite useful.
This adds a variable which defaults to false that allows you to use the
role to install docker-compose. It was decided to be put within the
install-docker role because that role already manages the repository
configuration and therefore provide consistency with the repository that
is used to install docker-compose.
Change-Id: Ia6f4ed88b4baf53bd671c7a7b48a1564ff2c866d
This change enables docker user to disable the userland proxy.
Do not merge until the default is set to false (used for testing).
Change-Id: Ib30e409044ccc48b4c19beae36f1bcd453ebef8e
When generating index.html files for uploading to Google Cloud
Storage, link directories to their index.html files because
(except in certain circumstances) Google does not automatically
serve index.html files at directory URLs.
Change-Id: Ie854de328057ed080c80df9328163da98014ea36
This allows a deployer to indicate that they prefer the Zuul
dashboard to link to "dir/index.html" rather than just "/dir" when
displaying directory entries in the log browser. This helps with
log storage systems which do not automatically serve index.html
files at directory urls.
Change-Id: I0444798c689667e51d8761a20b661f8a9b90323d
High Availability packages have been added as part of core CentOS
repositories in 8.1.
This patch add this repo and enables it as it provides corosync and
pacemaker based HA solution and some other packages required for it.
Change-Id: Idbddd81f251c1ade97892128e52f9214420bead7
We have to be careful about avoiding outer loop loop_var conflicts in
ansible. Because the zuul-jobs roles are meant to be reconsumed
elsewhere we should not use 'item' loopvars and instead set them to
something a bit more unique.
We use a zj_ prefix to try and be unique to this repo and document this
convention.
Change-Id: I20b9327a914890e9eafcb2b36dc8c23fb472bc8f
If we install our own local version of tox, we should set a fact
with the tox_executable so other tasks can leverage it.
Change-Id: If6895bbb898261e88c0e3083d21210209f79995f
The upload-afs role is actually fairly specialised for uploading docs
with its root-marker scheme. As we're moving more parts of our
infrastructure to publish via AFS I think it's worth making this quite
explicit by renaming the upload-afs role to upload-afs-roots. This
should be transparent as we call the renamed role, and once callers
have been migrated we can use the usual deprecation process.
Add a partner role, upload-afs-synchronize, which is more of a
straight copy with options to synchronize. This will be suitable for
uploading tarball and release artifacts. This is similar in concept
to the promotion job used by zuul [1], but in this case will be
focused on the extant publishing jobs in project-config which don't
currently use the artifact-reporting/promote process.
[1] https://opendev.org/opendev/base-jobs/src/branch/master/playbooks/artifacts/promote.yaml#L39
Change-Id: I493d8829e3fd98e84f1b8f0e776e7ba41abf16c2
Story: #2006598
Task: #38600
The default loop variable 'item' cannot be nested. Because roles like
collect-container-logs may be called from higher level loops that use
'item' we override the loop control var to a name that should be unique.
This should probably be done to all of the other roles in zuul-jobs too.
Change-Id: I2f647596dd40c662aa7447e3d3c8844a77c6b109
Explain the intention of this role and the details of .root-marker,
some of it is copied verbatim from the infra-specs repository design
document.
Change-Id: I6d9124c7eafadc4b53626ff2fef6be6399f61947