3.7. RCE’s Command Console

RCE features a command console.
This command console is accessible via the command console view in RCE’s desktop mode or via SSH. Commands consist of one or two tokens e.g. "wf" for one token and "wf run" for two tokens. A list of all commands is shown in section Section 3.7.1, “Commands”. In addition, some commands can be provided with parameters. There are three types of parameters. These types and their uses are explained in section Section 3.7.2, “Parameters”.

3.7.1. Commands

Commands are structured in groups. A command group is defined by the first token of a command. This means, that commands like "wf run" and "wf verify" are in the same command group. Some command groups like "mail" consist only of a single command. For each group there is a table explaining all the related commands.

The 'auth' command

CommandDescription

auth

Alias for "auth list".

auth create <group id>

Creates a new authorization group.

<group id>: an identifier consisting of 2-32 letters, numbers, underscores ("_") and/or brackets

auth delete <group id>

Deletes a local authorization group.

<group id>: an identifier consisting of 2-32 letters, numbers, underscores ("_") and/or brackets

auth export <group id>

Exports a group as an invitation string that can be imported by another node, allowing that other node to join this group.

<group id>: an identifier consisting of 2-32 letters, numbers, underscores ("_") and/or brackets

auth import <invitation string>

Imports a group from an invitation string that was previously exported on another node.

<invitation string>: imports a group from an invitation string that was previously exported on another node

auth list

Lists the authorization groups that the local node belongs too.

The 'cn' command

CommandDescription

cn

Alias for "cn list".

cn add <target> <description>

Add a new network connection (Example: cn add activemq-tcp:rceserver.example.com:20001 "Our RCE Server").

<target>: target of the connection
<description>: description of the connection

cn list

Lists all network connections, including ids and connection states.

cn start <id>

Starts/connects a READY or DISCONNECTED connection (use "cn list" to get the id).

<id>: id of the connection

cn stop <id>

Stops/disconnects an ESTABLISHED connection (use "cn list" to get the id).

<id>: id of the connection

The 'components' command

CommandDescription

components [--local|-l] [--remote|-r] [--as-table|-t]

Alias for "components list".

[--local|-l]: only list components provided by the local node
[--remote|-r]: only list components provided by the remote node(s)
[--as-table|-t]: format the output as a table that is especially suited for automated parsing

components list [--local|-l] [--remote|-r] [--as-table|-t]

Show available components; by default, components on the local node as well as those published by a reachable remote node are listed.

[--local|-l]: only list components provided by the local node
[--remote|-r]: only list components provided by the remote node(s)
[--as-table|-t]: format the output as a table that is especially suited for automated parsing

components list-auth

Shows a list of all defined authorization settings. Note that these settings are independent of whether a matching component exists, which means that settings are kept when a component is removed and later added again.

components set-auth <component id> <groups…​>

Assigns a list of authorization groups to a component id; note that authorization settings always apply to all components with using this id, regardless of the component’s version.

<component id>: A component’s id as listed by the "components list" command, e.g. "rce/Parametric Study", "common/MyIntegratedTool", or "cpacs/MyCpacsTool".
<groups…​>: list of authorization groups

components show <component id>

Show component definition.

<component id>: A component’s id as listed by the "components list" command, e.g. "rce/Parametric Study", "common/MyIntegratedTool", or "cpacs/MyCpacsTool".

The 'explain' command

CommandDescription

explain

Show tokens.

The 'help' command

CommandDescription

help <command group> [--details|-d] [--dev] [--asciidoc]

List available commands.

<command group>: (optional) the command group of which the commands should be shown
[--details|-d]: show details of the commands
[--dev]: show dev commands
[--asciidoc]: output in asciidoc format

The 'keytool' command

CommandDescription

keytool ssh-pw

Generates a password for an SSH or Uplink connection, and the corresponding server entry.

keytool uplink-pw

Generates a password for an SSH or Uplink connection, and the corresponding server entry.

The 'mail' command

CommandDescription

mail <recipient> <subject> <body>

Send an email.

<recipient>: recipient of the e-mail
<subject>: subject of the e-mail
<body>: body of the e-mail

The 'net' command

CommandDescription

net

Alias for 'net info'.

net filter

Show IP filter status.

net info

Show a list of reachable RCE nodes.

net reload-filter

Reloads the IP filter configuration.

The 'ra-admin' command

CommandDescription

ra-admin list-wfs

Lists the ids of all published workflows.

ra-admin publish-wf <workflow file> <workflow id> [-g <group name>] [-p <JSON placeholder file>] [--keep-data|-k] [--temporary|-t]

Publishes a workflow file for remote execution via "ra run-wf" using <id>.

