Commit Graph

17 Commits

Author SHA1 Message Date
Monty Taylor f0314feb8c
Use reno for release notes
The OpenStack Release team has created a great release notes management
tool that integrates with Sphinx. Start using it. For reference on how
to use it, see http://docs.openstack.org/developer/reno/

Add an initial release note with no contents so that the build flow and
docs integration can be verified. The note file can be removed later.

Change-Id: I254cd220fc8c0c06ee87f84f1fb5cbe3244f0fed
2018-03-28 15:52:21 -05:00
Atsushi SAKAI 5d7e93be95 Fix two typos on zuul documentation
ar   => are
addtion => addition

Change-Id: I93e3016b0667b7dd2f81d526b52cae4cba9e89c2
2015-07-28 22:16:32 +09:00
James E. Blair 4076e2b432 Split the merger into a separate process
Connect it to Zuul via Gearman.  Any number of mergers may be
deployed.

Directly find the pipeline for a build when processing a result,
so that the procedure is roughly the same for build and merge
results.

The timer trigger currently requires the gerrit trigger also be
configured.  Make that explicit inside of the timer trigger so
that the scheduler API interaction with triggers is cleaner.

Change-Id: I69498813764753c97c426e42d17596c2ef1d87cf
2014-02-17 11:47:15 -08:00
James E. Blair 9ca3983a75 Remove Zuul ref replication.
This reverts commit 87650fa736.

The problem of distributing the load of serving Zuul Git refs will
be addressed by separating the merger component so that it can be
scaled out.  Remove this feature which is hopefully new enough that
no one is using it.

Change-Id: Id2be95c85f5c3464a66537ae3095024a964ee1c0
2014-02-06 15:09:16 -08:00
James E. Blair 01c2e63057 Remove push refs to gerrit feature
This is in preparation to move to separate merger process, which
will not have access to the trigger.  Similar functionality can
be obtained using the new replication feature, and docs have been
updated to that effect.

Change-Id: I9397f7eb8466af464c8e7adb02d0a8d3eff04f9f
2014-02-06 15:06:30 -08:00
James E. Blair 01ca498e1b Document zuul_url breaking change
The change to add zuul_url breaks backwards compatibility, so
document it in NEWS.

Change-Id: Iac4e6540f5383a570961b157b15ad4707c520414
2013-12-04 08:57:35 -08:00
James E. Blair 972e3c78e8 Use NNFI scheduler algorithm
Update the scheduler algorithm to NNFI -- Nearest Non-Failing Item.

A stateless description of the algorithm is that jobs for every
item should always be run based on the repository state(s) set by
the nearest non-failing item ahead of it in its change queue.

This means that should an item fail (for any reason -- failure to
merge, a merge conflict, or job failure) changes after it will
have their builds canceled and restarted with the assumption that
the failed change will not merge but the nearest non-failing
change ahead will merge.

This should mean that dependent queues will always be running
jobs and no longer need to wait for a failing change to merge or
not merge before restarting jobs.

This removes the dequeue-on-conflict behavior because there is
now no cost to keeping an item that can not merge in the queue.
The documentation and associated test for this are removed.

This also removes the concept of severed heads because a failing
change at the head will not prevent other changes from proceeding
with their tests.  If the jobs for the change at the head run
longer than following changes, it could still impact them while
it completes, but the reduction in code complexity is worth this
minor de-optimization.

The debugging representation of QueueItem is changed to make it
more useful.

Change-Id: I0d2d416fb0dd88647490ec06ed69deae71d39374
2013-09-20 09:01:30 -05:00
Joshua Hesketh 1879cf721c Separate reporters from triggers
Allows multiple reports per a patchset to be sent to pluggable
destinations. These are configurable per pipeline and, if not
specified, defaults to the legacy behaviour of reporting back only
to gerrit.

Having multiple reporting methods means only certain success/failure
/start parameters will apply to certain reporters. Reporters are
listed as keys under each of those actions.

This means that each key under success/failure/start is a reporter and the
dictionaries under those are sent to the reporter to deal with.

Change-Id: I80d7539772e1485d5880132f22e55751b25ec198
2013-08-29 13:17:12 +10:00
James E. Blair 63bb0ef073 Add a timer trigger
Add a trigger that enqueues items based on a timer.

Change-Id: I024be871914c8272c237b1f818589be08cda04da
2013-08-01 11:57:19 -07:00
James E. Blair 6c358e72ea Support multiple triggers
Add the ability for Zuul to accept inputs from multiple trigger
sources simultaneously.

Pipelines are associated with exactly one trigger, which must now
be named in the configuration file.

Co-Authored-By: Monty Taylor <mordred@inaugust.com>

Change-Id: Ief2b31a7b8d85d30817f2747c1e2635f71ea24b9
2013-08-01 11:56:52 -07:00
Jenkins 3cd25034b6 Merge "Fix parameter name typo in NEWS.rst." 2013-07-31 21:23:45 +00:00
Jenkins 4604435830 Merge "Pass the Job to the parameter function" 2013-07-31 21:17:16 +00:00
Jeremy Stanley e6abe810c1 Fix parameter name typo in NEWS.rst.
Change-Id: I7f1f8eaaa6a37b23ff7799f9a695831672b682a3
2013-07-31 21:16:30 +00:00
James E. Blair 66eeebfa4d Stats: break out job runtimes and counts by result
For every job completed, record the result of that job separately
to statsd.  For successful and failed jobs, record the runtimes
of the jobs separately by result (others are not interesting).

Also, substitute '_' for '.' in job names in statsd keys.

This is backwards-incompatible with current statsd keys.

Change-Id: I7b6152bcc7ea5ce6e37bf90ed41aee89baa29309
2013-07-30 08:40:36 -07:00
James E. Blair d047097792 Pass the Job to the parameter function
Pass a reference to the current job about to be run to the custom
parameter function.

Remove the un-needed ZUUL_SHORT_* parameters.

Change-Id: I39538b3815ce89fae0b59c21c5cff588509cfe4e
2013-07-29 14:26:17 -07:00
James E. Blair 6736bebf61 Dequeue changes immediately on merge conflicts
Change-Id: I4a2b9c5bc3a5659e874fe2bccbbd61da01713b9a
2013-07-18 14:49:04 -07:00
James E. Blair d78576a8d6 Custom parameter function takes QueueItem
With the change to use QueueItem, the custom parameter function
has lost some context.  Pass a QueueItem instead of a Change in
order to get it back.

Add the parameters to the build object so that they can be used
by URL pattern functions.

Add a NEWS.rst file that lists backwards incompatible changes (of
which this is one).

Change-Id: I526850fb55e25b4b84202820dc3c313d37cbe535
Reviewed-on: https://review.openstack.org/36304
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Approved: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
2013-07-11 21:53:17 +00:00