Add pauses/confirmation between steps in job

1,248 views
Skip to first unread message

Phil

unread,
Jul 11, 2017, 8:58:09 PM7/11/17
to rundeck-discuss
Hi,

I'm new to RunDeck and trying to work out how to place pauses within a job, so that execution waits after completing a step before preceding to a subsequent step.

This is required as some processes can only be semi-automated and need to pause whilst a human checks output before clicking a button to record verification and continue and to the next step..

I can use the Control Flow option to Halt execution, but this looks to be a permanent halting rather than a temporary pausing of proceedings.

Any ideas?


Thanks,

Phil.



Phil

unread,
Jul 12, 2017, 8:15:29 PM7/12/17
to rundeck-discuss
Quick update:

I see I can also put each step I want to pause after in it's own job, and then use a job group to associate these jobs... but job groups do not have the strict ordering of workflows, so you end up naming your jobs 001, 002, 003, in order to maintain order in the GUI.  It also means you end up re-defining common data across each job (like nodes), and I'm guessing you loose the combined tail log etc as this doesn't aggregate between jobs independantly ran from a job group.... It would be nicer if you could pause a workflow where the order is already strict and each step could share the same parent job config and output log.

AFAICS you can't do what I want in basic RunDeck - so does anyone know of a plugin that does this?  Or is it worth me writing a plugin to do this - if it's trivial enough, I'm happy to code it up as a workflow plugin - all it would do is defer the workflow step to any child plugin as a pass-through function, and then publish an accept button to the GUI to click on to complete the workflow step.  How hard can that be?  Usually it's harder than I think :-)


Alex Honor

unread,
Jul 13, 2017, 11:16:19 AM7/13/17
to rundeck...@googlegroups.com
Hi Phil,

I think the main challenge is setting up the pause step to wait for manual input to continue. That's a roadmap item though. 
Regarding your questions about layering jobs, you can override nodefilters for jobref steps so you should not have to redefine the same nodefilter expression at each layer.

Thanks

--
You received this message because you are subscribed to the Google Groups "rundeck-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rundeck-discuss+unsubscribe@googlegroups.com.
To post to this group, send email to rundeck-discuss@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/rundeck-discuss/e64887eb-30c4-4595-9e27-866a2bc8aa58%40googlegroups.com.

For more options, visit https://groups.google.com/d/optout.



--

Alex Honor

[Rundeck | a...@rundeck.com ]

Phil

unread,
Jul 13, 2017, 12:05:42 PM7/13/17
to rundeck-discuss
Thanks for the reply Alex.

When you say it's a roadmap item - is there an target version for including this feature or just on the the to-do list for some point in the future?

I'm guessing adding the pause via a plugin is going to be difficult if it's being considered for core functionality -  Getting a process to wait on completion is easy, but I couldn't figure out how I'd communicate the "Accept" between the process and the Web GUI - you'd need access to internals to do it?  Granted I'm a novice with RunDeck, so I'm unlikely to work it out! :-)

This is probably not a showstopper for me - I can proceed with Job Groups of Jobs idea as I described.  If an accept button was a trivial-ish thing to add as as plugin I'd happily spend a few days on it, but I can't justify spending any longer at the moment in time.

Before I proceeded with the Job Groups of many Jobs idea, sequenced by numerical name, I wanted to be 100% certain that I wasn't missing a trick with current offered funcitonality?  It sounds like that is my best bet for getting started now - do you agree?  Any other ways to approach this?


Thanks again!



On Thursday, 13 July 2017 16:16:19 UTC+1, Alex Honor wrote:
Hi Phil,

I think the main challenge is setting up the pause step to wait for manual input to continue. That's a roadmap item though. 
Regarding your questions about layering jobs, you can override nodefilters for jobref steps so you should not have to redefine the same nodefilter expression at each layer.

Thanks
On Wed, Jul 12, 2017 at 5:15 PM, Phil <ph...@beadling.co.uk> wrote:
Quick update:

I see I can also put each step I want to pause after in it's own job, and then use a job group to associate these jobs... but job groups do not have the strict ordering of workflows, so you end up naming your jobs 001, 002, 003, in order to maintain order in the GUI.  It also means you end up re-defining common data across each job (like nodes), and I'm guessing you loose the combined tail log etc as this doesn't aggregate between jobs independantly ran from a job group.... It would be nicer if you could pause a workflow where the order is already strict and each step could share the same parent job config and output log.

AFAICS you can't do what I want in basic RunDeck - so does anyone know of a plugin that does this?  Or is it worth me writing a plugin to do this - if it's trivial enough, I'm happy to code it up as a workflow plugin - all it would do is defer the workflow step to any child plugin as a pass-through function, and then publish an accept button to the GUI to click on to complete the workflow step.  How hard can that be?  Usually it's harder than I think :-)


--
You received this message because you are subscribed to the Google Groups "rundeck-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rundeck-discu...@googlegroups.com.
To post to this group, send email to rundeck...@googlegroups.com.



--

Alex Honor

[Rundeck | a....@rundeck.com ]

Reply all
Reply to author
Forward
0 new messages