Merge "scheduler: add job's tags to the rpc job_list method"

This commit is contained in:
Zuul 2019-03-25 21:50:12 +00:00 committed by Gerrit Code Review
commit 2a29f5b0aa
3 changed files with 18 additions and 0 deletions

View File

@ -74,6 +74,8 @@
- job:
name: project-post
tags:
- post
nodeset:
nodes:
- name: static

View File

@ -695,6 +695,17 @@ class TestWeb(BaseTestWeb):
variants = [{'parent': 'base'}]
self.assertEqual(variants, job.get('variants'))
def test_jobs_list_tags(self):
resp = self.get_url("api/tenant/tenant-one/jobs").json()
post_job = None
for job in resp:
if job['name'] == 'project-post':
post_job = job
break
self.assertIsNotNone(post_job)
self.assertEqual(['post'], post_job.get('tags'))
def test_web_job_noop(self):
job = self.get_url("api/tenant/tenant-one/job/noop").json()
self.assertEqual("noop", job[0]["name"])

View File

@ -368,10 +368,13 @@ class RPCListener(object):
job.sendWorkComplete(json.dumps(None))
for job_name in sorted(tenant.layout.jobs):
desc = None
tags = set()
variants = []
for variant in tenant.layout.jobs[job_name]:
if not desc and variant.description:
desc = variant.description.split('\n')[0]
if variant.tags:
tags.update(list(variant.tags))
job_variant = {}
if not variant.isBase():
if variant.parent:
@ -391,6 +394,8 @@ class RPCListener(object):
job_output["description"] = desc
if variants:
job_output["variants"] = variants
if tags:
job_output["tags"] = list(tags)
output.append(job_output)
job.sendWorkComplete(json.dumps(output))