Add update job scheduling and reporting
Summary:
This adds a `jobs_from_update` function to schedule jobs for a
specified Bodhi update, a CLI subcommand for doing this, and
adjusts the scheduling fedmsg consumer to do it automatically
whenever a critpath update is created (technically, whenever a
push to 'testing' is requested, but that's almost always on
creation) or edited. It also adjusts the reporting code to
handle update test jobs: the consumer and CLI code do not need
adjustment. We can tweak this in future to run the tests for
updates with particular packages or whatever, just running for
every critpath update seems like a good place to start. I
specifically didn't get any smarter about only running the tests
if the edit changed the packages because it lets us say 'if you
want the tests to be re-run, just edit the update'.
Test Plan:
The test suite was extended, so check that :) Also,
try scheduling jobs via the CLI, and if you can, by using the
testing consumer and replaying appropriate fedmsgs (or just
turning on the prod consumer, pointing it at your openQA
instance and waiting...). Try reporting an update job result
to a local test instance of ResultsDB using the CLI. Note:
you need the very latest resultsdb_conventions release (so use
git master or grab the package from Koji).
Reviewers: jsedlak
Reviewed By: jsedlak
Subscribers: tflink
Differential Revision: https://phab.qa.fedoraproject.org/D1152