Prevent YAML errors with a linter

Hi all o/

Unlike Python, YAML source is not checked and some errors like key duplicates
enter the code base. For example, `wait_timeout` key is repeated twice at some
places (with different values).

I propose the use of `yamllint` to check for such problems on Travis, hence
preventing new ones from sneaking in. I made a pull request at:
https://github.com/ansible/ansible/pull/15678

Feedback is most welcome. In particular, I disabled all cosmetic rules (checks
for whitespaces, indentation, etc.)

Cheers,

Adrien

[1]: Documentation for this linter: http://yamllint.readthedocs.io/en/latest/

I have a wip branch at https://github.com/alikins/ansible/tree/yamllint_on_yaml_error that
will also show yamllint output when yaml errors occur.

I found it useful when tracking down some bad yaml I was generating in unit tests, but might not be generally useful. For the most part, to get to the point where we throw yaml errors, the yaml is in bad enough shape yamllint doesn’t provide much info. Aside from a differently worded version of ‘there is a syntax error in the yaml’.

Other variations:

  • run it on all loaded yaml, and if in a verbose or debug mode, show the warnings