Workflow status original commit

This commit is contained in:
AlanCoding
2016-10-13 12:44:13 -04:00
parent 88edff521e
commit a2c972e513
8 changed files with 138 additions and 21 deletions

View File

@@ -60,6 +60,10 @@ class WorkflowNodeBase(CreatedModifiedModel):
default=None,
on_delete=models.SET_NULL,
)
fail_on_job_failure = models.BooleanField(
blank=True,
default=True,
)
# Prompting-related fields
inventory = models.ForeignKey(
'Inventory',
@@ -93,6 +97,22 @@ class WorkflowNodeBase(CreatedModifiedModel):
data[fd] = self.char_prompts[fd]
return data
@property
def job_type(self):
return self.char_prompts.get('job_type', None)
@property
def job_tags(self):
return self.char_prompts.get('job_tags', None)
@property
def skip_tags(self):
return self.char_prompts.get('skip_tags', None)
@property
def limit(self):
return self.char_prompts.get('limit', None)
def get_prompts_warnings(self):
ujt_obj = self.unified_job_template
if ujt_obj is None:
@@ -137,7 +157,7 @@ class WorkflowNodeBase(CreatedModifiedModel):
Return field names that should be copied from template node to job node.
'''
return ['workflow_job', 'unified_job_template',
'inventory', 'credential', 'char_prompts']
'inventory', 'credential', 'char_prompts', 'fail_on_job_failure']
class WorkflowJobTemplateNode(WorkflowNodeBase):
# TODO: Ensure the API forces workflow_job_template being set
@@ -383,6 +403,9 @@ class WorkflowJob(UnifiedJob, WorkflowJobOptions, JobNotificationMixin, Workflow
from awx.main.tasks import RunWorkflowJob
return RunWorkflowJob
def _has_failed(self):
return self.workflow_job_nodes.filter(job__status='failed', fail_on_job_failure=True).exists()
def socketio_emit_data(self):
return {}