We only get messages in the debug log on unexpected exceptions. Add
a message to the job log so that people can know there was a problem.
Change-Id: I4cb6c5d22724b55c265577dffa581a3c8e74ec25
A job's runtime is no longer dependent solely on its name, but also
the tenant, project, and branch.
And enable the test.
Change-Id: I0e1fc3b1fcb90e444aa796aab4c1bce2449b76c8
There are no more functions that would not use app, so remove the
option.
Change-Id: I49f0c0836a856c30e7df38c18e3fd5d674e37374
Signed-off-by: Jesse Keating <omgjlk@us.ibm.com>
Handle the job matcher logic for 'voting' and 'branch'.
Also fix a bug where the original job name was getting set to
the new job name.
Change-Id: Idb3b8a3122ae71c00fea1d68c45f11a025578dee
Currently, if a cat job fails during reconfiguration, we simply
proceed without that section of the config, which usually doesn't
work out well. Instead, raise an exception which will abort the
reconfiguration.
Change-Id: I87f2d870f007e3df5f47c04ef49add27c8a0b554
Scope our 'success' variable from previous runs as zuul_success.
Change-Id: I96af116b9a830e5d67a9b4fd7fa7451620ad3b16
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
We log ansible parse errors specially, but the current loop
produces a bunch of lines with b'' which isn't as nice looking
as it should be.
Change-Id: I3e62e6a938422ee02099b2dfe3e1350311c722b4
We need to be able to generate a new v3 config based on our old v2
config. It won't be perfect, but should ultimately be no worse than the
v2.5 auto-generated playbooks.
Change-Id: I9cb676ceff01bbdb845d22774edbaa718323db27
This is needed for (at least) the log processor jobs which communicate
information about what labels are used.
Change-Id: I20dc54fcd56c3dfebabe4b7900ac06b729582a83
The way we were checking out tags did not match the results that would
happen from a simple 'git checkout tagname', which made it difficult for
us to push repos from the executor to the workers. It may also have
eventually caused inconsistent results with git tooling in jobs since
it didn't match the way most folks would check out a tag. (In particular,
this method did not appear to update .git/logs/HEAD, which is used by
git status.)
Change to just use the git checkout command rather than the lower-level
manipulation we were doing.
Change-Id: I77e9900c73caf16032dbadb9991358caed0e07ed
This reverts commit 517fd7741d.
2017-09-08 00:12:07,550 ERROR zuul.Scheduler: Exception in management event:
Traceback (most recent call last):
File "/usr/local/lib/python3.5/dist-packages/zuul/scheduler.py", line 783, in process_management_queue
self._doTenantReconfigureEvent(event)
File "/usr/local/lib/python3.5/dist-packages/zuul/scheduler.py", line 485, in _doTenantReconfigureEvent
self._reconfigureTenant(tenant)
File "/usr/local/lib/python3.5/dist-packages/zuul/scheduler.py", line 588, in _reconfigureTenant
self.maintainConnectionCache()
File "/usr/local/lib/python3.5/dist-packages/zuul/scheduler.py", line 731, in maintainConnectionCache
connection.maintainCache(relevant)
File "/usr/local/lib/python3.5/dist-packages/zuul/driver/github/githubconnection.py", line 574, in maintainCache
for key, change in self._change_cache.items():
This causes tenant reconfiguration to abort halfway through which can
cause changes to get stuck in a gate pipeline.
Specifically to reproduce this error, we need two changes in gate, the first
is a config (zuul.yaml) change, and some pull requests in the github cache.
When the first change lands, zuul will perform a reconfiguration and fail.
Then when the second change completes jobs, it will report and claim to be
removed from the queue, but it will still actually be there.
Change-Id: I32e4a4f864ad16be391f57793f1a3abecdd6eee8
In order to emit a message in a job like "this job was started by
https://review.openstack.org/#/c/501485/" we need to have access to
that information.
Change-Id: I05d1e9a944be914375b9ed2affa0f1e73c8e773d