mirror of
https://github.com/ansible/awx.git
synced 2026-05-07 01:17:37 -02:30
Merge pull request #2899 from AlanCoding/copy_created_by
Copy WFJT created_by to jobs it spawns Reviewed-by: https://github.com/softwarefactory-project-zuul[bot]
This commit is contained in:
@@ -1374,14 +1374,13 @@ class UnifiedJob(PolymorphicModel, PasswordFieldsModel, CommonModelNameNotUnique
|
|||||||
|
|
||||||
created_by = getattr_dne(self, 'created_by')
|
created_by = getattr_dne(self, 'created_by')
|
||||||
|
|
||||||
if not created_by:
|
wj = self.get_workflow_job()
|
||||||
wj = self.get_workflow_job()
|
if wj:
|
||||||
if wj:
|
for name in ('awx', 'tower'):
|
||||||
for name in ('awx', 'tower'):
|
r['{}_workflow_job_id'.format(name)] = wj.pk
|
||||||
r['{}_workflow_job_id'.format(name)] = wj.pk
|
r['{}_workflow_job_name'.format(name)] = wj.name
|
||||||
r['{}_workflow_job_name'.format(name)] = wj.name
|
|
||||||
created_by = getattr_dne(wj, 'created_by')
|
|
||||||
|
|
||||||
|
if not created_by:
|
||||||
schedule = getattr_dne(self, 'schedule')
|
schedule = getattr_dne(self, 'schedule')
|
||||||
if schedule:
|
if schedule:
|
||||||
for name in ('awx', 'tower'):
|
for name in ('awx', 'tower'):
|
||||||
|
|||||||
@@ -276,6 +276,8 @@ class WorkflowJobNode(WorkflowNodeBase):
|
|||||||
data['extra_vars'] = extra_vars
|
data['extra_vars'] = extra_vars
|
||||||
# ensure that unified jobs created by WorkflowJobs are marked
|
# ensure that unified jobs created by WorkflowJobs are marked
|
||||||
data['_eager_fields'] = {'launch_type': 'workflow'}
|
data['_eager_fields'] = {'launch_type': 'workflow'}
|
||||||
|
if self.workflow_job and self.workflow_job.created_by:
|
||||||
|
data['_eager_fields']['created_by'] = self.workflow_job.created_by
|
||||||
# Extra processing in the case that this is a slice job
|
# Extra processing in the case that this is a slice job
|
||||||
if 'job_slice' in self.ancestor_artifacts and is_root_node:
|
if 'job_slice' in self.ancestor_artifacts and is_root_node:
|
||||||
data['_eager_fields']['allow_simultaneous'] = True
|
data['_eager_fields']['allow_simultaneous'] = True
|
||||||
|
|||||||
@@ -112,15 +112,15 @@ class TestMetaVars:
|
|||||||
for key in user_vars:
|
for key in user_vars:
|
||||||
assert key not in job.awx_meta_vars()
|
assert key not in job.awx_meta_vars()
|
||||||
|
|
||||||
def test_workflow_job_metavars(self, admin_user):
|
def test_workflow_job_metavars(self, admin_user, job_template):
|
||||||
workflow_job = WorkflowJob.objects.create(
|
workflow_job = WorkflowJob.objects.create(
|
||||||
name='workflow-job',
|
name='workflow-job',
|
||||||
created_by=admin_user
|
created_by=admin_user
|
||||||
)
|
)
|
||||||
job = Job.objects.create(
|
node = workflow_job.workflow_nodes.create(unified_job_template=job_template)
|
||||||
name='fake-job',
|
job_kv = node.get_job_kwargs()
|
||||||
launch_type='workflow'
|
job = node.unified_job_template.create_unified_job(**job_kv)
|
||||||
)
|
|
||||||
workflow_job.workflow_nodes.create(job=job)
|
workflow_job.workflow_nodes.create(job=job)
|
||||||
data = job.awx_meta_vars()
|
data = job.awx_meta_vars()
|
||||||
assert data['awx_user_id'] == admin_user.id
|
assert data['awx_user_id'] == admin_user.id
|
||||||
|
|||||||
Reference in New Issue
Block a user