User Tools

Site Tools


scenario_file_format

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
scenario_file_format [2017/09/01 10:37] – [Syntax] mimbertscenario_file_format [2017/10/20 11:21] – [Grammar] mimbert
Line 13: Line 13:
  
 The scenario.yaml file is structured as follows: The scenario.yaml file is structured as follows:
-  * It MUST contain a //description// key, value pair whose value is a string: ''description: <string>'' +  * It //MUST// contain a //description// key, value pair whose value is a string: ''description: <string>'' 
-  * It MUST contain a //duration// key, value pair, whose value is an integer, the max experiment duration expressed in seconds: ''duration: <integer>'' +  * It //MUST// contain a //duration// key, value pair, whose value is an integer, the max experiment duration expressed in seconds: ''duration: <integer>'' 
-  * It MUST contain a //nodes// key, whose value is a mapping (aka hash, or dictionnary): ''nodes:''. This mapping MUST contain:+  * It //MUST// contain a //nodes// key, whose value is a mapping (aka hash, or dictionnary): ''nodes:''. This mapping //MUST// contain:
     * Nodes key, value pairs, whose keys are the node names (in the set //node1// to //node40//, and whose values are mappings:     * Nodes key, value pairs, whose keys are the node names (in the set //node1// to //node40//, and whose values are mappings:
-      * which MUST contain a //command// key, value pair, whose value is the command line string which will be run on the corresponding node: ''command: <string>''. Note that any filesystem path may be absolute or relative. If relative, it will be relative to the task top directory on the node. Note also that minus does NO magic with filesystem permissions, thus if a script or binary is to be executed, it needs to have executable permissions set before creating the task. +      * which //MUST// contain a //command// key, value pair, whose value is the command line string which will be run on the corresponding node: ''command: <string>''. Note that any filesystem path may be absolute or relative. If relative, it will be relative to the task top directory on the node. Note also that minus does NO magic with filesystem permissions, thus if a script or binary is to be executed, it needs to have executable permissions set before creating the task. The //command// may also, if needed, contain a list of commands to be executed, instead of a single command. All the commands will be executed in parallel on the node. In this case, the syntax is multiline: <code> 
-      * which MAY contain a //passive// key, value pair, whose value is a boolean (default is ''false''). A minus task will terminate when the first of the following conditions occur: its //duration// is exceeded or all its active nodes terminate.+nodes: 
 +  node1: 
 +    command: 
 +    - sleep 10000 
 +    - ./my_script 
 +</code> In the usual case where only one command is given, its stdout/stderr go to files //stdout.txt// and //stderr.txt//. In the case where more than one commands are given, their stdout/stderr go to files //stdout<X>.txt// and //stderr<X>.txt//, where X is the command index (starting from zero)
 +      * which //MAY// contain a //passive// key, value pair, whose value is a boolean (default is ''false''). A minus task will terminate when the first of the following conditions occur: its //duration// is exceeded or all its //active// nodes terminate.
  
 Thus, an example scenario could be: Thus, an example scenario could be:
scenario_file_format.txt · Last modified: 2023/08/29 15:29 by cmorin

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki