sphinx is now stricter

The documentation files often have minor typo or badly formatted
commands which makes sphinx emits a warning. To make sure we always
catch them via the Jenkins build, this patch makes sphinx to convert
warning to errors thus aborting the build, simply add to pass the -W
option to sphinx-build.

This patch also fix one warning:
* There is no source/_static dir so disable html_static_path

Test plan:

$ make clean; make html
rm -rf build/*
sphinx-build -b html -d build/doctrees  -W source build/html
Making output directory...
Running Sphinx v1.1.3
loading pickled environment... not yet created
building [html]: targets for 18 source files that are out of date
updating environment: 18 added, 0 changed, 0 removed
reading sources... [100%] zuul
looking for now-outdated files... none found
pickling environment... done
checking consistency... done
preparing documents... done
writing output... [100%] zuul
writing additional files... genindex py-modindex search
copying static files... done
dumping search index... done
dumping object inventory... done
build succeeded.

Build finished. The HTML pages are in build/html.
$

Change-Id: I55935fb5e869919ac639f841876aaf3871c71d17
Reviewed-on: https://review.openstack.org/16328
Reviewed-by: Paul Belanger <paul.belanger@polybeacon.com>
Reviewed-by: Monty Taylor <mordred@inaugust.com>
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Approved: Clark Boylan <clark.boylan@gmail.com>
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Tested-by: Jenkins
Add ability to specify mavenName for maven jobs.

Previously maven jobs did not specify a maven name so which maven
install Jenkins treated as default was used for all JJB maven jobs. Add
the ability to set a maven install explicitly so that multiple maven
installs may be used.

Change-Id: I6a26635c31c5504b855063e1d4f6fa53132f26b5
Reviewed-on: https://review.openstack.org/19756
Reviewed-by: James E. Blair <corvus@inaugust.com>
Approved: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
Documentation fixes to make Sphinx happy

On this note, we have an issue with our current gate test for
documentation not properly catching these issues.  I'll be attempting to
address the issue in a future patch.

Change-Id: I7d0bea70ef98d1744200815ce12f1436729349e8
Signed-off-by: Paul Belanger <paul.belanger@polybeacon.com>
Reviewed-on: https://review.openstack.org/19889
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Approved: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
Remove setuptools-git from setup.py.

Put it in test-requires so it's there when we build a tarball.
Change-Id: I8a5adec74beeb397e71e17030338a8051fe6fb0b
Reviewed-on: https://review.openstack.org/19885
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Approved: Clark Boylan <clark.boylan@gmail.com>
Tested-by: Jenkins
Raise exception for at least one type of syntax errors

Every so often, I create a yaml file with something like:

- job:
  name: "test"

This previously exploded with an obscure error message, now it raises
an exception with a hopefully less obscure error.

Change-Id: Ie9e402a9ec5afa8dac069a6cae5710eabbc0e665
Signed-off-by: Tollef Fog Heen <tfheen@varnish-software.com>
Reviewed-on: https://review.openstack.org/20322
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Approved: Clark Boylan <clark.boylan@gmail.com>
Tested-by: Jenkins
Bugfix and tidy-up

Allow the configuration file to be optional for test mode
Tidy-up the hipchat notifier module
    - Require a valid hipchat authtoken
Ignore temporary vi/vim files in .gitignore
Add extra debugging output
    - write out cache file to enable easy removal to force upload
    - clearly notify that no changes are seen so uploading not occurring

Change-Id: Ia418704b76090e284e0b801609f2f05bfa06b9ae
Reviewed-on: https://review.openstack.org/20380
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Reviewed-by: Khai Do <do.khai@gmail.com>
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Approved: James E. Blair <corvus@inaugust.com>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
Fixing Inject to not create empty tags

Using the Inject functionality with the builders section caused
an error in Jenkins because the script-file was blank but the tag
existed in the xml.

Fixing this by adding a function to create the XML only if the given
value is not None and not a blank value '':

    def add_nonblank_xml_subelement(parent, tag, value):

Change-Id: I9151f7444f6807e929721b04fb8e7ad3a867cd6c
Reviewed-on: https://review.openstack.org/18820
Reviewed-by: Jon-Paul Sullivan <jonpaul.sullivan@hp.com>
Reviewed-by: Tollef Fog Heen <tfheen@varnish-software.com>
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Approved: Monty Taylor <mordred@inaugust.com>
Reviewed-by: Monty Taylor <mordred@inaugust.com>
Tested-by: Jenkins
publishers: added option to define groovy postbuild script

Change-Id: I3ee3be40148321412c04bfa2c72152bc41986389
Reviewed-on: https://review.openstack.org/20905
Reviewed-by: Jaroslav Henner <jhenner@redhat.com>
Reviewed-by: Monty Taylor <mordred@inaugust.com>
Approved: Clark Boylan <clark.boylan@gmail.com>
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Tested-by: Jenkins
Implement publisher.checkstyle

Add publisher for Checkstyle Plugin[1] (based on code for the
Violations Plugin publisher)

[1] https://wiki.jenkins-ci.org/display/JENKINS/Checkstyle+Plugin

Change-Id: Ie622ad8600720081072f288e72dd56e65505380a
Reviewed-on: https://review.openstack.org/21066
Reviewed-by: Monty Taylor <mordred@inaugust.com>
Approved: Clark Boylan <clark.boylan@gmail.com>
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Tested-by: Jenkins