Fix method name call when files cannot be found

Change-Id: I0e2b11979383ec2353509046b6a77199533058d8
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"
Some tweaks to get closer to Python 3 compat

Convert to use idioms that work for both python 3 and python 2.6+ and
ensure that a suitable version of dependencies is included for python 3
compatibility.

Update python-jenkins to 0.3.3 as the earliest version that supports
python 3 without any known regressions. Add an extra parser check for
missing 'command' due to changes in how argparse works under python 3.

Where contents should be retained, to access the first element of a dict
in both python 2 and 3, 'next(iter(dict.items()))' is used as the
standard idiom to replace 'dict.items()[0]' as 'items()' returns an
iterator in python 3 which cannot be indexed. Using 'next(iter(..))'
allows for both lists and iterators to be passed in without unnecessary
conversion of iterators to lists which would be true of
'list(dict.items())[0]'.

Alternatively, where further access to the data is not required,
'dict.popitem()' is used.

Change-Id: If4b35e2ceee8239379700e22eb79a3eaa04d6f0f
Adds support for Change Assembly Version plugin

See https://wiki.jenkins-ci.org/display/JENKINS/Change+Assembly+Version

Change-Id: Ib1ae6a18b4fc1ea0e75228b288d59dbec7e4d44c
Add support for the Jenkins Environment Script plugin.

Change-Id: Ia941b3426dd474f0f7d5ddaf9f40a44f7fdbc711
Merge "Ensure dict orders are deterministic"
Merge "Some tweaks to get closer to Python 3 compat"
Revert "Some tweaks to get closer to Python 3 compat"

This reverts commit 1d7647fa857fa718af814f3038d538d758c35201.

This change altered the xml output (by forcing it to fail) which a
backward compatible change should not do. Revert it in order to get this
compat change in without breaking that output and test.

Change-Id: I20f66fb1bd9c70a0debbdd5eebacf6ec5d0f5df9
Merge "Add support for the Jenkins Environment Script plugin."
Merge "Adds support for Change Assembly Version plugin"
Merge "Revert "Some tweaks to get closer to Python 3 compat""
Merge "Fix method name call when files cannot be found"
Move ordereddict to requirements

Need ordereddict in the requirements as it is used at run time by the
yaml parsing code not just a test time.

Change-Id: Ic41e7adb5a06ed319f6201a13b9f7391fc245853