We support configuring an alternate port for finger. Make sure it makes
its way into the URL we provide if it's provided.
Change-Id: I5f511e15c031755d5c90627830ed29b80c6285fd
The word "manager" in zuul primarily means "PipelineManager" and is
confusing here. We also send back "worker_name" which is intended to be
the unique name for the worker.
For now, send back hostname for the worker_name. In the future, we can
update this to be overridable per-executor in the config.
While we're at it, remove no-longer valid references to other worker
data from the docs.
Change-Id: Ibe5cf7295f133c9dc48162b40ae1f625a19643dc
We're starting to treat the work directory as a substitute home
directory (we put .ssh/ into it, for example), and we set $HOME
to that directory. Complete this process by updating our bwrap
passwd entry to point to that as the home directory and stop
mounting the real home dir.
Change-Id: I0fdb1913634d3902cac58112c5d683f12675c6f7
This lets things like ~.ssh/known_hosts work as expected.
Change-Id: Id2ea5c672135dbf8314a8a07efe4e48fb23fb22f
Co-Authored-By: Paul Belanger <pabelanger@redhat.com>
It's difficult to start zuul in the normal way via with an extra
argument for debugging. Make this an IPC accessible toggle.
The argument is kept for the time being because it's used by the
unit tests, and it's the only way to specify the value on startup,
but we should replace it later with a config file setting.
Change-Id: Ia59a9383fcf90a00e1475977629b7d71d3a40cb0
These repos may be used by the job, but may not show up in the
dependency chain, or as required-projects for the job. To make
sure that the executor always runs the most recent content,
add them to the list of projects to update before running a job.
Change-Id: Ia6c454e52f0ecb8b6d1b80124692ab7d63f81bd1
Gerrit io traffic used to be in a separate logger due to being in
a different class, but with subsequent reorganizations, we now
have all gerrit traffic being logged with the connection.
Create a new zuul.GerritConnection.io logger so that that massive
amount of data doesn't end up in normal debug logs and can be
filtered separately.
Change-Id: Ie54802455a8679b1618f057c1e0b8dfd17fe2b19
This change drops the playbooks/ location for pre and post playbooks
in any case and for main playbooks if the run argument is given.
That way the playbooks can be placed in arbitrary locations giving the
projects more flexibility how to structure their repo.
Change-Id: I84d42f9b293df716a7a0759c7127b6f705c075c2
We parse the owner, project and PR number of a github PR out of the
PR URL. When using github enterprise, the path preceding
$org/$repo/pulls/$number in the URL may contain some extra stuff which breaks
the parsing here. This fixes the parsing to parse that info from the end of
the string regardless.
Change-Id: Ifdf03e8aa399bf6e56ff8711c22e03c1584649df
For local non-command and non-shell tasks there is an access to
stdout_lines which is not assigned before.
Change-Id: Ifaa88a5b7399514afd1a9babe195a70a4a0e9fae
For running in bwrap the /etc/passwd and /etc/group files are
generated on the fly to only show the executing user. This needs to
add a linebreak at the end. Otherwise ssh (as well as getent) cannot
read the file. In case of ssh this results in the error 'No user
exists for uid x'.
Change-Id: I0e75dd423f2ffb93da1de4dfc064ff22991f1793
Based on comments in Ia153e2d436855dcce256d5fc91d0fd4c47116042 we
add some synchronization around the streaming thread used in the
TestStreaming.test_streaming unit test.
Also fix a style nit.
Change-Id: I673611c01862137f5169f768a30f1b3a60bfbd7d
It exists only for py2/py3 compat. We do not need it any more.
This will explicitly break Zuul v3 for python2, which is different than
simply ceasing to test it and no longer declaring we support it. Since
we're not testing it any longer, it's bound to degrade overtime without
us noticing, so hopefully a clean and explicit break will prevent people
from running under python2 and it working for a minute, then breaking
later.
Change-Id: Ia16bb399a2869ab37a183f3f2197275bb3acafee
Test that our finger log streamer will correctly find the log file
and stream its contents to a client.
Change-Id: Ia153e2d436855dcce256d5fc91d0fd4c47116042
This change renames untrusted_wrapper to execution_wrapper and uses
bubblewrap for both trusted and untrusted playbooks by default.
This change adds new options to the zuul.conf executor section to let
operators define what directories to mount ro or rw for both context:
* trusted_ro_dirs/trusted_rw_dirs, and
* untrusted_ro_dirs/untrusted_rw_dirs
Change-Id: I9a8a74a338a8a837913db5e2effeef1bd949a49c
Story: 2001070
Task: 4687
This change adds a new get_default library procedure to simplify getting
default value of config object.
Change-Id: I0546b1175b259472a10690273af611ef4bad5a99
This is needed on Fedora systems to build python packages with
gcc, but for some reason is not listed as a python-devel dep.
Change-Id: Ia7479154867902b816603dc2babf6b08b91ca919
Because we already have the known_hosts for all nodes we are planning
to use for a job, it makes sense to prime bubblewrap with this
information. This is specifically needed if using the verify_host
field in synchronize, because it relies on the ssh client knowning
have to read the default known_hosts file.
Change-Id: Ifdb3ac1eb7443beacb9277b5749d773b0c6aa4ad
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
OpenStack Infra is running Zuul v3 on Python3. We're adding things, like
the websockets streaming, that are python3 only - and testing them turns
out to be extra hard even with skipTest because of the syntax changes.
There are no legacy Zuul v3 installations to worry about, and the
Software Factory team has verified that Python3 on CentOS 7 is not a
problem. It's time to pull the plug.
Remove python2 jobs from running in v3. Make the tox defaults python3
for all testenvs and update setup.cfg to indicate that Zuul v3 supports
python3 and not python2.
Also fixed a python3 bug in zuul command line client that shows up
when running zuul --help under python3.
Change-Id: Icaccab9f6edcdba0b87ec0b5f0411d3dc8030b42
Projects that do not use github reviews may wish to instead use github
labels as a way to trigger pipelines. As such, these projects may also
wish to require labels exist on a pull request when processing other
events.
Change-Id: I8f73c438c58db38790ea7e5bf435fbda01324e77
Story: 2000774
Task: 4632
These are causing WILDLY strange issues on ze01. Revert them until we
understand.
Revert "Update run_command to latest ansible"
This reverts commit 1dbf5f96b5.
Revert "Sync command from ansible"
This reverts commit 429428c020.
Change-Id: Ib481160312216a4dbc9c3184d31cbc35b5b36371