zuul/tests/fixtures/config
Tobias Henkel b999b7c862
Fix wedged scheduler on force-merge of non-existing template
If there is already a post pipeline defined a force-merge of a change
referencing a non-existent project template currently can wedge the
scheduler. In this case an exception is raised during reporting which
throws the run handler completely out of its loop and the loop starts
over from the beginning. However the item to be reported is not
consumed in this case so zuul is stuck in an exception loop [1] and
can only be recovered by a restart.

This can be fixed by catching the exception and continuing the
reporting.

[1] Traceback:
2019-01-28 07:33:57,304 ERROR zuul.Scheduler: Exception in run handler:
Traceback (most recent call last):
  File "/opt/zuul/lib/python3.6/site-packages/zuul/scheduler.py", line 1033, in run
    while (pipeline.manager.processQueue() and
  File "/opt/zuul/lib/python3.6/site-packages/zuul/manager/__init__.py", line 768, in processQueue
    item, nnfi)
  File "/opt/zuul/lib/python3.6/site-packages/zuul/manager/__init__.py", line 735, in _processOneItem
    self.reportItem(item)
  File "/opt/zuul/lib/python3.6/site-packages/zuul/manager/__init__.py", line 880, in reportItem
    item.reported = not self._reportItem(item)
  File "/opt/zuul/lib/python3.6/site-packages/zuul/manager/__init__.py", line 920, in _reportItem
    if not layout.getProjectPipelineConfig(item):
  File "/opt/zuul/lib/python3.6/site-packages/zuul/model.py", line 3435, in getProjectPipelineConfig
    templates = self.getProjectTemplates(template_name)
  File "/opt/zuul/lib/python3.6/site-packages/zuul/model.py", line 3374, in getProjectTemplates
    raise TemplateNotFoundError("Project template %s not found" % name)
zuul.model.TemplateNotFoundError: Project template foo not found

