Workflow Steps on different nodes

64 views
Skip to first unread message

Eric Fetzer

unread,
Aug 29, 2019, 3:16:41 PM8/29/19
to rundeck-discuss
Is it possible to do one step of the workflow on one node then another step on separate node?  Seems like it's an all or nothing type of situation...  Thanks!
Message has been deleted

Reiner Acuña

unread,
Aug 29, 2019, 3:38:52 PM8/29/19
to rundeck-discuss
Hey Eric,

Yes, sure. You just need to reference the jobs (pointing to respective nodes) from a parent job. I did a little example:

First Job (pointing to "node00")

<joblist>
<job>
<defaultTab>summary</defaultTab>
<description></description>
<dispatch>
<excludePrecedence>true</excludePrecedence>
<keepgoing>false</keepgoing>
<rankOrder>ascending</rankOrder>
<successOnEmptyNodeFilter>false</successOnEmptyNodeFilter>
<threadcount>1</threadcount>
</dispatch>
<executionEnabled>true</executionEnabled>
<id>53b304fe-c68c-40ed-a5cb-e8af9de75a99</id>
<loglevel>INFO</loglevel>
<name>JobToNodeONE</name>
<nodeFilterEditable>false</nodeFilterEditable>
<nodefilters>
<filter>name: node00</filter>
</nodefilters>
<nodesSelectedByDefault>true</nodesSelectedByDefault>
<scheduleEnabled>true</scheduleEnabled>
<sequence keepgoing='false' strategy='node-first'>
<command>
<exec>uname -a</exec>
</command>
</sequence>
<uuid>53b304fe-c68c-40ed-a5cb-e8af9de75a99</uuid>
</job>
</joblist>

Second Job (pointing to "node01")

<joblist>
<job>
<defaultTab>summary</defaultTab>
<description></description>
<dispatch>
<excludePrecedence>true</excludePrecedence>
<keepgoing>false</keepgoing>
<rankOrder>ascending</rankOrder>
<successOnEmptyNodeFilter>false</successOnEmptyNodeFilter>
<threadcount>1</threadcount>
</dispatch>
<executionEnabled>true</executionEnabled>
<id>b5e54476-a663-4fed-a541-c270a0295265</id>
<loglevel>INFO</loglevel>
<name>JobToNodeTWO</name>
<nodeFilterEditable>false</nodeFilterEditable>
<nodefilters>
<filter>name: node01</filter>
</nodefilters>
<nodesSelectedByDefault>true</nodesSelectedByDefault>
<scheduleEnabled>true</scheduleEnabled>
<sequence keepgoing='false' strategy='node-first'>
<command>
<exec>uname -a</exec>
</command>
</sequence>
<uuid>b5e54476-a663-4fed-a541-c270a0295265</uuid>
</job>
</joblist>

And the parent job:

<joblist>
<job>
<defaultTab>summary</defaultTab>
<description></description>
<executionEnabled>true</executionEnabled>
<id>858a3558-ce1f-4814-a483-3162e2ea381b</id>
<loglevel>INFO</loglevel>
<name>ParentJOB</name>
<nodeFilterEditable>false</nodeFilterEditable>
<scheduleEnabled>true</scheduleEnabled>
<sequence keepgoing='false' strategy='node-first'>
<command>
<jobref name='JobToNodeONE'>
<uuid>53b304fe-c68c-40ed-a5cb-e8af9de75a99</uuid>
</jobref>
</command>
<command>
<jobref name='JobToNodeTWO'>
<uuid>b5e54476-a663-4fed-a541-c270a0295265</uuid>
</jobref>
</command>
</sequence>
<uuid>858a3558-ce1f-4814-a483-3162e2ea381b</uuid>

</job>
</joblist>



Screenshot_1.png


Hope it helps!

(Fixed  message)

Eric Fetzer

unread,
Aug 29, 2019, 4:35:21 PM8/29/19
to rundeck-discuss
Thanks Reiner!  Mine should be simpler, use the parent job for the first few steps, then call a child for the final step.  I'll give it a shot, thanks!

Paul Demoire

unread,
Aug 30, 2019, 8:06:00 AM8/30/19
to rundeck-discuss
Your answer is an example that explain how to put a dependency on 2 jobs.

But is it possible to have a dependency on other node in STEP ?

Reiner Acuña

unread,
Aug 30, 2019, 10:34:25 AM8/30/19
to rundeck-discuss
Hi Paul,

Right now is the way, if you need dispatch a specific step you can separate it in a job and from a parent job override the focused node using some option as argument (and now would you have a job configurable to dispatch on any node).

Regards!
Reply all
Reply to author
Forward
0 new messages