Some exciting news, fellow rundeck users!
The next rundeck release includes, perhaps, the most significant
feature to date: a plugin framework letting you integrate the remote
execution framework of your choice.
http://rundeck.org/1.3beta/RunDeck-Guide.html#rundeck-plugins
During the 1.3beta period, we hope you will try using the plugin
framework, as well as, develop plugins of your own!
Download the 1.3 beta from here:
http://build.rundeck.org/job/release-1.3/
As you know, current versions of rundeck use SSH as the remote
execution mechanism (based on Jsch). SSH is a good low common
denominator to manage remote execution of command strings and script
files but may not be practical nor ideal for your use cases. For
example, you may be a windows user and find the installation of an SSH
server (via Cygwin maybe) undesirable and prefer a more windows
oriented method (eg, PsExec, WMI, etc). Others may not want to use SSH
at all preferring mechanisms like MCollective or Chef's Knife.
Finally, some may need to integrate to a custom XML-RPC based
mechanism.
With these needs in mind, rundeck has been refactored to support the
notion of "Services" that provide functionality for the different
steps necessary to execute workflows, jobs, and commands across
multiple nodes.
Each Service makes use of "Providers". Each Provider has a unique
"Provider Name" that is used to identify it, and most Services have
default Providers unless you specify different ones to use.
There are currently two types of Providers that can be used and
developed for rundeck:
1. Node Executor Providers - these define ways of executing a command
on a single Node (local or remote).
2. File Copier Providers - these define ways of copying files to a
single Node.
Support for multiple node dispatcher plugins is planned for a future
release.
Check out the documentation for more info on developing plugins:
http://rundeck.org/1.3beta/RunDeck-Guide.html#plugin-development
Questions that you can help us to address for the 1.3 release:
Workflow failures:
* How should nodeset failure be handled? should "failed nodes"
include only failed nodes at the top-level job (not include job
references)?
* Detailed error messages are printed when multiple steps or nodes
fail, but the formatting is not pretty. How should these be
displayed?
Plugins:
* enabled by default? (yes). framework.plugins.enabled=true/false
property can change it
* do we need a way to configure enabled/disabled plugins by name?
* location for plugins dir, currently $RDECK_BASE/libext (launcher)
or /var/lib/rundeck/libext (rpm)
* java plugins - do we need support for external lib jars?
* WINDOWS - needs your testing and likely needs updating for support
Workflow context tracking:
* the format displayed in GUI should likely be changed. right now it
is "#-type" to indicate step number and type of step, and jobrefs are
appended with ":#-type".
Download the 1.3beta:
http://build.rundeck.org/job/release-1.3/
Documentation for 1.3beta:
http://rundeck.org/1.3beta/