Fix method name call when files cannot be found

Change-Id: I0e2b11979383ec2353509046b6a77199533058d8
doc update: add references to yaml local include files

Change-Id: I3e30d4f988ae8d9506d6975d1f8aa913eab1abea
git: Support timeout option

This requires git plugin version 2.2.3

Change-Id: I24a2bce00e35f74a5c513d02a7bffe05267cd498
Allow configuration of Topics for Gerrit trigger

Gerrit trigger in addition to project name, branch and
file-path also supports when-to-trigger limitation
based on topic of the change, this adds support for that.

Change-Id: Icfcb3f02903a61294d23dd53308287a67927c777
Apply defaults to job-templates parameters

I had the use case of a lot of projects sharing the same job template
that uses a lot of variables.  That requires each project to define all
the variables even if they are mostly identical.

This patch propose to define varialbes as 'defaults' and have them
applied in the job-template magically (oneline diffs always have that
feeling to me).

So instead of:

- project:
    name: project1
    arch: amd64
    builder: debuild
    lintian: true
    jobs:
     - '{name}-build-{arch}'

And so on ...

I can just:

- defaults:
    name: sanebuild

- project:
    name: project1
    defaults: sanebuild
    jobs:
     - '{name}-build-{arch}'

And override the arch as needed either in the project or by passing it
to the job.

Without this patch, the provided yamlparser fixture
template_honor_defaults.yaml would raise:

    arch parameter missing to format echo Build arch {arch}.
    Given: {'': '', 'jobs': ['build-{arch}'], 'name': 'project-name'}

Change-Id: Ida1e27eb47356d9cae42175743bd2fd52eb9d869
Work around PYTHONHASHSEED-related problems

The JJB unit tests no longer pass, due to an upgraded version of
tox which sets PYTHONHASHSEED to random values.  Since the ordering
problem introduced is a difficult one to smash, this just sets
PYTHONHASHSEED to 0.  This also fixes the syntax of the
"[testenv]setenv" configuration setting.

Change-Id: I61fdbdf1a5099bcbacaeba59ff5001bb23df8cfd
Related-Bug: #1348818
Adding feature to specify the user id for jenkins user credentials

This feature allows one to specify the user id for the jenkins
ssh-agent-credentials in the wrappers section of the yaml file.
Also providing yaml and corresponding xml files for testing.

Change-Id: I6c19945450c6ef55fead72c32594adb5a9b807c6
SCM: rename `self` arguments to `parser`

For consistency with other modules.

Change-Id: Ia78173f0c895896751f4e17fff5fd47f3e9c1ad5
Merge "Adding feature to specify the user id for jenkins user credentials"
Merge "Apply defaults to job-templates parameters"
Add support for the Jenkins Valgrind publisher plugin.

Change-Id: Id5d460a8432b2ab875e8e7063f459ef15b942284
Merge "Add support for the Jenkins Valgrind publisher plugin."
Added recursive option

Now you can organize your yaml files into subdirectories and apply them
all just passing --recursive option or adding the proper configuration
file option.

In adding support for multiple paths the Builder.load_files method was
reworked to be backward compatible with individual paths or file-like
objects, while also now handling being passed a list of paths or
file-like objects to be parsed.

Change-Id: I126751e347622716c592c6ed1a57b8acb7bf79a4
Merge "Allow configuration of Topics for Gerrit trigger"
Handle utf8 in JJB

JJB didn't actually handle unicode data very well for a couple reasons.
First the local yaml loader was loading files into yaml as strings
instead of unicode which we should just go ahead and do because yaml's
built int loader loads utf-8 by default (and we don't override the
default). Second we need to do parameter substitution on unicode and
regular strings so change the substitution typecheck to use basestring
instead of str. Finally we need to use UTF-8 as the encoding when
emitting XML so do that.

Add tests to actually test this in the yamlparser tests. The addition of
these new tests comes with a little bit of cleanup in the test classes
to make sure we load unicode files as utf8 more consistently.

Change-Id: I2169e19aae2cdc7ddbd1e7217ef7584c786a039a
Fixes-bug: 1361090
valgrind publisher: Add parameters to fail build

Add optional parameters fail-no-reports and fail-invalid-reports that
set the build status to failure if no valgrind reports are available
or if the reports are malformed.

This parameters have been added to the Jenkins Valgrind Plugin
version 0.21.

Change-Id: I558802896f24a596f07957ab58a83fcaf6054093
Merge "Handle utf8 in JJB"
Implements wrapper for ownership plugin.

This wrapper sets "Inject ownership variables into environment"

Change-Id: Ib8a37c1a5cd3c6ec35d7fb25fddee82fdeb76aaa
Ensure dict orders are deterministic

Python 3 enables hash randomization by default, additionally tox 1.7
turns on the same randomization for earlier versions of python by
default. Need to ensure that order of iteration over the yaml data and
resulting XML has deterministic order for testing.

Adapts https://gist.github.com/enaeseth/844388 which ensures data read
by yaml will have its order retained in a predictable manner across
multiple python versions.

Additionally it seems more sensible to ensure that the order of
generated XML snippets corresponding to the input yaml files are
consistently in the same order as the entries in the source files.

Closes-Bug: #1333349
Change-Id: I6bf6d298a2609cc6ddbbc6b02b7f1a04413a5c89
Merge "valgrind publisher: Add parameters to fail build"