<workflow file>: the file of the workflow
<workflow id>: id of the workflow
[-g <group name>]: set group name
[-p <JSON placeholder file>]: JSON placeholder file
[--keep-data|-k]: workflow data will not be deleted
[--temporary|-t]: automatically unpublish when RCE shuts down

ra-admin unpublish-wf <workflow id>

Unpublishes (removes) the workflow file with id <id> from remote execution.

<workflow id>: id of the workflow

The 'restart' command

CommandDescription

restart

Restart RCE.

The 'saveto' command

CommandDescription

saveto <output file> <command>

Save the command output to a file.

<output file>: file to which the output will be written
<command>: command whos output will be saved, does not have to be surounded by quotation marks

The 'shutdown' command

CommandDescription

shutdown

Shut down RCE.

The 'ssh' command

CommandDescription

ssh

Short form of "ssh list".

ssh add <display name> <host> <port> <username> <key file location>

Add a new ssh connection.

<display name>: display name for the ssh connection
<host>: host for the ssh connection
<port>: port for the ssh connection
<username>: username for the ssh connection
<key file location>: location of the key file

ssh list

Lists all ssh connections, including ids and connection states.

ssh start <id>

Starts/connects an ssh connection (use " ssh list" to get the id).

<id>: id for the ssh connection

ssh stop <id>

Stops/disconnects an ssh connection (use " ssh list" to get the id).

<id>: id for the ssh connection

The 'stop' command

CommandDescription

stop

Shut down RCE (alias of "shutdown").

The 'sysmon' command

CommandDescription

sysmon [--local|-l] [--remote|-r]

Basic system-monitoring information.

[--local|-l]: prints system monitoring data for the local instance
[--remote|-r]: fetches system monitoring data from all reachable nodes in the network, and prints it in a human-readable format

sysmon api <operation: default|avgcpu+ram> <time span> <time limit>

Fetches system monitoring data from all reachable nodes in the network,and prints it in a parser-friendly format.

<operation: default|avgcpu+ram>: operation to perform; avgcpu+ram: fetches the average CPU load over the given time span and the current free RAM
<time span>: the maximum time span (in seconds) to aggregate load data over
<time limit>: the maximum time (in milliseconds) to wait for each node’s load data response

sysmon remote

Fetches system monitoring data from all reachable nodes in the network, and prints it in a human-readable format.

The 'uplink' command

CommandDescription

uplink

Short form for "uplink list".

uplink add <display name> <host> <port> <username> <key file location> <client id> <is gateway>

Add a new uplink connection.

<display name>: display name
<host>: host ip adress
<port>: port for the ssh connection
<username>: username
<key file location>: location of the keyfile
<client id>: id of the client
<is gateway>: controls the isGateway property of the uplink

uplink list

Lists all uplink connections, including ids and connection states.

uplink start <id>

Starts/connects an uplink connection (use " uplink list" to get the id).

<id>: id of the uplink

uplink stop <id>

Stops/disconnects an uplink connection (use " uplink list" to get the id).

<id>: id of the uplink

The 'version' command

CommandDescription

version [--detailed|-d]

Print version information.

[--detailed|-d]: Show detailed information about the version

The 'wf' command

CommandDescription

wf

Alias for "wf list".

wf cancel <id>

Cancel a running or paused workflow.

<id>: id of the workflow

wf delete <id>

Delete and dispose a finished, cancelled or failed workflow.

<id>: id of the workflow

wf details <id>

Show details of a workflow.

<id>: id of the workflow

wf dispose <id>

Disposes a finished, cancelled or failed workflow.

<id>: id of the workflow

wf list

Show workflow list.

wf open <id>

Open a runtime viewer of a workflow. Requires GUI.

<id>: id of the workflow

wf pause <id>

Pause a running workflow.

<id>: id of the workflow

wf resume <id>

Resume a paused workflow.

<id>: id of the workflow

wf run <workflow file> [--delete <onfinished|never|always>] [--dispose <onfinished|never|always>] [-p <JSON placholder file>] [--compact-output|-c]

Starts a workflow from the given file and waits for its completion.

<workflow file>: path to the workflow file
[--delete <onfinished|never|always>]: deletion behaviour
[--dispose <onfinished|never|always>]: dispose behaviour
[-p <JSON placholder file>]: JSON placeholder file
[--compact-output|-c]: This is a command flag

wf start <workflow file> [--delete <onfinished|never|always>] [--dispose <onfinished|never|always>] [-p <JSON placholder file>] [--compact-output|-c]

Starts a workflow from the given file and returns its workflow id if validation passed.

<workflow file>: path to the workflow file
[--delete <onfinished|never|always>]: deletion behaviour
[--dispose <onfinished|never|always>]: dispose behaviour
[-p <JSON placholder file>]: JSON placeholder file
[--compact-output|-c]: This is a command flag

wf verify <workflows…​> [--delete <onfinished|never|always>] [--dispose <onfinished|never|always>] [--pr <parallel runs>] [--sr <sequential runs>] [-p <JSON placholder file>] [--basedir <base directory>] [--includedirs <include directory…​>]

Batch test the specified workflow files.

<workflows…​>: list of workflow files
[--delete <onfinished|never|always>]: deletion behaviour
[--dispose <onfinished|never|always>]: dispose behaviour
[--pr <parallel runs>]: number of parallel runs
[--sr <sequential runs>]: number of sequential runs
[-p <JSON placholder file>]: JSON placeholder file
[--basedir <base directory>]: optional base directory
[--includedirs <include directory…​>]: optional include directorys

The 'wf-integrate' command

CommandDescription

wf-integrate <toolname> <workflow file> [--expose <ComponentName:OutputName:ExposedName,…​>] [--expose-inputs <ComponentName:OutputName:ExposedName,…​>] [--expose-outputs <ComponentName:OutputName:ExposedName,…​>] [--verbose|-v]

Integrate a workflow file as a component.

<toolname>: name for the tool
<workflow file>: workflow to be integrated
[--expose <ComponentName:OutputName:ExposedName,…​>]: elements of the workflow to expose (see User Guide)
[--expose-inputs <ComponentName:OutputName:ExposedName,…​>]: elements of the workflow to expose (see User Guide)
[--expose-outputs <ComponentName:OutputName:ExposedName,…​>]: elements of the workflow to expose (see User Guide)
[--verbose|-v]: enable verbose output

3.7.2. Parameters

RCE commands can use three different types of parameters. These are positional parameters, named parameters and flags. Positional and named parameters take at least one value. However, some of them also take a list parameters. List parameters are denoted by three dots after their name in the tables above, while parameters that take only a single value do not have it, e.g. <parameter…​>. Multiple values for list parameters are entered using comma separation, e.g. value0, value1, value2.

Positional Parameters

Positional parameters must be entered immediately after a command. The order of the parameters must be followed for the command to process the parameters correctly. After all positional parameters have been entered, other types of parameters can be entered.

Named Parameters

Named parameters are optional parameters. The command input of these parameters always start with a double dash, e.g. --name. The value must be specified after the parameter name.

Command Flags

Command flags are used to modify the operation of a command. They are always optional. Flags start with a dash or a double dash. A single dash is used for flags consisting of only a single character, e.g. -a. Double dash is used for flags composed of more than one letter, e.g. --all. This long form is more descriptive and is therefore easier to understand. Command flags can have both long and short form, e.g. -a and --all, which do not differ in execution.

3.7.2.1. Configuration Placeholder Value Files

Some workflow components use placeholders for configuration values. The values for the placeholders are defined at workflow start. When executing workflows from the command line (e.g. in headless or batch mode), the placeholder’s values must be defined in a file, which will be passed to the command with the -p option. Placeholder value files have following format:

{
	<component id>/<component version> : {
		<configuration placeholder id> : <configuration value>
	},
	<component id>/<component version>/<component instance name> : {
		<configuration placeholder id> : <configuration value>Usage
	}
}

Note

Every id and every value must be in enclosed in double quotes ("…​").

The component id is the id string of a component (e.g. de.rcenvironment.script), the component version is the version of the component that is used in the workflow (e.g. 3.4). There are two ways of defining values for configuration placeholders: per component type and per component instance. When defined per component type, the id and version must be specified (e.g. "de.rcenvironment.script/3.4"). When defined per component instance the component id, component version, and the name of the component in the workflow must be specified (e.g. "de.rcenvironment.inputprovider/MyFile"). In both cases, the configuration placeholder id, which is the name of the configuration placeholder, and the actual configuration value must be specified. Component instance values override component type values.

Note

It is possible to mix component type and component instance values.

Below is an example placeholder value file, which defines one placeholder value (component type) for the input provider component and a placeholder value (component instance) for a specified input provider component of the workflow:

{
	"de.rcenvironment.inputprovider/3.2": {
		"inputFile": "C:/input/globalInputFile.txt"
	},
	"de.rcenvironment.inputprovider/3.2/Provider 1" : {
		"inputFile": "C:/input/Provider1.txt"
	}
}

The following table lists components and their configuration placeholders.

ComponentComponent ID and VersionConfiguration Placeholders

Cluster

de.rcenvironment.cluster/3.1

authuser - user name
authphrase - password (base64 encoded)

Input Provider

de.rcenvironment.inputprovider/3.2

<output name> - value of output

Output Writer

de.rcenvironment.outputwriter/2.1

targetRootFolder - path to target root folder

Script

de.rcenvironment.script/3.5

pythonExecutionPath - path to the Python executable (only required if Python is set as script language)