Change-Id: I1a3b59dadbd9337a8ba5b146f09ad093a0123ce8
2019-02-03 19:06:31 +01:00
..
abstract Add abstract job attribute 2018-02-12 15:35:54 -08:00
allowed-projects Set allowed-projects on untrusted jobs with secrets 2019-01-22 14:01:10 -08:00
ambiguous-names scheduler: fix enqueue event to use canonical project name 2018-07-13 06:58:36 +00:00
ansible Fix missing safe_args for add_host 2019-01-17 08:58:48 -05:00
ansible-no-log Fix unreachable nodes detection 2018-09-29 13:13:00 +02:00
ansible-unreachable Also retry the job if a post job failed with unreachable 2018-09-29 13:13:01 +02:00
base-jobs Update test fixtures to use explicit run 2017-10-26 15:59:41 -07:00
branch-deletion Fix branch deletion after failed reconfig 2018-02-14 14:26:31 -08:00
branch-mismatch Use override-checkout to select jobs 2018-01-24 13:06:04 -08:00
branch-negative Fix complex branch matchers in project configs 2017-12-01 15:25:13 -08:00
branch-tag Don't add implied branch matchers to project-pipeline variants 2018-06-27 10:43:56 -07:00
branch-templates Combine branch templates and pipeline branch matchers 2017-11-28 14:07:14 -08:00
branch-variants Update playbook paths with extension 2017-12-05 14:25:07 +11:00
broken Report config errors when removing cross-repo jobs 2018-07-11 07:52:48 +02:00
central-jobs Add multi-branch support for project-templates 2017-10-27 13:41:25 -07:00
conflict-config Require a base job 2017-08-07 14:52:37 -07:00
container-build-resources Fix container job documentation typo 2018-12-19 05:37:22 +00:00
cross-source Add cross-source tests 2018-01-16 09:37:59 -08:00
data-return Fix node leak when skipping child jobs 2018-12-11 19:42:36 +01:00
dependency-graph Update test fixtures to use explicit run 2017-10-26 15:59:41 -07:00
disk-accountant Sync when doing disk accountant testing 2018-02-06 15:03:04 -08:00
duplicate-pipeline Tenant config can be read from an external script 2018-04-03 14:33:41 +02:00
final Update test fixtures to use explicit run 2017-10-26 15:59:41 -07:00
force-merge-template Fix wedged scheduler on force-merge of non-existing template 2019-02-03 19:06:31 +01:00
gerrit-file-comments Filter file comments for existing files 2018-10-25 06:21:01 -07:00
git-driver Git driver 2017-12-15 14:32:40 +01:00
governor Executor: Don't start too many jobs at once 2018-02-02 11:36:49 -08:00
implicit-project Add implicit project name matching 2017-12-22 10:09:28 +01:00
implicit-roles Update test fixtures to use explicit run 2017-10-26 15:59:41 -07:00
in-repo Update test fixtures to use explicit run 2017-10-26 15:59:41 -07:00
in-repo-join Update test fixtures to use explicit run 2017-10-26 15:59:41 -07:00
inventory Add specific setup inventory 2017-12-28 18:13:44 +01:00
job-output Fix reporting ansible errors in buildlog 2018-11-07 15:11:17 +01:00
job-pause Resume paused job with skipped children 2018-11-05 12:06:32 +01:00
line-mapping Map file comment line numbers 2018-08-15 14:38:03 -07:00
merge-modes/git/common-config/playbooks Merge "Add playbooks for all test jobs" into feature/zuulv3 2017-02-06 16:45:58 +00:00
merges Update test fixtures to use explicit run 2017-10-26 15:59:41 -07:00
mqtt-driver mqtt: add basic reporter 2018-05-02 07:20:46 +00:00
multi-driver Update test fixtures to use explicit run 2017-10-26 15:59:41 -07:00
multi-tenant Add allowed-labels tenant setting 2018-11-27 06:00:54 +00:00
multi-tenant-semaphore Update test fixtures to use explicit run 2017-10-26 15:59:41 -07:00
nodesets Handle nodesets in branches 2018-01-18 13:38:13 -08:00
openstack Update test fixtures to use explicit run 2017-10-26 15:59:41 -07:00
pass-to-parent Add more testing for pass-to-parent 2019-01-18 12:02:01 -08:00
post-playbook Update playbook paths with extension 2017-12-05 14:25:07 +11:00
pragma Add pragma directive 2017-10-26 14:28:03 -07:00
pragma-multibranch Add implied-branches pragma directive 2017-12-13 16:06:34 -08:00
pre-playbook Enable autohold for RETRY_LIMIT / POST_FAILURE 2018-03-21 15:16:08 -04:00
protected Add support for protected jobs 2017-12-15 19:31:02 +01:00
provides-requires-pause Add provides/requires support 2019-01-30 14:07:42 -08:00
push-reqs Update test fixtures to use explicit run 2017-10-26 15:59:41 -07:00
regex-project Add regex support to project stanzas 2018-04-27 21:35:07 +02:00
remote-action-modules Merge "Convert zuul_return into action plugin" 2019-01-18 20:37:11 +00:00
remote-zuul-json Add role information to task in zuul_json callback 2018-05-08 14:13:35 +02:00
remote-zuul-stream Don't do live streaming in loops 2018-11-05 22:21:38 +01:00
requirements Fix reject clauses in the absence of approvals 2018-08-13 12:37:32 +02:00
role-branches Check out more appropriate branches of role and playbook repos 2018-04-05 10:41:51 -07:00
roles Update test fixtures to use explicit run 2017-10-26 15:59:41 -07:00
secret-inheritance Set allowed-projects on untrusted jobs with secrets 2019-01-22 14:01:10 -08:00
secret-leaks Update test fixtures to use explicit run 2017-10-26 15:59:41 -07:00
secrets Support complex data structures as secrets 2018-07-26 11:24:35 +00:00
semaphore Improve resource usage with semaphores 2018-11-20 15:20:59 +01:00
semaphore-branches Normalize semaphore branch handling 2018-01-18 14:53:15 -08:00
shadow Update test fixtures to use explicit run 2017-10-26 15:59:41 -07:00
single-tenant web: fix job required-projects list 2018-08-10 01:31:14 +00:00
speculative-plugins Fix plugin injection vulnerability 2018-03-16 18:12:35 +01:00
split-config Fix source context in split config 2018-07-05 09:50:58 -07:00
sql-driver Combine artifact URLs with log_url if relative 2019-01-04 14:01:23 -08:00
streamer Add timestamps to multiline debug message logs 2018-06-07 09:23:08 -07:00
success-url Update test fixtures to use explicit run 2017-10-26 15:59:41 -07:00
templated-project Update test fixtures to use explicit run 2017-10-26 15:59:41 -07:00
tenant-parser Add tenant yaml validation option to zuul client 2018-07-23 17:00:57 +02:00
unprotected-branches Reload tenant in case of new project branches 2018-09-10 09:29:43 +02:00
zuul-connections-multiple-gerrits Update test fixtures to use explicit run 2017-10-26 15:59:41 -07:00
zuul-connections-same-gerrit Update test fixtures to use explicit run 2017-10-26 15:59:41 -07:00
zuul-job-contamination Fix job contamination by unmerged change 2018-07-09 22:37:19 +02:00
zuultrigger Limit search scope of getChangesDependingOn to tenant 2018-05-24 00:15:51 +00:00