Software deployment » History » Version 3
Simon Lacroix, 2018-08-15 19:32
1 | 1 | Simon Lacroix | h1. Software deployment |
---|---|---|---|
2 | |||
3 | This pages presents the requirements of the set of tools that helps to easily configure, launch and run the robots on-board softwares. |
||
4 | |||
5 | h2. General requirements |
||
6 | |||
7 | * The tools must be very easy to use |
||
8 | * The tools must be very easy to maintain and update |
||
9 | * The tools must allow to specify and configure the softwares that will be run |
||
10 | * In a second step, the tools will endow means to supervise the execution of scenarios |
||
11 | |||
12 | h2. General principles |
||
13 | |||
14 | The following principles take very much after the "dala scripts" (see the git repo: git+ssh://softs.laas.fr/git/robots/dala-scripts.git ), the main file names in this suite are referred to hereafter. |
||
15 | |||
16 | # A shell script: (see shell-script/start.sh) |
||
17 | 2 | Simon Lacroix | * sets a series of environment variables required to launch the softwares (in particular, a LOGDIR) |
18 | 3 | Simon Lacroix | * Interprets the "main configuration file" that specifies which softwares must be launched (a software can be a ROS node, a Genom3 module, some utilities -- e.g. display server, redirection of the GPS correction data to the proper device, ... what else ?) |
19 | 2 | Simon Lacroix | * Properly launches each software -- and warn the user in case launch failed |
20 | 3 | Simon Lacroix | * Redirects standard and error outputs of each software into dedicated files in LOGDIR |
21 | 1 | Simon Lacroix | |
22 | A companion shell-scripts terminates "in a clean manner" all the launched softwares |
||
23 | 3 | Simon Lacroix | |
24 | # A python interpreter is launched, loading: |
||
25 | * For each launched module/node, a .py file that contains: |
||
26 | * The set of parameters associated to the software (mainly initialisation parameters, but also functioning mode, ...) |
||
27 | * A series of "generic" functions: init/start, run, log, stop-log (some doing nothing if they are not implemented in the software) |
||
28 | |||
29 | |||
30 | |||
31 | h2. Some details |
||
32 | |||
33 | * It would be nice to execute the launch shell script with the main configuration file as an argument (so that one can manage a series of configuration files) |