Ryan Petrello
513f54a422
fix a few bugs related to container group execution
...
see: https://github.com/ansible/awx/issues/5326
2019-11-14 13:23:38 -05:00
Ryan Petrello
ccaaee61f0
improve cleanup of anonymous kubeconfig files
2019-10-29 11:24:12 -04:00
Ryan Petrello
7f1096f711
reap k8s-based jobs when the dispatcher restarts
2019-10-29 11:24:11 -04:00
Ryan Petrello
16812542f8
implement a simple periodic pod reaper for container groups
...
see: https://github.com/ansible/awx/issues/4911
2019-10-17 17:06:36 -04:00
Ryan Petrello
1cf02e1e17
properly set execution_node for project and inv updates run "in k8s"
...
see: https://github.com/ansible/awx/issues/4907
2019-10-17 15:15:24 -04:00
Shane McDonald
8f75382b81
Implement retry logic for container group pod launches
2019-10-10 15:53:56 -04:00
Shane McDonald
b93164e1ed
Prevent pods from failing if the reason is because of a resource quota
...
Signed-off-by: Shane McDonald <me@shanemcd.com >
2019-10-10 15:53:50 -04:00
Shane McDonald
bd5003ca98
Task manager / scheduler Kubernetes integration
2019-10-04 13:21:21 -04:00
beeankha
57fd6b7280
Set default messages for approval notifications
2019-09-27 15:48:00 -04:00
beeankha
13450fdbf9
Set up approval notifications to send
2019-09-27 15:48:00 -04:00
beeankha
6be2d84adb
Add endpoints for approval node notifications
...
...and also add a migration file.
2019-09-27 15:48:00 -04:00
beeankha
2fc7e93c6a
Emit websocket for approval node timeout
...
...and update timeout_message to be more translation-friendly.
2019-08-29 14:30:33 -04:00
beeankha
ea509f518e
Addressing comments, updating tests, etc.
2019-08-27 15:38:15 -04:00
beeankha
f6f6e5883a
Update websockets for pending approvals, change timeout expiration to
2019-08-27 15:36:27 -04:00
beeankha
d9f3fed06f
Update UJ/UJT endpoints, update approval RBAC, update approval timeout
2019-08-27 15:36:25 -04:00
beeankha
544a5063f3
Update timeout implementation, placeholder code for possible websocket support
2019-08-27 15:36:24 -04:00
beeankha
8c17990750
Activity stream and timeout
...
Update activity stream to show approval node info, add meaningful log
message for expired approval nodes in the Task Manager timeout
function.
2019-08-27 15:36:24 -04:00
Ryan Petrello
0522d45ab0
fixed a few issues related to approval role RBAC for normal users
2019-08-27 15:36:23 -04:00
beeankha
28289e85c1
Add timeout for workflow approval nodes
2019-08-27 15:36:22 -04:00
beeankha
5f82754a3f
Clean up RBAC code
2019-08-27 15:36:22 -04:00
beeankha
296b4e830b
Add more RBAC for approval nodes
2019-08-27 15:36:21 -04:00
beeankha
64c94d478d
Add more RBAC, filter out AJT/AJs from unified jobs lists
...
Comment out placeholder in serializer
2019-08-27 15:36:17 -04:00
beeankha
453e142635
Fix UJT-related error, add notification placeholders
2019-08-27 15:35:43 -04:00
beeankha
9cfed6f2a8
Add check for no-op case back, remove redundant on_commit code
2019-06-17 10:47:58 -04:00
beeankha
95896b1acd
Edit wfj running notification trigger
2019-06-17 10:47:58 -04:00
beeankha
68fe23d8b7
Update Organization Notification Template subclass, move success/fail wfj notification trigger
2019-06-17 10:47:58 -04:00
beeankha
dd372548a9
Update swagger test
2019-06-17 10:47:57 -04:00
beeankha
8d6e1f0927
Trigger running notifications in WFJs and edit unit test
2019-06-17 10:47:57 -04:00
beeankha
8ec97235e3
Add feature for notifications to trigger on job start
2019-06-17 10:47:57 -04:00
Ryan Petrello
b1d75327e3
add the ability to toggle DEBUG logging on dynamically
2019-05-16 07:58:31 -04:00
Ryan Petrello
4f83d44142
mark a workflow convergence error message for i18n
2019-02-14 15:55:20 -05:00
Ryan Petrello
2927803a82
fix overindent lint failures
2019-01-30 12:12:39 -05:00
Ryan Petrello
daeeaf413a
clean up unnecessary usage of the six library (awx only supports py3)
2019-01-25 00:19:48 -05:00
Ryan Petrello
f223df303f
convert py2 -> py3
2019-01-15 14:09:01 -05:00
chris meyers
228e412478
simplify workflow job failure reason
...
* Log the more detailed reason for a workflow job failing but expose a
simplified reason to users via job_explanation
2018-11-27 16:12:42 -05:00
chris meyers
f8f2e005ba
better comment for deciding parent's status
2018-11-27 16:12:42 -05:00
chris meyers
2eeca3cfd7
add example workflow run to docs
2018-11-27 16:12:41 -05:00
chris meyers
0c8dde9718
fix dfs_run_nodes()
...
* Tried to re-use the topological sort order to crawl the graph to find
the next node(s) to run. This is incorrect, we need to take into account
the fail/success of jobs and directionally crawl the graph.
2018-11-27 16:12:41 -05:00
chris meyers
febf051748
do not mark ujt None nodes dnr
...
* Leave workflow nodes with no related unified job template nodes
do_not_run = False. If we mark it True, we can't differentiate between
the actual want to not take that path vs. do not run this because I do
not have a valid related unified job template.
2018-11-27 16:12:41 -05:00
chris meyers
7b087d4a6c
loop over dnr nodes by topological sort
...
* Perform topological sort on graph nodes before looping over them to
mark do not run. This guarantees that parent nodes will be processed
before calling dependent child nodes. The complexity of the sorting is
N. The complexity of marking the the nodes is N*V
2018-11-27 16:12:41 -05:00
chris meyers
cfa098479e
Revert "optimize mark dnr nodes algorithm"
...
This reverts commit 6372c52772 .
2018-11-27 16:12:41 -05:00
chris meyers
4c9a1d6b90
optimize mark dnr nodes algorithm
...
* Compute largest depth of each node and traverse graph by depth. This
allows us to check a node once, and only once, to determine if it needs
to be marked for do not run.
2018-11-27 16:12:41 -05:00
chris meyers
d1aa52a2a6
fix up mark dnr logic
2018-11-27 16:12:41 -05:00
chris meyers
f30f52a0a8
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-27 16:12:41 -05:00
chris meyers
676c068b71
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-27 16:12:41 -05:00
chris meyers
00d71cea50
detect workflow nodes without job templates
...
* Fail workflow job run when encountering a Workflow Job Nodes with
no related job templates.
2018-11-27 16:12:41 -05:00
chris meyers
c1171fe4ff
treat canceled nodes as failed when processing wf
...
* When deciding what jobs to run next, treat canceled as failed.
* Also add tests.
2018-11-27 16:12:41 -05:00
chris meyers
d6a8ad0b33
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-27 16:12:41 -05:00
chris meyers
6529c1bb46
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-27 16:12:41 -05:00
chris meyers
b81d795c00
fix up dot graph generator
...
* Update graph dot generator to use the new efficient graph
2018-11-27 16:12:41 -05:00