Make Zuul able to start with a broken config

When zuul is starting all tenants are configured but if
a bad config is detected in one tenant (like a project references
a non existing job) then the scheduler won't start successfully
and will remain in a broken state.

When direct push to git repositories is allowed then zuul
won't be able to prevent broken config to land. Users could push
broken configurations then zuul won't be able to restart
successfully.

This patch makes zuul able to start with broken config and
register each detected config issues in an array attached
to the tenant.layout object. This array of detected issues
could be later displayed by zuul-web to warn a tenant about
issues related to its zuul job config.

The array of detected issue is limited to the first 10
issues detected by tenant.

Change-Id: I82c4595c2c73cf0192c15e00a8ffdff4a6cce0e6
This commit is contained in:
Fabien Boucher
2018-03-30 18:24:29 +02:00
parent 57fa349ebf
commit 537dbe5377
13 changed files with 419 additions and 114 deletions

View File

@@ -0,0 +1,8 @@
---
features:
- |
Zuul is now ables to start with an invalid configuration.
When reading configuration files from project repositories,
if an issue is detected, Zuul will store the issue and skip
the broken block of configuration. Issues are then reported
in the scheduler log at the end of the configuration phase.