Add support for purging obsolete, managed jobs

Make it possible to get rid of no-longer-managed jobs and so
automatically clean up any such jobs.  This is optional and defaults
to off.

Change-Id: I059b811ddaaaae3105e7835e927549d9c0bbca15
Fixes: https://bugs.launchpad.net/openstack-ci/+bug/1183716
Build Blocker Plugin support added

This plugin keeps the actual job in the queue
if at least one name of currently running jobs
is matching with one of the given regular expressions.

Change-Id: I3cf4e8e01cbd537d8b25ae04cc6c6e5ba81b13e1
Make sure tox does not call pip install with --pre

* tox.ini: By default tox passes --pre to pip install commands so
that prerelease packages will be deemed automatically suitable, as a
means of keeping backwards-compatible with earlier pip releases
which did not interpret version strings looking for potential
prerelease patterns. By overriding the install_command in tox 1.6
and later, this option can be removed from the pip command line so
that prerelease versions of packages will only be installed if a
version spec for a particular package is also a prerelease.

Change-Id: I978b906b0ecd6c01c99e08f9d27271a1f31c7a14
stop ignoring doc/source/*

The doc/source directory contains rst files which are all tracked in
git. Apparently sphinx never generates anything there so I guess we can
stop ignoring the directory content.

Change-Id: Ica41c7644cfc78203b3a5f8072a4452de49aa794
Add publisher for Git Publisher support

This change adds functionality to configure the Git Publisher
post-build action in Jenkins jobs. Git Publisher is used to push
results of a build back to one or more Git repositories.

Change-Id: I275762934aa12c5c859db7c96003af8c6824b744
Merge "Add support for purging obsolete, managed jobs"
KeepLongStdio argument for JUnit publisher

JUnit publisher had hardcoded 'true' for bool option
if to keep long output log for results.

This changes it to be configurable via keep-long-stdio option.

Change-Id: I0b3ddef120e08b61a7cd327807c18353ea427a34
Merge "Add publisher for Git Publisher support"
doc: fix up strict errors

Running Sphinx 1.2b1 running in strict mode (-W), yields three different
errors:

* .. Running::   is an unknown command, uses '.. rubric::' instead
* double stars '**' needs either to be escaped with backslashes or
  quoted literrally with double backquotes
* nested lists needs newlines before and after for some reason.

Change-Id: I8680aef7306c619c817c637882715f5a7d08c5d9
log info on job deletion

We already log, at info level, when creating job. This add logging for
jobs deletions as well.

Change-Id: Id9745daa9382c87d966f2b21135e522ebdd4311a
Merge "KeepLongStdio argument for JUnit publisher"
Merge "doc: fix up strict errors"
Merge "log info on job deletion"
Add repo scm

Add support for 'repo' plugin from Android development. Ensure
only settings that actually are required are written out to
the produced XML, and all optional settings aren't included
unless explicitly set.

Change-Id: I662bdd4d348ce7ec7d213e5d7149daf130fda697
Moved get_scenarios() function to a base module to make it easier to reuse

This will let other tests use it to find fixtures

Change-Id: I4253bb0f742373f8f79dd4bb5886ef98ba81538c
Flow project support

The approach is pretty straigh forward, it consists of one new
module handling the project-type "flow". It supports the only field
needed by this kind of project an XML block containing the flow
description in a custom DSL.

Change-Id: I5195391609b3058ae9e24a59024e0cc7a69b16a0
Implements: blueprint jenkins-job-builder-flow
Merge "Flow project support"
Add optional option to copyartifact plugin

Simply add the optional option to the copyartifact plugin that was
missing. It comes with a small pieces of doc and related tiny
relevant sample.

Change-Id: Ib74932bd9e0a988b826547badd02c8a1c67ae138
Closes-Bug: #1236909
Raise exceptions when no entrypoint, macro or template found

When generating XML and no component is found for the given yaml entry
whether it is a JJB module, macro or job template, raise an exception
instead of silently continuing by not generating XML and requiring the
user to check the results.

Change-Id: Icd4b1fae123c8bbb4d8af7aa14522251cd9cf8d5
Merge "Add repo scm"