mirror of
https://github.com/ansible/awx.git
synced 2026-03-18 01:17:35 -02:30
fix up mark dnr logic
This commit is contained in:
@@ -193,6 +193,8 @@ class WorkflowDAG(SimpleDAG):
|
|||||||
if node in (self.get_dependencies(p, 'failure_nodes') +
|
if node in (self.get_dependencies(p, 'failure_nodes') +
|
||||||
self.get_dependencies(p, 'always_nodes')):
|
self.get_dependencies(p, 'always_nodes')):
|
||||||
return False
|
return False
|
||||||
|
elif p.do_not_run is True:
|
||||||
|
pass
|
||||||
else:
|
else:
|
||||||
return False
|
return False
|
||||||
return True
|
return True
|
||||||
@@ -202,19 +204,18 @@ class WorkflowDAG(SimpleDAG):
|
|||||||
nodes = copy.copy(root_nodes)
|
nodes = copy.copy(root_nodes)
|
||||||
nodes_marked_do_not_run = []
|
nodes_marked_do_not_run = []
|
||||||
|
|
||||||
for index, n in enumerate(nodes):
|
for index, node in enumerate(nodes):
|
||||||
obj = n['node_object']
|
obj = node['node_object']
|
||||||
|
|
||||||
if obj.do_not_run is False and not obj.job:
|
if obj.do_not_run is False and not obj.job:
|
||||||
parent_nodes = filter(lambda n: not n.do_not_run,
|
parent_nodes = [p['node_object'] for p in self.get_dependents(obj)]
|
||||||
[p['node_object'] for p in self.get_dependents(obj)])
|
|
||||||
if self._are_all_nodes_dnr_decided(parent_nodes):
|
if self._are_all_nodes_dnr_decided(parent_nodes):
|
||||||
if obj.unified_job_template is None:
|
if obj.unified_job_template is None:
|
||||||
obj.do_not_run = True
|
obj.do_not_run = True
|
||||||
nodes_marked_do_not_run.append(n)
|
nodes_marked_do_not_run.append(node)
|
||||||
elif n not in root_nodes and self._should_mark_node_dnr(n, parent_nodes):
|
elif node not in root_nodes and self._should_mark_node_dnr(node, parent_nodes):
|
||||||
obj.do_not_run = True
|
obj.do_not_run = True
|
||||||
nodes_marked_do_not_run.append(n)
|
nodes_marked_do_not_run.append(node)
|
||||||
|
|
||||||
nodes.extend(self.get_dependencies(obj, 'success_nodes') +
|
nodes.extend(self.get_dependencies(obj, 'success_nodes') +
|
||||||
self.get_dependencies(obj, 'failure_nodes') +
|
self.get_dependencies(obj, 'failure_nodes') +
|
||||||
|
|||||||
Reference in New Issue
Block a user