tree 996d322fdfca8c8dc98b2c6682462e9dd178a488
parent 950c6b1e2ddf721d93a6ea7d51e682b1524bc7c9
author Monty Taylor <mordred@inaugust.com> 1507304257 -0500
committer Monty Taylor <mordred@inaugust.com> 1507327285 -0500
gpgsig -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABCAAGBQJZ1/1KAAoJEHuulLxxQaWUqzUP/3syD/nPjZMNda89jPEyyL/U
 GgD/UQOe6HR0bldYP85yulYC/DEfk3EaqkT4vDdZlXtqTaVvbGYZTeGMIbkazCUb
 V068gVgu8gRNYlm4Ro0CYafYmJJcShMr4M/O7zkgeC6OuRfxuSjieM35kCdHIf9A
 5TBvhcG9MW8uDbJQa3XfrIAneBnC8ZSDBtKKHi6iAQ4m1amxdVl5ChS1Mu/0j1VG
 c6RxlKZ/pOKmI0Y3hU5AGMqtNTekhWeGbQt1lPvJbuuHoUgghMYWRpSHBM+amInY
 DpdrX5qtbcsiIoUbgpSNzCNyv1/831+ke3Dbn3624/EvvEszX+ogvFtBqxZJ4LdB
 J9meMC8kmtGbppfzoGNleF3AMI9uGcf3hGitCmPnbK2+6iMy5oQqgHhIudlbZ29+
 L4bIfH4kawypitbeGICw3RAMMR0wGSbYOtJm6KQa8Iyi0gVQx3iIEYKNFc2H9uby
 BPaWpCYxBj8+FvyU55o8rtrEWym7pEVQAfY9IeAwxDozdISgoRLQi+MP6umzjVFU
 khJdCgBF6pknrCKJW0EFkANDuPLfohRy3MzZ9biU/MLErfaY24KFyHMM7EujNFJ1
 7r2Fi5yMYjymKvx2eJyCrPdZlKMfznRjiAxy6c2GqGB40BkHQx4A1Jk6po6e4AsO
 VeMrNKhnE6X+LexHDvxE
 =PrRu
 -----END PGP SIGNATURE-----

Provide error message on malformed job list

In project and project-template definitions, the existing voluptuous
schema for the jobs in the job list was vs.Any(str, dict). The contents
of the dict itself need to be validated though, the job being a dict
that looks like:

    check:
      jobs:
        - project-test1:
            - required-projects:
                org/project2

Is invalid as the contents of the build-openstack-sphinx-docs job dict
should themselves be a string or a dict rather than a list. This updates
the error to be:

  Zuul encountered a syntax error while parsing its configuration in the
  repo org/project on branch master.  The error was:

    expected str for dictionary value @ data['check']['jobs'][0]['project-test1']

  The error appears in the following project stanza:

    project:
        name: org/project1
        check:
          jobs:
            - project-test1:
                - required-projects:
                    org/project2

    in "org/project/.zuul.yaml@master", line 4, column 3

The error, 'expected str for dictionary value' could probably be
improved at some point, but this is at least an error with a message
which is way better than 'Unknown configuration error'.

Split out the attributes of the job in the JobParser voluptuous schema
that can be used in job lists from the ones that can't. For now it's
only name that can't be used.

Also fix a test fixture that had a trailing : in it.

Change-Id: I217eb5d6befbed51b220d47afa18997a87982389
