This reverts commit 3aa3727225.
There are several more places in Zuul where it is assumed that job
names are unique. Fixing them all would be complicated and perhaps
not worth the benefit. Go back to requiring that they be unique for
a project.
Change-Id: I5b8aa33d6aed9cb086f44594ce59947c0190cc11
Have zuul send signed credentials as part of the job for workers to
consume and upload assets to a defined location.
Zuul currently doesn't care about logs however this change will
suggest a LOG_PATH to builders as a unqiue destination prefix
allowing zuul to know preemptively the destination.
The workers are still required to send a URL of the final location.
Change-Id: I042cdd2dd2407f381cafcabc5c6b83d9b9a9eb00
With the addition of the internal "noop" job, the config validator
should know that it exists when checking that a config file
references valid jobs.
Change-Id: Icea4def074fd9a1152966f2c768e30d98d432dfd
For example, we would like to be able to count (with the MySQL
reporter) what jobs have failed because they can't be merged
vs. real failures.
Change-Id: I98eb8b8817bbda57efc2ef5bfcc2a5076fe8f4fd
* zuul/trigger/gerrit.py(Gerrit.isMerged): Make sure to return False
if we fell through all the conditionals, rather than defaulting to
None. This should have no current impact since all comparisons to
the returned value elsewhere are boolean and not "is None" or
similar.
Change-Id: I05360833f1e5b35fbfb1894dadcb46e82ff78a11
It does nothing. Successfully.
This can be used in cases where a gate pipeline is required to
merge changes, but a project has no jobs to run. This will
run a fake internal job that succeeds without wasting any worker
resources.
Change-Id: Ica0d109aaae5fd9aff6485eaba9c428491f98c60
* Remove mention of Jenkins from the codebase
* Remove unused dependency on python-jenkins
* Update docs to be suggestive of Jenkins but not require
Change-Id: I15f5462466899fb520aa66669f2e0b1d4fa1b98a
It's possible for a test to complete before python gets around to
actually starting the webapp run thread. Make sure that the
object referenced in the stop method is always instantiated to
avoid "AttributeError: 'WebApp' object has no attribute 'server'"
errors.
Also, mark the webapp thread as daemon on general principle.
Change-Id: I9b4c0c20a98d5429c299748178e31baf8b6912d9
Canceling a build is naturally subject to race conditions as the
build is started (since canceling a build is different depending
on whether or not it has started). This has been handled by
checking whether the build has started, and if so canceling the
build, if not, removing it from the queue, and if that fails,
checking to see if the build just started and if so, canceling
that.
But even that is still racy because it's possible for the build
to have started but for zuul to not have received the gearman
packet indicating that it had. To handle that, simply don't check
whether the build has started for the third attempt.
(The reason we even check at all before the first attempt is that
canceling a running build in jenkins is somewhat expensive (it
involves iterating over all the builds) so it's better to avoid
that if we think it won't work.)
Also, add an extra check in the unit test suite when deciding
whether the system has settled. This should deal with the case
that a trigger_event -> job transition is happening during the
haveAllBuildsReported check (which only checks jobs).
Change-Id: I60018a5215e7d8230bdf6ef67ec7bc9c719fc286
In particular, shut it down after all its clients have been shut
down. In some cases, it was shut down early enough that the RPC
listener was able to attempt to reconnect to it and trigger a
rare condition in gear that would cause the reconnection thread
to hang.
Change-Id: I1dc5d77484eabf9fa43f16ae8295ddb4df4af056
Add logging to the zuul merger process that includes change numbers so
that threads of execution can be easily tracked from the zuul server log
files to the zuul merger log files.
Change-Id: Ic591f3941d6fe84874e16c8309a101a2918979a2
The init script for the zuul-merger file does not look for the
zuul-merger PIDFILE in the same default location that the zuul-merger
uses. Make them both look at /var/run/zuul-merger/zuul-merger.pid.
Change-Id: Ia5829ef3887a5651d23a80dbd00e76972c7cf6a7
Zuul send different sets of parameters depending on the event that
triggered a build, split the parameters in sub sub sections for some
clarity.
Added examples of ref-updated parameters.
Sub-sub section for the jenkins configuration.
Change-Id: I1edcd5c3a101e2afe0025ad4cd3e511582998999
* zuul/trigger/gerrit.py(Gerrit._isMerged): Only consider MERGED
status to indicate a change is successfully merged. SUBMITTED can
exist on changes which Gerrit was unable to merge due to nonexistent
parent/dependent commits, and possibly for other reasons too.
Change-Id: I673be5010031f8bc26ab31db9afcc7c28854db85