Built-in Node Execution Plugins
Built-in Node Execution Plugins
When Node Executors are invoked
Rundeck executes Command items on Nodes. The command may be part of a Workflow as defined in a Job, and it may be executed multiple times on different nodes.
Several "kinds" of Command items can be specified in Workflows:
- "exec" commands - simple system command strings.
- "script" commands - either embedded script content, or server-local script. files can be sent to the specified node and then executed with a set of input arguments.
- "jobref" commands - references to other Jobs by name that will be executed with a set of input arguments.
- custom - Users can use or create their own workflow step plugins.
Rundeck uses the NodeExecutor and FileCopier services as part of the process of executing these command types.
The procedure for executing an "exec" command is:
- load the NodeExecutor provider for the node and context.
- call the NodeExecutor#executeCommand method.
The procedure for executing a "script" command is:
- load the FileCopier provider for the node and context.
- call the FileCopier#copy* method.
- load the NodeExecutor provider for the node and context.
- Possibly execute an intermediate command (such as "chmod +x" on the copied file).
- execute the NodeExecutor#executeCommand method, passing the filepath of the copied file, and any arguments to the script command.
File Copier destination directory
When executing a Script step, the destination file path to be used when copying the script can be set using Node, Project, or Framework configuration values.
Node Attributes:
file-copy-destination-dir
: The directory on the remote node to copy the script file to before executing it. The default value isC:/WINDOWS/TEMP/
on Windows nodes, and/tmp
for other nodes.osFamily
: specify "windows" for windows nodes.
The file-copy-destination-dir
can be set at the project and framework level, and can have a default be specified depending on the osfamily as well:
In project.properties
file:
project.file-copy-destination-dir
- default for all nodes in projectproject.file-copy-destination-dir.[osfamily]
- default for nodes in the project with specified osfamily
In framework.properties
file:
framework.file-copy-destination-dir
- default for all nodes in frameworkframework.file-copy-destination-dir.[osfamily]
- default for nodes in the framework with specified osfamily
The order to determine the value is:
- node-specific
- project-os-specific
- project-specific
- framework-os-specific
- framework-specific
Built-in Node Execution plugins
Rundeck includes node execution plugins out of the box. For the lastest list check out this list of plugins