Add non-voting jobs.

Change-Id: I5a9ccc857c28d458e3a8fbac03a9d29cc49b1da0
Reviewed-on: https://review.openstack.org/11904
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Approved: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
diff --git a/zuul/scheduler.py b/zuul/scheduler.py
index 2289ff5..c944579 100644
--- a/zuul/scheduler.py
+++ b/zuul/scheduler.py
@@ -115,6 +115,9 @@
             m = config_job.get('hold-following-changes', False)
             if m:
                 job.hold_following_changes = True
+            m = config_job.get('voting', None)
+            if m is not None:
+                job.voting = m
             fname = config_job.get('parameter-function', None)
             if fname:
                 func = self._config_env.get(fname, None)
@@ -415,10 +418,11 @@
                 hold = ''
                 if tree.job.hold_following_changes:
                     hold = ' [hold]'
-                self.log.info("%s%s%s%s" % (istr,
-                                            repr(tree.job),
-                                            efilters,
-                                            hold))
+                voting = ''
+                if not tree.job.voting:
+                    voting = ' [nonvoting]'
+                self.log.info("%s%s%s%s%s" % (istr, repr(tree.job),
+                                              efilters, hold, voting))
             for x in tree.job_trees:
                 log_jobs(x, indent + 2)