Please confirm the following
Feature type
New Feature
Feature Summary
ISSUE TYPE
SUMMARY
Currently, an approval node's timeout always resolves as "timed out"/failed,
routing the workflow down the failure/always path. There's no way to
configure a timeout to resolve as success instead. This makes approval
nodes unusable as a pure "convergence point" unless a human clicks
approve every single run.
USE CASE
When multiple nodes run in parallel, I want to converge them into a
single node before continuing, purely to keep the workflow visualizer
diagram clean and readable (one funnel point instead of multiple
fan-out edges reconnecting later). An approval node is the natural
convergence node type for this in the UI (it accepts multiple parent
edges the way "All" convergence works).
However, using an approval node for this purpose today means every
workflow run pauses and requires a human to manually click "approve,"
even though no actual approval decision is needed. it's being used
structurally, not for gating. This creates unnecessary manual work and
notification noise for users who just want the visual convergence, not
an approval gate.
If a timeout could be configured to resolve as success, I could set a
short timeout (e.g. a few seconds) on the convergence approval node and
let it continue automatically, giving me clean visual convergence without
requiring anyone to click approve.
PROPOSED IMPLEMENTATION
Add a field on the approval node (e.g. timeout_action) with values
fail (current/default, for backward compatibility) and succeed.
On timeout, the node routes to the success path if timeout_action is
succeed.
This would need to be surfaced in:
- The approval node model/API (workflow_job_template_nodes)
- The AWX UI (approval node creation/edit form)
- The awx.awx collection's workflow_job_template_node module
ADDITIONAL CONTEXT
An alternative solution to this same problem would be a dedicated
"convergence" or "join" node type that isn't an approval node at all,
used purely to merge multiple parent edges into one for layout/visual
purposes, with no wait/approval semantics. Either approach (configurable
approval timeout, or a new join-node type) would solve this use case, noting both here in case the maintainers prefer a different design
direction.
Select the relevant components
Steps to reproduce
- Build a Workflow Job Template with two or more nodes running
in parallel.
- Add an Approval node as the convergence point for those
parallel branches (used only to merge the visual flow, not
for an actual approval decision).
- Set a timeout on the Approval node.
- Run the workflow.
Current results
Every run pauses and requires a user to manually click "Approve." On timeout, the node is always marked failed with no option to route it to success instead.
Sugested feature result
Expected: the convergence node continues automatically down the success path without requiring manual approval, while still showing a clean converged flow in the Workflow Visualizer.
Additional information
Would also speed up test runs of workflows, which currently need to stub out approval or wait on a timeout to proceed.
Please confirm the following
Feature type
New Feature
Feature Summary
ISSUE TYPE
SUMMARY
Currently, an approval node's timeout always resolves as "timed out"/failed,
routing the workflow down the failure/always path. There's no way to
configure a timeout to resolve as success instead. This makes approval
nodes unusable as a pure "convergence point" unless a human clicks
approve every single run.
USE CASE
When multiple nodes run in parallel, I want to converge them into a
single node before continuing, purely to keep the workflow visualizer
diagram clean and readable (one funnel point instead of multiple
fan-out edges reconnecting later). An approval node is the natural
convergence node type for this in the UI (it accepts multiple parent
edges the way "All" convergence works).
However, using an approval node for this purpose today means every
workflow run pauses and requires a human to manually click "approve,"
even though no actual approval decision is needed. it's being used
structurally, not for gating. This creates unnecessary manual work and
notification noise for users who just want the visual convergence, not
an approval gate.
If a timeout could be configured to resolve as success, I could set a
short timeout (e.g. a few seconds) on the convergence approval node and
let it continue automatically, giving me clean visual convergence without
requiring anyone to click approve.
PROPOSED IMPLEMENTATION
Add a field on the approval node (e.g.
timeout_action) with valuesfail(current/default, for backward compatibility) andsucceed.On timeout, the node routes to the success path if
timeout_actionissucceed.This would need to be surfaced in:
ADDITIONAL CONTEXT
An alternative solution to this same problem would be a dedicated
"convergence" or "join" node type that isn't an approval node at all,
used purely to merge multiple parent edges into one for layout/visual
purposes, with no wait/approval semantics. Either approach (configurable
approval timeout, or a new join-node type) would solve this use case, noting both here in case the maintainers prefer a different design
direction.
Select the relevant components
Steps to reproduce
in parallel.
parallel branches (used only to merge the visual flow, not
for an actual approval decision).
Current results
Every run pauses and requires a user to manually click "Approve." On timeout, the node is always marked failed with no option to route it to success instead.
Sugested feature result
Expected: the convergence node continues automatically down the success path without requiring manual approval, while still showing a clean converged flow in the Workflow Visualizer.
Additional information
Would also speed up test runs of workflows, which currently need to stub out approval or wait on a timeout to proceed.