Revert "optimize mark dnr nodes algorithm"

This reverts commit 6372c52772.
This commit is contained in:
chris meyers
2018-11-19 10:54:42 -05:00
committed by mabashian
parent 3c510e6344
commit cfa098479e
2 changed files with 10 additions and 27 deletions

View File

@@ -1,5 +1,6 @@
# Python
import copy
from awx.main.models import (
WorkflowJobTemplateNode,
WorkflowJobNode,
@@ -200,12 +201,13 @@ class WorkflowDAG(SimpleDAG):
def mark_dnr_nodes(self):
root_nodes = self.get_root_nodes()
nodes = copy.copy(root_nodes)
nodes_marked_do_not_run = []
for node_indexes in self.depth:
for node_index in node_indexes:
node = self.nodes[node_index]
obj = node['node_object']
for index, node in enumerate(nodes):
obj = node['node_object']
if obj.do_not_run is False and not obj.job:
parent_nodes = [p['node_object'] for p in self.get_dependents(obj)]
if self._are_all_nodes_dnr_decided(parent_nodes):
if obj.unified_job_template is None:
@@ -214,4 +216,8 @@ class WorkflowDAG(SimpleDAG):
elif node not in root_nodes and self._should_mark_node_dnr(node, parent_nodes):
obj.do_not_run = True
nodes_marked_do_not_run.append(node)
nodes.extend(self.get_dependencies(obj, 'success_nodes') +
self.get_dependencies(obj, 'failure_nodes') +
self.get_dependencies(obj, 'always_nodes'))
return [n['node_object'] for n in nodes_marked_do_not_run]