-
Feature Request
-
Resolution: Unresolved
-
Normal
-
None
-
2.4
-
None
-
False
-
-
False
We have defined a number of workflow job templates on AAP, but they are not flexible enough to migrate directly many existing workflows from other tools. Nodes can only be linked together based on whether the previous node ended successfully, or failed, or unconditionally. But we cannot do the following:
#1 - Skip a job if some condition is met (arguments or artifacts from previous jobs) (this can be accomplished with assertions inside the playbook but it wastes resources)
#2 - Cancel the rest of the workflow if some condition is met (arguments or artifacts from previous jobs)
#3 - Select one of more execution branches based on some argument or artifact. This means that the jobs in the other branches would never be executed.
#4 - Relaunch a workflow from a specific node (other than the one marked as START)
Business justification:
```
- Current Challenges: What limitations or difficulties are you facing without this feature?
1) An external orchestrator is required.
2) If AAP is used as an orchestrator, most playbooks needs to include additional orchestration logic, for instance to launch different workflows or to bypass steps.
3) If AAP is used as an orchestrator, there is no visibility on the actual execution path of a complex workflow, for instance, if a different workflow was launched in the process.
4) AAP metrics are poor: only successful/failed jobs can be tracked, time resolution and span are poor, no filters are available to visualise specific templates
5) Resources are wasted if a workflow needs to be relaunched from the start
- Business Impact: How does the lack of this feature affect your workflows, performance, or productivity?
1) Resources are wasted if a workflow needs to be relaunched from the start.
2) Playbooks need to include additional logic (tasks) to handle the orchestration and to ensure idempotency for some targets.
3) Tracking failed executions is harder for operators.
4) No per-job metrics are available.
- Implementation Benefits: How would having this feature improve your operations or resolve the issues mentioned?
1) No external orchestrator needed, or its usage minimised.
2) Improved use of resources.
3) Better visibility and traceability of jobs.