From 5fa5d4b34b3b4a531207e1af88b663f84e933e95 Mon Sep 17 00:00:00 2001 From: Chris Meyers Date: Mon, 24 Oct 2016 14:53:34 -0400 Subject: [PATCH] support distributed project updates --- awx/main/scheduler/dependency_graph.py | 4 ++-- awx/main/scheduler/partial.py | 8 ++++++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/awx/main/scheduler/dependency_graph.py b/awx/main/scheduler/dependency_graph.py index 14a77ab697..26b7518cf1 100644 --- a/awx/main/scheduler/dependency_graph.py +++ b/awx/main/scheduler/dependency_graph.py @@ -59,7 +59,7 @@ class DependencyGraph(object): return True # TODO: Other finished, failed cases? i.e. error ? - if latest_project_update['status'] == 'failed': + if latest_project_update['status'] in ['failed', 'canceled']: return True ''' @@ -89,7 +89,7 @@ class DependencyGraph(object): return True # TODO: Other finished, failed cases? i.e. error ? - if latest_inventory_update['status'] == 'failed': + if latest_inventory_update['status'] in ['failed', 'canceled']: return True ''' diff --git a/awx/main/scheduler/partial.py b/awx/main/scheduler/partial.py index e3677dab2c..a1870ccf4f 100644 --- a/awx/main/scheduler/partial.py +++ b/awx/main/scheduler/partial.py @@ -82,6 +82,14 @@ class ProjectUpdateDict(PartialModelDict): def task_impact(self): return 10 + @classmethod + def filter_partial(cls, status=[]): + kv = { + 'status__in': status, + 'job_type': 'check', + } + return [cls(o) for o in cls.model.objects.filter(**kv).values(*cls.get_db_values())] + class ProjectUpdateLatestDict(ProjectUpdateDict): FIELDS = ( 'id', 'status', 'project_id', 'created', 'finished',