scheduler: add job's tags to the rpc job_list method
This change adds the job's tags to the jobs list to enable search over tags. Change-Id: Iccad928db0594ea14d4784dd164d1139a2599297
This commit is contained in:
parent
0f8f24e7df
commit
b936ce5dd1
|
@ -74,6 +74,8 @@
|
|||
|
||||
- job:
|
||||
name: project-post
|
||||
tags:
|
||||
- post
|
||||
nodeset:
|
||||
nodes:
|
||||
- name: static
|
||||
|
|
|
@ -683,6 +683,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"])
|
||||
|
|
|
@ -367,10 +367,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:
|
||||
|
@ -390,6 +393,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))
|
||||
|
||||
|
|
Loading…
Reference in New Issue