Remote Execution Action Plugin
Overview
This action plugin executes a script or executable on a remote node
Saved Parameters Description
This action allows the user to execute a script or executable on a remote node and grab one or more output variables.
- Name: The name used to identify a saved RemoteExecution configured instance.
- Comments: Comments associated to this template or configuration.
- Time out: The time out after which the remote command exection will be terminated.
- Standard I/O: This section allows to specify the reporting frequency for stderr and stdio, and whether the remote action outputs should be reported as an array if 'Is multiline?' is checked. If the output covers multiple lines and 'Is multiline?' is not checked, only the first line will be put into the stdio output variable.
- Mandatory inputs: This section allows to specify the variables that the action will expose as mandatory inputs. An input variable can be accessed in the command line specification with the notation <%=variable_name%>
- Optional inputs: This section allows to specify the variables that the action will expose as optional inputs. An input variable can be accessed in the command line specification with the notation <%=variable_name%>
- Formatted outputs: This section allows to specify the values that the step will produce as outputs. Refer to the operation section to know how to specify the values.
- Formatted outputs processing code: This section allows to specify the ruby code that will be executed once the remote command has completed. This code can access the standard output of the remote command execution via @outputs[VARIABLE_STDIO] if multiline is false or @outputs[VARIABLE_MULTILINE] if multiline is true; the exit code can be retrieved via @outputs[VARIABLE_EXITCODE]
- Remote execution node: The remote node to execute the command from. List of already configured Remote Nodes.
- Execution server address: The remote node address.
- Use server address: Uses the provided server address instead of the remote node address.
- Execution account: The user name and password to use for connecting to the remote server via SSH. If empty, take the login/password specified in the remote node.
Inputs Description
The run time inputs of this action depend on how the configuration is done. Variables exposed in the command line will be exposed as mandatory inputs.
- Execution_node: The remote node to execute the command from.
- Execution_login: The login name to access the remote node (optional).
- Execution_password: The password to access the remote node (optional).
Outputs Description
This action executes the provided command line via an SSH session to the remote node.
- exit_code: The exit code of the remote execution. If the exit code is different from 0, the plugin will return in error.
- stdio: The standard output produced by the remote execution if multiline is false.
- Multi: The standard output produced by the remote execution if multiline is true. It comes as an array, one entry per standard output line.
Additional outputs might be available depending on the step configuration.
Supported Actions
None
Dependencies
None
Operating Instructions
When a stdio frequency is provided, the standard output out of the executed command is streamed to the plugin status message. Otherwise it goes into the stdio output variable.
When a stderr frequency is provided, the standard error out of the executed command is streamed to the plugin status message. Otherwise it goes into the Orchestrator log file.
'-#STATUS--#--STATUS MESSAGE#-'
Either STATUS or STATUS MESSAGE can be left empty.
- '-#Paused--#--Remote action was paused#-' -> would update the status and status message
- '-#--#--File tester.txt was scanned successfully#-' -> would update just the status message
echo "-#Paused--#--Remote action was paused#-"
'-#OUTPUT:VARIABLE NAME--#--VARIABLE VALUE#-'
Example: '-#OUTPUT:size--#--120568#-' -> populates an output entry
@outputs['size']=120568, if an output named size of type TYPE_INT
is specified. md5sum $1 | cut -d' ' -f1
echo "-#OUTPUT:size--#--120568#-"
echo "titi"
exit 2
size 120568
exit_code 2
Multi ["45c2d08009be4a2307eddd4f0bd10a8f","titi"]
45c2d08009be4a2307eddd4f0bd10a8f is the md5 checksum for the file passed as first parameter of the shell script ($1)
Example of the same shell script returning an error 2; output variable 'size'; multiline false:
size 120568
exit_code 2
stdio 45c2d08009be4a2307eddd4f0bd10a8f
titi
For environment variables to be settable over SSH, the /etc/ssh/sshd_config must be modified first (on Isilon, the file is at /etc/mcp/templates/sshd_config), add a line at the end of the file to whitelist the env variable required:AcceptEnv [env_variable_1] [env_variable_2] [...] sshd must then be restarted for the changes to take effect.