Commit Graph

19402 Commits

Author SHA1 Message Date
chris meyers
40a871449f handle missing unified job template in workflow
* Workflow Node without unified_job_template is treated as a job marked
as failure; when deciding what path to execute.
* Remove optimization of marking dnr nodes due to it making the
algorithm incorrect.
2018-11-18 11:26:51 -05:00
Michael Abashian
aaef919297 Merge pull request #2726 from mabashian/workflow-cleanup-7
Code cleanup.  Fixed bugs with workflow results page including details links
2018-11-16 18:24:23 -05:00
mabashian
8dfa34e015 Code cleanup. Fixed bugs with workflow results page including details links 2018-11-16 18:22:58 -05:00
chris meyers
7de2b64396 add job_description to failed workflow node
* When workflow job fails because a workflow job node doesn't have a
related unified_job_template note that with an error on the workflow
job's job_description
* When a workflow job fails because a failure path isn't defined, note
that on the workflow job job_description
2018-11-16 14:53:46 -05:00
chris meyers
af1064ecfa detect workflow nodes without job templates
* Fail workflow job run when encountering a Workflow Job Nodes with
no related job templates.
2018-11-16 13:38:15 -05:00
Michael Abashian
c2ca61c396 Merge pull request #2710 from mabashian/workflow-cleanup-6
Addresses a number of workflow related bugs
2018-11-16 12:14:41 -05:00
mabashian
7e8ab97152 Addresses a number of workflow related bugs 2018-11-16 12:12:48 -05:00
chris meyers
395800fff1 flake8 fix 2018-11-16 09:56:28 -05:00
chris meyers
89fb44fcd4 update docs to include workflow failure semantic 2018-11-16 09:18:06 -05:00
chris meyers
8a896df0a1 treat canceled nodes as failed when processing wf
* When deciding what jobs to run next, treat canceled as failed.
* Also add tests.
2018-11-16 09:18:06 -05:00
chris meyers
d0d9a0060b treat canceled jobs in wf the same as failed jobs
* Also fix spelling mistake that caused workflows to be falsely marked
successful in the case of a canceled job.
2018-11-16 09:18:06 -05:00
mabashian
b527d89f55 Fixed a number of workflow visualizer bugs. Added loading spinners while data is being loaded/processed. 2018-11-16 09:18:06 -05:00
chris meyers
b45f8aa194 add cycle unit test 2018-11-16 09:18:06 -05:00
chris meyers
32b6ae0863 update wf done and failed tests 2018-11-16 09:18:06 -05:00
chris meyers
7c52208627 update done and fail detection for workflow
* Instead of traversing the workflow graph to determine if a workflow is
done or has failed; instead, loop through all the nodes in the graph and
grab only the relevant nodes.
2018-11-16 09:18:06 -05:00
mabashian
834c49b73c Added dagre to handle our workflow graph layout. Fixed various workflow related bugs. 2018-11-16 09:18:06 -05:00
chris meyers
8db78703f0 fix up dot graph generator
* Update graph dot generator to use the new efficient graph
2018-11-16 09:18:06 -05:00
chris meyers
d98f71909f flake8 2018-11-16 09:18:06 -05:00
chris meyers
ee1e08ce6e add dag tests 2018-11-16 09:18:06 -05:00
chris meyers
2d38ae21c4 remove unused code 2018-11-16 09:18:06 -05:00
chris meyers
d03101dde8 crawl entire graph when marking DNR
* From the root, the code was only going down the did run path to find
nodes to mark DNR. This is incorrect, Now, we traverse the entire graph
each time to find nodes to mark DNR.
2018-11-16 09:18:06 -05:00
chris meyers
244cf819cc more efficient graph processing
* Getting parent nodes from child was inefficient. Optimize it with a
hash table like we did for the getting of children.
* Getting leaf nodes was inefficient. Optimize it like we did getting
root nodes. A node is assumed to be a leaf node until it gets a child.
2018-11-16 09:18:06 -05:00
mabashian
df6c453c86 Fix long name tooltip. Fixed bug adding new node before finishing adding new link.
Fixed template list column layout.  Ensure that we're getting 200 workflow nodes per GET request
2018-11-16 09:18:06 -05:00
chris meyers
62e5140bb7 remove print statements 2018-11-16 09:18:06 -05:00
chris meyers
26056ddaa6 optimization fix
* WorkflowDAG accepts workflow job template and workflow jobs for which
to build a graph out of the nodes. The optimized query for each is
different. This changeset adds the differing queries for a workflow job.
2018-11-16 09:18:06 -05:00
chris meyers
d6bf2aeca9 optimize cycle detection 2018-11-16 09:18:06 -05:00
mabashian
52c3211a9f Fixes for post-rebase bugs 2018-11-16 09:18:06 -05:00
chris meyers
0675f2559f bump migration 2018-11-16 09:18:06 -05:00
mabashian
d97a0e415f Fixed serveral bugs including credential prompting. Added logic to bring links/nodes to the forefront when you hover over them in case there's some overlap 2018-11-16 09:18:06 -05:00
mabashian
4917046e47 First pass at implementing better node placement in the workflow graph 2018-11-16 09:18:06 -05:00
mabashian
3b05936eec Implements workflow convergence without proper layout 2018-11-16 09:18:06 -05:00
chris meyers
f5aa8a7f11 more flake8 2018-11-16 09:18:06 -05:00
chris meyers
29b9d2be2b try2 at the devil flake8 2018-11-16 09:18:06 -05:00
chris meyers
47eece0cce fix flake8 anyway I can 2018-11-16 09:18:06 -05:00
chris meyers
bb128b5800 remove workflow test
* We now handle workflows with jobs that have errored. We treat them the
same as a failure result. Before, we would abort the workflow when we
encountered an error.
2018-11-16 09:18:06 -05:00
chris meyers
44b19245c2 handle job error state in convergence 2018-11-16 09:18:06 -05:00
chris meyers
7b751ea2ff handle edge case ring cycle 2018-11-16 09:18:06 -05:00
chris meyers
ea80e244b9 remove relationship in view if cycle detected 2018-11-16 09:18:06 -05:00
chris meyers
5caff392eb fixup migrations 2018-11-16 09:18:06 -05:00
chris meyers
db8cafdd2c rework wf cycle detection for convergence 2018-11-16 09:18:06 -05:00
chris meyers
6e310fdb9c cycle detection when multiple parents 2018-11-16 09:18:06 -05:00
mabashian
f285186f66 Completed work necessary to support editing workflow links and nodes separately. Added hover and tooltip to links 2018-11-16 09:16:41 -05:00
mabashian
eebff1f855 Decouple editing a wf node with editing a node link 2018-11-16 09:16:41 -05:00
chris meyers
207441bd14 update docs 2018-11-16 09:16:41 -05:00
chris meyers
670a751647 correctly name migration to align with 3.4.0 2018-11-16 09:16:41 -05:00
chris meyers
9493f50ccf merge artifacts deterministically 2018-11-16 09:16:41 -05:00
chris meyers
9c0dc27cf2 prevent job launching twice 2018-11-16 09:16:41 -05:00
chris meyers
f72d6b9554 flake8 2018-11-16 09:16:41 -05:00
chris meyers
07461eb62a fix workflow finish state detector
* Take into account the new do_not_run field when finding if a workflow
is finished. If do_not_run is True then the node is considered finished.
2018-11-16 09:16:41 -05:00
chris meyers
2badb4fdbb cleaner code 2018-11-16 09:16:41 -05:00