Rundeck proposal: workflow flow control with user interaction

1,313 views
Skip to first unread message

Greg Schueler

unread,
Dec 17, 2011, 1:55:03 PM12/17/11
to rundeck...@googlegroups.com
Hi all,

Alex and I have been hashing out an idea for interactive "flow
control" of RunDeck workflows. The basic idea is that any step in a
workflow can require user input before the workflow proceeds. This
could be further options to be input, or simple approve/deny/cancel
kind of input.

This would address a few use cases that have often come up:

* Approval steps necessary in some change-control systems
* Allowing an operator to do more gradual rollouts that require some
intervention, either manual steps or simple verification that previous
output was correct

I've written up the concepts for this idea as a Google document. If
you are interested in this idea, please reply to this thread with your
comments. We'd love to get feedback about the idea. Do you have your
own use-cases where something like this would help? Are we missing
anything?

A few questions that are not fleshed out in the document:

* authorization: some new actions/authorization checks should be
definable to govern who can modify the flow control or approve/deny
the execution
* plugins: are there any extension points where plugins could be
useful? e.g. notifications that user input is required
* API: how should an API endpoint for this interaction work
* GUI: how should the GUI work to support this.

Google docs link:

https://docs.google.com/document/d/1USbcAMstz6Vs2QeEF3hp5nFw3yoILBRL4fFDpOTT3x4/edit

thanks,

Greg Schueler

Martin Middleton

unread,
Dec 19, 2011, 12:32:40 PM12/19/11
to rundeck...@googlegroups.com
I'm definitely interested in this. We have a specific use-case where this would be helpful. We use RunDeck to deploy software to hosts. Frequently, there is database-related work that is a part of the deployment. This typically requires a DBA to examine the results of transactions executed during the deployment in order to determine whether or not to proceed. As a result, we currently cannot fire off a job and let it go. This would bring us closer to push-button automation.

Rajneesh Sharma

unread,
Dec 20, 2011, 3:30:18 PM12/20/11
to rundeck-discuss
It interests me as well.......especially when calling multiple jobs in
sequence. I have about 20 jobs created for production. I can't kick
them off sequentially in one shot, because we want to wait for few
successful productions while I'm running them one-by-one manually. If
there is a feature that lets me kick them off sequentially but wait
for a confirmation at the end of each (like a debuggers in IDEs),
would be very helpful.

At the end, I might still want to keep "confirmations" or inputs (or
just a press of Enter button) for long term.

Kevin Bowman

unread,
Dec 20, 2011, 4:21:47 PM12/20/11
to rundeck...@googlegroups.com
I think this sounds like an ace idea; the biggest thing which I miss (especially when compared with Nolio) is the ability to fork the execution flow when something goes wrong (for example if an error happens in the middle of deploying something, trigger another job which can roll it back).  Currently, all I can do is tell the execution flow to cease (I think?).  User-input (the same as job options) in the middle of a workflow is a big feature as well, I can see that being useful in many different applications.

Thanks for a great piece of software, though; it fits exactly into a particular niche very well.

Kevin

Guy

unread,
Jun 1, 2012, 5:08:58 PM6/1/12
to rundeck...@googlegroups.com
I also +1 this idea, we're using Rundeck for some deployment tasks and it would be useful to allow user feedback after running specific steps.

Michael Gibson

unread,
Oct 23, 2012, 7:07:56 PM10/23/12
to rundeck...@googlegroups.com, gr...@controltier.com
Also +1'ing this. Would be very handy to have better flow control with workflow steps.

John Burbridge

unread,
Oct 23, 2012, 8:21:07 PM10/23/12
to rundeck...@googlegroups.com, gr...@controltier.com
Excellent idea! Regarding the API endpoint - it would be great if the input could be submitted via an API call instead of having an operator click a button. In our particular case, an operator might be controlling Rundeck and require written approval to continue a specific task.

The user story would go something like this:

As a release manager, I want to be able to trigger Rundeck flow control as a result of signing off in a separate system, so that approvals / denials / cancellations can be provided by individuals who don't have access to Rundeck.

I could also see a case where the approval could happen as a call-out from Rundeck to an external system, although perhaps that would be more of a check than requiring explicit input.  (ie: query external system for approval of deployment "paper work", and pause / prompt for further action if something is missing).

JB

Kazimieras Aliulis

unread,
Dec 3, 2013, 3:37:12 AM12/3/13
to rundeck...@googlegroups.com, gr...@controltier.com
Hello,

this feature was not implemented?
Reply all
Reply to author
Forward
0 new messages