Based on feedback, there are areas Workflows can be enhanced (outside of other areas with existing tickets):
always nodes in combination with success and failure nodesI like to see a workflow summary/end job option when there is parallel workflow jobs.
Initial design here comments welcome https://drive.google.com/open?id=1Uxndde44a0NFe7NbUR5WTFbkgPeJOTAUkzKqPRse0o8
Heads up that #264 looks like it's becoming a new workflow feature as well.
In our setup we care only about "Convergence nodes". It's one of the missing features that blocks us from migrating some pipeline from Jenkins.
Can you please consider splitting this task into implementing "Convergence nodes" and "always" separately, and doing the former as first?
If we're going to spend a release tackling workflows, we'd want to do as much of this as possible, not a series of changes across multiple releases in a one-off fashion.
Thanks for a quick reply @wenottingham ! Do you have any ETA for this?
Barring contributions from the community at large, not in the next few months.
"convergence step" is absolutely necessary :)
At the moment I use such construction of Openstack Mistral::
tasks:
task1:
workflow: flow1
on-complete:
- fixate
task2:
workflow: flow2
on-complete:
- fixate
fixate:
join: all
action: std.echo
input:
output: 'just echo'
on-complete:
- stop
task "stop" will be executed only if "task1" and "task2" will be completed.
@gdubicki Can you help me out and give me a concrete example as to your use case/need for the convergence feature?
FYI, the convergence feature has landed in the devel branch of AWX.
Sure, @chrismeyersfsu . If we have a deployment pipeline with multiple components updated in parallel, then we want to continue to the next component(s) only if all of the previous ones have been updated succesfully, as subsequent components may depend on them.
@chrismeyersfsu we have case where we perform multiple env upgrades in parallel after they are all finished we perform testing... Another case is CI, where you would like to run first multiple unittest test kind of jobs & build packages (images), if everything is successful, perform integration testing..
Most helpful comment
@chrismeyersfsu we have case where we perform multiple env upgrades in parallel after they are all finished we perform testing... Another case is CI, where you would like to run first multiple unittest test kind of jobs & build packages (images), if everything is successful, perform integration testing..